[SCM] libav/experimental: Fix an ffserver crash when a non-existing rtsp: url is requested

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:07:15 UTC 2013


The following commit has been merged in the experimental branch:
commit 25e3e53d4092e7b69a4d681824fa0f7b2731bb1e
Author: Luca Abeni <lucabe72 at email.it>
Date:   Mon Sep 17 12:47:44 2007 +0000

    Fix an ffserver crash when a non-existing rtsp: url is requested
    
    Originally committed as revision 10519 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/ffserver.c b/ffserver.c
index 6d9af54..96eb4fe 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -1627,7 +1627,7 @@ static void compute_stats(HTTPContext *c)
                     strcpy(eosf - 4, ".asx");
                 else if (strcmp(eosf - 3, ".rm") == 0)
                     strcpy(eosf - 3, ".ram");
-                else if (!strcmp(stream->fmt->name, "rtp")) {
+                else if (stream->fmt && !strcmp(stream->fmt->name, "rtp")) {
                     /* generate a sample RTSP director if
                        unicast. Generate an SDP redirector if
                        multicast */
@@ -2684,7 +2684,8 @@ static void rtsp_cmd_describe(HTTPContext *c, const char *url)
         path++;
 
     for(stream = first_stream; stream != NULL; stream = stream->next) {
-        if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp") &&
+        if (!stream->is_feed &&
+            stream->fmt && !strcmp(stream->fmt->name, "rtp") &&
             !strcmp(path, stream->filename)) {
             goto found;
         }
@@ -2759,7 +2760,8 @@ static void rtsp_cmd_setup(HTTPContext *c, const char *url,
 
     /* now check each stream */
     for(stream = first_stream; stream != NULL; stream = stream->next) {
-        if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp")) {
+        if (!stream->is_feed &&
+            stream->fmt && !strcmp(stream->fmt->name, "rtp")) {
             /* accept aggregate filenames only if single stream */
             if (!strcmp(path, stream->filename)) {
                 if (stream->nb_streams != 1) {
@@ -3296,7 +3298,7 @@ static void build_file_streams(void)
             /* try to open the file */
             /* open stream */
             stream->ap_in = av_mallocz(sizeof(AVFormatParameters));
-            if (!strcmp(stream->fmt->name, "rtp")) {
+            if (stream->fmt && !strcmp(stream->fmt->name, "rtp")) {
                 /* specific case : if transport stream output to RTP,
                    we use a raw transport stream reader */
                 stream->ap_in->mpeg2ts_raw = 1;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list