[SCM] libav/experimental: rtsp: Move resetting of rtpdec parameters to before sending the PLAY request

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:21:25 UTC 2013


The following commit has been merged in the experimental branch:
commit 1726813f13b459af2265742bbba6830409de5e2d
Author: Martin Storsjö <martin at martin.st>
Date:   Wed Jan 5 21:22:15 2011 +0000

    rtsp: Move resetting of rtpdec parameters to before sending the PLAY request
    
    Originally committed as revision 26233 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c
index 13fa969..cdcef38 100644
--- a/libavformat/rtspdec.c
+++ b/libavformat/rtspdec.c
@@ -43,6 +43,19 @@ static int rtsp_read_play(AVFormatContext *s)
     rt->nb_byes = 0;
 
     if (!(rt->server_type == RTSP_SERVER_REAL && rt->need_subscription)) {
+        if (rt->transport == RTSP_TRANSPORT_RTP) {
+            for (i = 0; i < rt->nb_rtsp_streams; i++) {
+                RTSPStream *rtsp_st = rt->rtsp_streams[i];
+                RTPDemuxContext *rtpctx = rtsp_st->transport_priv;
+                if (!rtpctx)
+                    continue;
+                ff_rtp_reset_packet_queue(rtpctx);
+                rtpctx->last_rtcp_ntp_time  = AV_NOPTS_VALUE;
+                rtpctx->first_rtcp_ntp_time = AV_NOPTS_VALUE;
+                rtpctx->base_timestamp      = 0;
+                rtpctx->rtcp_ts_offset      = 0;
+            }
+        }
         if (rt->state == RTSP_STATE_PAUSED) {
             cmd[0] = 0;
         } else {
@@ -63,12 +76,7 @@ static int rtsp_read_play(AVFormatContext *s)
                     continue;
                 if (rtsp_st->stream_index >= 0)
                     st = s->streams[rtsp_st->stream_index];
-                ff_rtp_reset_packet_queue(rtpctx);
                 if (reply->range_start != AV_NOPTS_VALUE) {
-                    rtpctx->last_rtcp_ntp_time  = AV_NOPTS_VALUE;
-                    rtpctx->first_rtcp_ntp_time = AV_NOPTS_VALUE;
-                    rtpctx->base_timestamp      = 0;
-                    rtpctx->rtcp_ts_offset      = 0;
                     if (st)
                         rtpctx->range_start_offset =
                             av_rescale_q(reply->range_start, AV_TIME_BASE_Q,

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list