OSDN Git Service

Deprecate and mark for deletion the function guess_stream_format(),
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 31 Dec 2009 14:12:58 +0000 (14:12 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Thu, 31 Dec 2009 14:12:58 +0000 (14:12 +0000)
and clone its code to ffserver_guess_format() in ffserver.c.

guess_stream_format() is hackish since it relies on some undocumented
properties of the name of the muxers (wich is currently only relevant
for the ASF muxer), and has no use outside ffserver.c.

Originally committed as revision 20987 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffserver.c
libavformat/avformat.h
libavformat/utils.c

index fdb504f..23665a1 100644 (file)
@@ -3731,6 +3731,25 @@ static int ffserver_opt_default(const char *opt, const char *arg,
     return ret;
 }
 
+static AVOutputFormat *ffserver_guess_format(const char *short_name, const char *filename,
+                                             const char *mime_type)
+{
+    AVOutputFormat *fmt = guess_format(short_name, filename, mime_type);
+
+    if (fmt) {
+        AVOutputFormat *stream_fmt;
+        char stream_format_name[64];
+
+        snprintf(stream_format_name, sizeof(stream_format_name), "%s_stream", fmt->name);
+        stream_fmt = guess_format(stream_format_name, NULL, NULL);
+
+        if (stream_fmt)
+            fmt = stream_fmt;
+    }
+
+    return fmt;
+}
+
 static int parse_ffconfig(const char *filename)
 {
     FILE *f;
@@ -3972,7 +3991,7 @@ static int parse_ffconfig(const char *filename)
                     }
                 }
 
-                stream->fmt = guess_stream_format(NULL, stream->filename, NULL);
+                stream->fmt = ffserver_guess_format(NULL, stream->filename, NULL);
                 /* fetch avclass so AVOption works
                  * FIXME try to use avcodec_get_context_defaults2
                  * without changing defaults too much */
@@ -4020,7 +4039,7 @@ static int parse_ffconfig(const char *filename)
                     /* jpeg cannot be used here, so use single frame jpeg */
                     if (!strcmp(arg, "jpeg"))
                         strcpy(arg, "mjpeg");
-                    stream->fmt = guess_stream_format(arg, NULL, NULL);
+                    stream->fmt = ffserver_guess_format(arg, NULL, NULL);
                     if (!stream->fmt) {
                         fprintf(stderr, "%s:%d: Unknown Format: %s\n",
                                 filename, line_num, arg);
index 8e8ab91..a719937 100644 (file)
@@ -712,9 +712,11 @@ enum CodecID av_guess_image2_codec(const char *filename);
 /* utils.c */
 void av_register_input_format(AVInputFormat *format);
 void av_register_output_format(AVOutputFormat *format);
-AVOutputFormat *guess_stream_format(const char *short_name,
+#if LIBAVFORMAT_VERSION_MAJOR < 53
+attribute_deprecated AVOutputFormat *guess_stream_format(const char *short_name,
                                     const char *filename,
                                     const char *mime_type);
+#endif
 AVOutputFormat *guess_format(const char *short_name,
                              const char *filename,
                              const char *mime_type);
index d7241f5..5eb360c 100644 (file)
@@ -219,6 +219,7 @@ AVOutputFormat *guess_format(const char *short_name, const char *filename,
     return fmt_found;
 }
 
+#if LIBAVFORMAT_VERSION_MAJOR < 53
 AVOutputFormat *guess_stream_format(const char *short_name, const char *filename,
                              const char *mime_type)
 {
@@ -237,6 +238,7 @@ AVOutputFormat *guess_stream_format(const char *short_name, const char *filename
 
     return fmt;
 }
+#endif
 
 enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
                             const char *filename, const char *mime_type, enum CodecType type){