[libav-stable] rtsp: Fix a crash with the RTSP muxer

Martin Storsjö git at libav.org
Thu Sep 15 15:10:39 CEST 2016

Module: libav
Branch: master
Commit: df3795025337479a639cb3cd26c93a4e82ccd4db

Author:    Martin Storsjö <martin at martin.st>
Committer: Martin Storsjö <martin at martin.st>
Date:      Thu Sep 15 14:21:38 2016 +0300

rtsp: Fix a crash with the RTSP muxer

This was introduced in bc2a32969e.

The whole block that the statement was added to is only
relevant when used as a demuxer, but the other statements
there have had other if statements guarding them. Make
sure to only run this whole block if being used as a

CC: libav-stable at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>


 libavformat/rtsp.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index b9416d2..84b912f 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -827,7 +827,8 @@ int ff_rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
     if (!rtsp_st->transport_priv) {
          return AVERROR(ENOMEM);
-    } else if (CONFIG_RTPDEC && rt->transport == RTSP_TRANSPORT_RTP) {
+    } else if (CONFIG_RTPDEC && rt->transport == RTSP_TRANSPORT_RTP &&
+               s->iformat) {
         RTPDemuxContext *rtpctx = rtsp_st->transport_priv;
         rtpctx->ssrc = rtsp_st->ssrc;
         if (rtsp_st->dynamic_handler) {

More information about the libav-stable mailing list