mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
tests: fix audiocdsrc for changed preroll behaviour
Previously, the source posted a TAG message before buffers would even be pushed towards the sink, so we'd get the TAG message before any ASYNC_DONE message. Now the tags get sent downstream to the sink to get posted there, and the tag event will get queued and handled later after preroll has finished, so now we get the ASYNC_DONE message before the TAG message.
This commit is contained in:
parent
70a6032cca
commit
2c9d442d51
1 changed files with 11 additions and 5 deletions
|
@ -329,10 +329,21 @@ GST_START_TEST (test_discid_calculations)
|
||||||
GST_CD_FOO_SRC (foosrc)->cur_disc = i;
|
GST_CD_FOO_SRC (foosrc)->cur_disc = i;
|
||||||
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
||||||
|
|
||||||
|
/* TAG messages are queued and only rendered after the preroll object has
|
||||||
|
* been prerolled (and ASYNC_DONE was posted), the TAG event got queued for
|
||||||
|
* processing/posting after that */
|
||||||
|
GST_LOG ("waiting for ASYNC_DONE message on the bus");
|
||||||
|
msg =
|
||||||
|
gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipeline),
|
||||||
|
GST_CLOCK_TIME_NONE, GST_MESSAGE_ASYNC_DONE);
|
||||||
|
gst_message_unref (msg);
|
||||||
|
|
||||||
|
GST_LOG ("waiting for TAG message on the bus");
|
||||||
msg =
|
msg =
|
||||||
gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipeline),
|
gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipeline),
|
||||||
GST_CLOCK_TIME_NONE, GST_MESSAGE_TAG);
|
GST_CLOCK_TIME_NONE, GST_MESSAGE_TAG);
|
||||||
gst_message_parse_tag (msg, &tags);
|
gst_message_parse_tag (msg, &tags);
|
||||||
|
GST_LOG ("got tags: %" GST_PTR_FORMAT, tags);
|
||||||
fail_unless (tags != NULL);
|
fail_unless (tags != NULL);
|
||||||
fail_unless (tag_list_has_tag (tags, "track-count", G_TYPE_UINT));
|
fail_unless (tag_list_has_tag (tags, "track-count", G_TYPE_UINT));
|
||||||
fail_unless (tag_list_has_tag (tags, "track-number", G_TYPE_UINT));
|
fail_unless (tag_list_has_tag (tags, "track-number", G_TYPE_UINT));
|
||||||
|
@ -345,11 +356,6 @@ GST_START_TEST (test_discid_calculations)
|
||||||
gst_tag_list_free (tags);
|
gst_tag_list_free (tags);
|
||||||
gst_message_unref (msg);
|
gst_message_unref (msg);
|
||||||
|
|
||||||
msg =
|
|
||||||
gst_bus_timed_pop_filtered (GST_ELEMENT_BUS (pipeline),
|
|
||||||
GST_CLOCK_TIME_NONE, GST_MESSAGE_ASYNC_DONE);
|
|
||||||
gst_message_unref (msg);
|
|
||||||
|
|
||||||
gst_element_set_state (pipeline, GST_STATE_NULL);
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue