[FFmpeg-cvslog] ffserver_config: reflow add_codec()

Reynaldo H. Verdejo Pinochet git at videolan.org
Tue Dec 9 05:12:35 CET 2014


ffmpeg | branch: master | Reynaldo H. Verdejo Pinochet <reynaldo at osg.samsung.com> | Mon Dec  8 18:32:22 2014 -0300| [720dffb843aa780d25b7be224c63ffc0aba13671] | committer: Reynaldo H. Verdejo Pinochet

ffserver_config: reflow add_codec()

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo at osg.samsung.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=720dffb843aa780d25b7be224c63ffc0aba13671
---

 ffserver_config.c |   52 ++++++++++++++++++++++++++++------------------------
 1 file changed, 28 insertions(+), 24 deletions(-)

diff --git a/ffserver_config.c b/ffserver_config.c
index d17b57e..017af48 100644
--- a/ffserver_config.c
+++ b/ffserver_config.c
@@ -195,13 +195,38 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
     av_dict_copy(&recommended, *opts, 0);
     av_opt_set_dict2(av->priv_data, opts, AV_OPT_SEARCH_CHILDREN);
     av_opt_set_dict2(av, opts, AV_OPT_SEARCH_CHILDREN);
+
     if (av_dict_count(*opts))
         av_log(NULL, AV_LOG_WARNING,
                "Something is wrong, %d options are not set!\n",
                av_dict_count(*opts));
 
-    if (config->stream_use_defaults) {
-    //TODO: reident
+    if (!config->stream_use_defaults) {
+        switch(av->codec_type) {
+        case AVMEDIA_TYPE_AUDIO:
+            if (av->bit_rate == 0)
+                report_config_error(config->filename, config->line_num,
+                                    AV_LOG_ERROR, &config->errors,
+                                    "audio bit rate is not set\n");
+            if (av->sample_rate == 0)
+                report_config_error(config->filename, config->line_num,
+                                    AV_LOG_ERROR, &config->errors,
+                                    "audio sample rate is not set\n");
+            break;
+        case AVMEDIA_TYPE_VIDEO:
+            if (av->width == 0 || av->height == 0)
+                report_config_error(config->filename, config->line_num,
+                                    AV_LOG_ERROR, &config->errors,
+                                    "video size is not set\n");
+            break;
+        default:
+            av_assert0(0);
+        }
+        goto done;
+    }
+
+    /* stream_use_defaults = true */
+
     /* compute default parameters */
     switch(av->codec_type) {
     case AVMEDIA_TYPE_AUDIO:
@@ -287,29 +312,8 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av,
     default:
         abort();
     }
-    } else {
-        switch(av->codec_type) {
-        case AVMEDIA_TYPE_AUDIO:
-            if (av->bit_rate == 0)
-                report_config_error(config->filename, config->line_num,
-                                    AV_LOG_ERROR, &config->errors,
-                                    "audio bit rate is not set\n");
-            if (av->sample_rate == 0)
-                report_config_error(config->filename, config->line_num,
-                                    AV_LOG_ERROR, &config->errors,
-                                    "audio sample rate is not set\n");
-            break;
-        case AVMEDIA_TYPE_VIDEO:
-            if (av->width == 0 || av->height == 0)
-                report_config_error(config->filename, config->line_num,
-                                    AV_LOG_ERROR, &config->errors,
-                                    "video size is not set\n");
-            break;
-        default:
-            av_assert0(0);
-        }
-    }
 
+done:
     st = av_mallocz(sizeof(AVStream));
     if (!st)
         return;



More information about the ffmpeg-cvslog mailing list