X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fformat.c;h=cc214741bd097d263309a56508d03c5a39889de0;hb=131f2c2712479a44332866b442526abe97e0c316;hp=75951938cf054eceb0f483e312d5f1c1e3660542;hpb=a7109b82c4ab86a7ae75ad34245af918f1a26b95;p=ffmpeg diff --git a/libavformat/format.c b/libavformat/format.c index 75951938cf0..cc214741bd0 100644 --- a/libavformat/format.c +++ b/libavformat/format.c @@ -48,13 +48,12 @@ int av_match_ext(const char *filename, const char *extensions) return 0; } -AVOutputFormat *av_guess_format(const char *short_name, const char *filename, - const char *mime_type) +const AVOutputFormat *av_guess_format(const char *short_name, const char *filename, + const char *mime_type) { - AVOutputFormat *fmt = NULL, *fmt_found; -#if !FF_API_NEXT + const AVOutputFormat *fmt = NULL; + AVOutputFormat *fmt_found = NULL; void *i = 0; -#endif int score_max, score; /* specific test for image sequences */ @@ -66,15 +65,8 @@ AVOutputFormat *av_guess_format(const char *short_name, const char *filename, } #endif /* Find the proper file type. */ - fmt_found = NULL; score_max = 0; -#if FF_API_NEXT -FF_DISABLE_DEPRECATION_WARNINGS - while ((fmt = av_oformat_next(fmt))) -#else - while ((fmt = av_muxer_iterate(&i))) -#endif - { + while ((fmt = av_muxer_iterate(&i))) { score = 0; if (fmt->name && short_name && av_match_name(short_name, fmt->name)) score += 100; @@ -86,21 +78,18 @@ FF_DISABLE_DEPRECATION_WARNINGS } if (score > score_max) { score_max = score; - fmt_found = fmt; + fmt_found = (AVOutputFormat*)fmt; } } -#if FF_API_NEXT -FF_ENABLE_DEPRECATION_WARNINGS -#endif return fmt_found; } -enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, +enum AVCodecID av_guess_codec(const AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type) { if (av_match_name("segment", fmt->name) || av_match_name("ssegment", fmt->name)) { - AVOutputFormat *fmt2 = av_guess_format(NULL, filename, NULL); + const AVOutputFormat *fmt2 = av_guess_format(NULL, filename, NULL); if (fmt2) fmt = fmt2; } @@ -126,29 +115,22 @@ enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, return AV_CODEC_ID_NONE; } -AVInputFormat *av_find_input_format(const char *short_name) +const AVInputFormat *av_find_input_format(const char *short_name) { - AVInputFormat *fmt = NULL; -#if FF_API_NEXT -FF_DISABLE_DEPRECATION_WARNINGS - while ((fmt = av_iformat_next(fmt))) - if (av_match_name(short_name, fmt->name)) - return fmt; -FF_ENABLE_DEPRECATION_WARNINGS -#else + const AVInputFormat *fmt = NULL; void *i = 0; while ((fmt = av_demuxer_iterate(&i))) if (av_match_name(short_name, fmt->name)) - return fmt; -#endif + return (AVInputFormat*)fmt; return NULL; } -AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, - int *score_ret) +const AVInputFormat *av_probe_input_format3(const AVProbeData *pd, + int is_opened, int *score_ret) { AVProbeData lpd = *pd; - AVInputFormat *fmt1 = NULL, *fmt; + const AVInputFormat *fmt1 = NULL; + const AVInputFormat *fmt = NULL; int score, score_max = 0; void *i = 0; const static uint8_t zerobuffer[AVPROBE_PADDING_SIZE]; @@ -175,7 +157,6 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, nodat = ID3_GREATER_PROBE; } - fmt = NULL; while ((fmt1 = av_demuxer_iterate(&i))) { if (!is_opened == !(fmt1->flags & AVFMT_NOFILE) && strcmp(fmt1->name, "image2")) continue; @@ -221,10 +202,11 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, return fmt; } -AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max) +const AVInputFormat *av_probe_input_format2(const AVProbeData *pd, + int is_opened, int *score_max) { int score_ret; - AVInputFormat *fmt = av_probe_input_format3(pd, is_opened, &score_ret); + const AVInputFormat *fmt = av_probe_input_format3(pd, is_opened, &score_ret); if (score_ret > *score_max) { *score_max = score_ret; return fmt; @@ -232,15 +214,15 @@ AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score return NULL; } -AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened) +const AVInputFormat *av_probe_input_format(const AVProbeData *pd, int is_opened) { int score = 0; return av_probe_input_format2(pd, is_opened, &score); } -int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, - const char *filename, void *logctx, - unsigned int offset, unsigned int max_probe_size) +int av_probe_input_buffer2(AVIOContext *pb, const AVInputFormat **fmt, + const char *filename, void *logctx, + unsigned int offset, unsigned int max_probe_size) { AVProbeData pd = { filename ? filename : "" }; uint8_t *buf = NULL; @@ -269,14 +251,6 @@ int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, *semi = '\0'; } } -#if 0 - if (!*fmt && pb->av_class && av_opt_get(pb, "mime_type", AV_OPT_SEARCH_CHILDREN, &mime_type) >= 0 && mime_type) { - if (!av_strcasecmp(mime_type, "audio/aacp")) { - *fmt = av_find_input_format("aac"); - } - av_freep(&mime_type); - } -#endif for (probe_size = PROBE_BUF_MIN; probe_size <= max_probe_size && !*fmt; probe_size = FFMIN(probe_size << 1, @@ -336,7 +310,7 @@ fail: return ret < 0 ? ret : score; } -int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, +int av_probe_input_buffer(AVIOContext *pb, const AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size) {