rtspsrc: mark DISCONT when resuming PLAY

In particular, when streaming interleaved, this arranges for setting a new
timestamp on outgoing buffer so downstream can appropriate reset
to a change in (rtp)time.
This commit is contained in:
Mark Nauwelaerts 2010-02-08 21:41:29 +01:00
parent c25625c31c
commit 287894a89a

View file

@ -5960,6 +5960,13 @@ gst_rtspsrc_play (GstRTSPSrc * src, GstSegment * segment)
gst_rtspsrc_loop_send_cmd (src, CMD_WAIT, FALSE); gst_rtspsrc_loop_send_cmd (src, CMD_WAIT, FALSE);
gst_task_start (src->task); gst_task_start (src->task);
/* mark discont */
GST_DEBUG_OBJECT (src, "mark DISCONT, we did a seek to another position");
for (walk = src->streams; walk; walk = g_list_next (walk)) {
GstRTSPStream *stream = (GstRTSPStream *) walk->data;
stream->discont = TRUE;
}
done: done:
GST_RTSP_STATE_UNLOCK (src); GST_RTSP_STATE_UNLOCK (src);