diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-07-05 13:13:09 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-07-05 13:13:09 +0200 |
commit | aeafc3a09384e5fb07ea1fd7c9812331e0fe2815 (patch) | |
tree | e3eaa08a52da00edb5748d4c3a7917ed6729cb01 /gst/imagefreeze | |
parent | 2e90ff9bb92ea7d23a66277a80cbcbaf2cf2e558 (diff) | |
download | gstreamer-plugins-good-aeafc3a09384e5fb07ea1fd7c9812331e0fe2815.tar.gz |
gst: Implement segment-done event
Diffstat (limited to 'gst/imagefreeze')
-rw-r--r-- | gst/imagefreeze/gstimagefreeze.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gst/imagefreeze/gstimagefreeze.c b/gst/imagefreeze/gstimagefreeze.c index 34041e0d4..0617cef90 100644 --- a/gst/imagefreeze/gstimagefreeze.c +++ b/gst/imagefreeze/gstimagefreeze.c @@ -794,15 +794,20 @@ gst_image_freeze_src_loop (GstPad * pad) if (eos) { if ((self->segment.flags & GST_SEEK_FLAG_SEGMENT)) { GstMessage *m; + GstEvent *e; GST_DEBUG_OBJECT (pad, "Sending segment done at end of segment"); - if (self->segment.rate >= 0) + if (self->segment.rate >= 0) { m = gst_message_new_segment_done (GST_OBJECT_CAST (self), GST_FORMAT_TIME, self->segment.stop); - else + e = gst_event_new_segment_done (GST_FORMAT_TIME, self->segment.stop); + } else { m = gst_message_new_segment_done (GST_OBJECT_CAST (self), GST_FORMAT_TIME, self->segment.start); + e = gst_event_new_segment_done (GST_FORMAT_TIME, self->segment.start); + } gst_element_post_message (GST_ELEMENT_CAST (self), m); + gst_pad_push_event (self->srcpad, e); } else { GST_DEBUG_OBJECT (pad, "Sending EOS at end of segment"); gst_pad_push_event (self->srcpad, gst_event_new_eos ()); |