[FFmpeg-cvslog] r20987 - in trunk: ffserver.c libavformat/avformat.h libavformat/utils.c

stefano subversion
Thu Dec 31 15:12:58 CET 2009


Author: stefano
Date: Thu Dec 31 15:12:58 2009
New Revision: 20987

Log:
Deprecate and mark for deletion the function guess_stream_format(),
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.

Modified:
   trunk/ffserver.c
   trunk/libavformat/avformat.h
   trunk/libavformat/utils.c

Modified: trunk/ffserver.c
==============================================================================
--- trunk/ffserver.c	Thu Dec 31 02:27:47 2009	(r20986)
+++ trunk/ffserver.c	Thu Dec 31 15:12:58 2009	(r20987)
@@ -3731,6 +3731,25 @@ static int ffserver_opt_default(const ch
     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 *fi
                     }
                 }
 
-                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 *fi
                     /* 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);

Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h	Thu Dec 31 02:27:47 2009	(r20986)
+++ trunk/libavformat/avformat.h	Thu Dec 31 15:12:58 2009	(r20987)
@@ -712,9 +712,11 @@ enum CodecID av_guess_image2_codec(const
 /* 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);

Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c	Thu Dec 31 02:27:47 2009	(r20986)
+++ trunk/libavformat/utils.c	Thu Dec 31 15:12:58 2009	(r20987)
@@ -219,6 +219,7 @@ AVOutputFormat *guess_format(const char 
     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(cons
 
     return fmt;
 }
+#endif
 
 enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
                             const char *filename, const char *mime_type, enum CodecType type){



More information about the ffmpeg-cvslog mailing list