You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Make ffprobe able to set AVFormatContext options.
Originally committed as revision 25187 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -39,6 +39,7 @@ version <next>: | ||||
| - frei0r wrapper filter | ||||
| - change crop filter syntax to width:height:x:y | ||||
| - make the crop filter accept parametric expressions | ||||
| - make ffprobe accept AVFormatContext options | ||||
|  | ||||
|  | ||||
| version 0.6: | ||||
|   | ||||
							
								
								
									
										15
									
								
								ffprobe.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								ffprobe.c
									
									
									
									
									
								
							| @@ -269,6 +269,7 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename) | ||||
|     AVFormatContext *fmt_ctx; | ||||
|  | ||||
|     fmt_ctx = avformat_alloc_context(); | ||||
|     set_context_opts(fmt_ctx, avformat_opts, AV_OPT_FLAG_DECODING_PARAM); | ||||
|  | ||||
|     if ((err = av_open_input_file(&fmt_ctx, filename, iformat, 0, NULL)) < 0) { | ||||
|         print_error(filename, err); | ||||
| @@ -353,9 +354,12 @@ static void opt_input_file(const char *arg) | ||||
|  | ||||
| static void show_help(void) | ||||
| { | ||||
|     av_log_set_callback(log_callback_help); | ||||
|     show_usage(); | ||||
|     show_help_options(options, "Main options:\n", 0, 0); | ||||
|     printf("\n"); | ||||
|     av_opt_show2(avformat_opts, NULL, | ||||
|                  AV_OPT_FLAG_DECODING_PARAM, 0); | ||||
| } | ||||
|  | ||||
| static void opt_pretty(void) | ||||
| @@ -381,16 +385,21 @@ static const OptionDef options[] = { | ||||
|     { "show_format",  OPT_BOOL, {(void*)&do_show_format} , "show format/container info" }, | ||||
|     { "show_packets", OPT_BOOL, {(void*)&do_show_packets}, "show packets info" }, | ||||
|     { "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" }, | ||||
|     { "default", OPT_FUNC2 | HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {(void*)opt_default}, "generic catch all option", "" }, | ||||
|     { NULL, }, | ||||
| }; | ||||
|  | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
|     int ret; | ||||
|  | ||||
|     av_register_all(); | ||||
| #if CONFIG_AVDEVICE | ||||
|     avdevice_register_all(); | ||||
| #endif | ||||
|  | ||||
|     avformat_opts = avformat_alloc_context(); | ||||
|  | ||||
|     show_banner(); | ||||
|     parse_options(argc, argv, options, opt_input_file); | ||||
|  | ||||
| @@ -401,5 +410,9 @@ int main(int argc, char **argv) | ||||
|         exit(1); | ||||
|     } | ||||
|  | ||||
|     return probe_file(input_filename); | ||||
|     ret = probe_file(input_filename); | ||||
|  | ||||
|     av_free(avformat_opts); | ||||
|  | ||||
|     return ret; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user