summaryrefslogtreecommitdiff
path: root/tests/check/gst
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2016-03-14 14:20:42 +1100
committerJan Schmidt <jan@centricular.com>2016-07-25 20:22:20 +1000
commit9fd2101b367d89861defa0e6ad2e66d521bce131 (patch)
tree795e50636d32b0fd512ea2e29d809f904cc47a3d /tests/check/gst
parenteead9cf827018288d9f883ac339331f4d30c2ce9 (diff)
events: Implement the stream-group-done event
A new event which precedes EOS in situations where we need downstream to unblock any pads waiting on a stream before we can send EOS. E.g, decodebin draining a chain so it can switch pads. https://bugzilla.gnome.org/show_bug.cgi?id=768995
Diffstat (limited to 'tests/check/gst')
-rw-r--r--tests/check/gst/gstevent.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/check/gst/gstevent.c b/tests/check/gst/gstevent.c
index ebb836ced..5e93b5d72 100644
--- a/tests/check/gst/gstevent.c
+++ b/tests/check/gst/gstevent.c
@@ -52,6 +52,7 @@ GST_START_TEST (create_events)
fail_unless (reset_time == TRUE);
gst_event_unref (event);
}
+
/* SELECT_STREAMS */
{
GList *streams = NULL;
@@ -77,6 +78,22 @@ GST_START_TEST (create_events)
g_list_free (streams);
g_list_free_full (res, g_free);
}
+
+ /* STREAM_GROUP_DONE */
+ {
+ guint group_id = 0;
+
+ event = gst_event_new_stream_group_done (0x42);
+ fail_if (event == NULL);
+ fail_unless (GST_EVENT_TYPE (event) == GST_EVENT_STREAM_GROUP_DONE);
+ fail_if (GST_EVENT_IS_UPSTREAM (event));
+ fail_unless (GST_EVENT_IS_DOWNSTREAM (event));
+ fail_unless (GST_EVENT_IS_SERIALIZED (event));
+ gst_event_parse_stream_group_done (event, &group_id);
+ fail_unless (group_id == 0x42);
+ gst_event_unref (event);
+ }
+
/* EOS */
{
event = gst_event_new_eos ();