rtsp: make ff_sdp_parse return value forwarded
authorLuca Barbato <lu_zero@gentoo.org>
Fri, 28 Jan 2011 02:12:22 +0000 (03:12 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 30 Jan 2011 02:40:59 +0000 (03:40 +0100)
the sdp demuxer did not forward it at all while the rtsp demuxer assumed
a single kind of error
(cherry picked from commit f81c7ac70a7e5e82b0ab0839faf8d22d555efb9d)

libavformat/rtsp.c
libavformat/rtspdec.c

index a56ff99..dec6995 100644 (file)
@@ -1795,8 +1795,9 @@ static int sdp_read_header(AVFormatContext *s, AVFormatParameters *ap)
     }
     content[size] ='\0';
 
-    ff_sdp_parse(s, content);
+    err = ff_sdp_parse(s, content);
     av_free(content);
+    if (err) goto fail;
 
     /* open each RTP stream */
     for (i = 0; i < rt->nb_rtsp_streams; i++) {
index 55996e3..f95f7c3 100644 (file)
@@ -136,7 +136,7 @@ int ff_rtsp_setup_input_streams(AVFormatContext *s, RTSPMessageHeader *reply)
     ret = ff_sdp_parse(s, (const char *)content);
     av_freep(&content);
     if (ret < 0)
-        return AVERROR_INVALIDDATA;
+        return ret;
 
     return 0;
 }