1
1
extern crate mp4parse;
2
2
extern crate mp4parse_capi;
3
3
4
+ #[ macro_use]
5
+ extern crate log;
6
+
7
+ extern crate env_logger;
8
+
4
9
use std:: env;
5
10
use std:: fs:: File ;
6
11
use std:: io:: Read ;
@@ -15,7 +20,7 @@ extern fn buf_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_voi
15
20
}
16
21
}
17
22
18
- fn dump_file ( filename : & str , verbose : bool ) {
23
+ fn dump_file ( filename : & str ) {
19
24
let mut file = File :: open ( filename) . expect ( "Unknown file" ) ;
20
25
let io = Mp4parseIo {
21
26
read : Some ( buf_read) ,
@@ -25,10 +30,6 @@ fn dump_file(filename: &str, verbose: bool) {
25
30
unsafe {
26
31
let parser = mp4parse_new ( & io) ;
27
32
28
- if verbose {
29
- mp4parse_log ( true ) ;
30
- }
31
-
32
33
match mp4parse_read ( parser) {
33
34
Mp4parseStatus :: Ok => ( ) ,
34
35
_ => {
@@ -122,18 +123,23 @@ fn main() {
122
123
if args. len ( ) < 2 {
123
124
return ;
124
125
}
126
+
127
+ // Initialize logging, setting the log level if requested.
125
128
let ( skip, verbose) = if args[ 1 ] == "-v" {
126
129
( 2 , true )
127
130
} else {
128
131
( 1 , false )
129
132
} ;
133
+ let env = env_logger:: Env :: default ( ) ;
134
+ let mut logger = env_logger:: Builder :: from_env ( env) ;
135
+ if verbose {
136
+ logger. filter ( None , log:: LevelFilter :: Debug ) ;
137
+ }
138
+ logger. init ( ) ;
139
+
130
140
for filename in args. iter ( ) . skip ( skip) {
131
- if verbose {
132
- println ! ( "-- dump of '{}' --" , filename) ;
133
- }
134
- dump_file ( filename, verbose) ;
135
- if verbose {
136
- println ! ( "-- end of '{}' --" , filename) ;
137
- }
141
+ info ! ( "-- dump of '{}' --" , filename) ;
142
+ dump_file ( filename) ;
143
+ info ! ( "-- end of '{}' --" , filename) ;
138
144
}
139
145
}
0 commit comments