mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 14:56:36 +00:00
gst/videomixer/videomixer.c: Handle segments a little better. Fixes #537361.
Original commit message from CVS: * gst/videomixer/videomixer.c: (gst_videomixer_fill_queues), (gst_videomixer_sink_event): Handle segments a little better. Fixes #537361.
This commit is contained in:
parent
b1dfdc758e
commit
1dcf0755c5
2 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-09-25 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
|
||||
(gst_videomixer_sink_event):
|
||||
Handle segments a little better. Fixes #537361.
|
||||
|
||||
2008-09-25 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_parse_methods):
|
||||
|
|
|
@ -1277,6 +1277,7 @@ gst_videomixer_fill_queues (GstVideoMixer * mix)
|
|||
}
|
||||
if (mix->sendseg && (mixpad == mix->master)) {
|
||||
GstEvent *event;
|
||||
gint64 stop, start;
|
||||
|
||||
GstSegment *segment = &data->segment;
|
||||
|
||||
|
@ -1294,8 +1295,18 @@ gst_videomixer_fill_queues (GstVideoMixer * mix)
|
|||
* match.
|
||||
*/
|
||||
GST_INFO ("_sending play segment");
|
||||
|
||||
start = segment->accum;
|
||||
|
||||
/* get the duration of the segment if we can and add it to the accumulated
|
||||
* time on the segment. */
|
||||
if (segment->stop != -1 && segment->start != -1)
|
||||
stop = start + (segment->stop - segment->start);
|
||||
else
|
||||
stop = -1;
|
||||
|
||||
event = gst_event_new_new_segment_full (FALSE, segment->rate, 1.0,
|
||||
segment->format, 0, -1, mix->segment_position);
|
||||
segment->format, start, stop, start + mix->segment_position);
|
||||
gst_pad_push_event (mix->srcpad, event);
|
||||
mix->sendseg = FALSE;
|
||||
}
|
||||
|
@ -1627,6 +1638,9 @@ gst_videomixer_sink_event (GstPad * pad, GstEvent * event)
|
|||
*/
|
||||
videomixer->sendseg = TRUE;
|
||||
break;
|
||||
case GST_EVENT_NEWSEGMENT:
|
||||
videomixer->sendseg = TRUE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue