diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index cdcef38430..a7a7e2d045 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -67,21 +67,18 @@ static int rtsp_read_play(AVFormatContext *s) if (reply->status_code != RTSP_STATUS_OK) { return -1; } - if (rt->transport == RTSP_TRANSPORT_RTP) { + if (rt->transport == RTSP_TRANSPORT_RTP && + reply->range_start != AV_NOPTS_VALUE) { for (i = 0; i < rt->nb_rtsp_streams; i++) { RTSPStream *rtsp_st = rt->rtsp_streams[i]; RTPDemuxContext *rtpctx = rtsp_st->transport_priv; AVStream *st = NULL; - if (!rtpctx) + if (!rtpctx || rtsp_st->stream_index < 0) continue; - if (rtsp_st->stream_index >= 0) - st = s->streams[rtsp_st->stream_index]; - if (reply->range_start != AV_NOPTS_VALUE) { - if (st) + st = s->streams[rtsp_st->stream_index]; rtpctx->range_start_offset = av_rescale_q(reply->range_start, AV_TIME_BASE_Q, st->time_base); - } } } }