+ "-nm=count" => { nmode = NumberMode::Counter; },
+ "-nm=pktpts" => { nmode = NumberMode::PktPTS; },
+ "-nm=frmpts" => { nmode = NumberMode::FrmPTS; },
+ "-skip=key" => { smode = FrameSkipMode::KeyframesOnly; },
+ "-skip=intra" => { smode = FrameSkipMode::IntraOnly; },
+ "-seek" => {
+ cur_arg += 1;
+ if cur_arg == args.len() {
+ println!("seek time missing");
+ return;
+ }
+ let ret = args[cur_arg].parse::<NATimePoint>();
+ if ret.is_err() {
+ println!("wrong seek time");
+ return;
+ }
+ seek_time = ret.unwrap();
+ },
+ "-apfx" => {
+ cur_arg += 1;
+ if cur_arg == args.len() {
+ println!("name missing");
+ return;
+ }
+ apfx = Some(&args[cur_arg]);
+ },
+ "-vpfx" => {
+ cur_arg += 1;
+ if cur_arg == args.len() {
+ println!("name missing");
+ return;
+ }
+ vpfx = Some(args[cur_arg].clone());
+ },
+ "-demuxer" => {
+ cur_arg += 1;
+ if cur_arg == args.len() {
+ println!("name missing");
+ return;
+ }
+ force_dmx = Some(&args[cur_arg]);
+ },
+ "-print_mov_chunks" => {
+ demux_opts.push(NAOption{name: "print_chunks", value: NAValue::Bool(true) });
+ },
+ "-ignerr" => { ignore_errors = true; },
+ "-dumpfrm" => { dump_frames = true; },