From 6acee38459e013261e393c06aab88dd59505d117 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Wed, 22 Jul 2020 12:02:10 -0400 Subject: [PATCH] smart-mixer: Move the videoconvert to after the mixer So that it tries to negotiate with alpha and the alpha channel is dropped as late as possible in the pipeline. The compositor is able to do video conversion internally in any case so having a videoconvert before it is useless. Part-of: --- ges/ges-smart-video-mixer.c | 43 +---- ges/ges-video-transition.c | 9 +- .../log-videosink-sink-expected | 48 +++--- .../log-videosink-sink-expected | 10 +- .../log-videosink-sink-expected | 42 ++--- .../log-videosink-sink-expected | 14 +- .../log-videosink-sink-expected | 154 +++++++++--------- 7 files changed, 146 insertions(+), 174 deletions(-) diff --git a/ges/ges-smart-video-mixer.c b/ges/ges-smart-video-mixer.c index f357e0ab95..80d893486a 100644 --- a/ges/ges-smart-video-mixer.c +++ b/ges/ges-smart-video-mixer.c @@ -129,7 +129,6 @@ typedef struct _PadInfos GESSmartMixer *self; GstPad *mixer_pad; GstPad *ghostpad; - GstElement *bin; } PadInfos; static void @@ -137,12 +136,6 @@ pad_infos_unref (PadInfos * infos) { if (g_atomic_int_dec_and_test (&infos->refcount)) { GST_DEBUG_OBJECT (infos->mixer_pad, "Releasing pad"); - if (G_LIKELY (infos->bin)) { - gst_element_set_state (infos->bin, GST_STATE_NULL); - gst_element_unlink (infos->bin, infos->self->mixer); - gst_bin_remove (GST_BIN (infos->self), infos->bin); - } - if (infos->mixer_pad) { gst_element_release_request_pad (infos->self->mixer, infos->mixer_pad); gst_object_unref (infos->mixer_pad); @@ -255,11 +248,9 @@ static GstPad * _request_new_pad (GstElement * element, GstPadTemplate * templ, const gchar * name, const GstCaps * caps) { - GstPad *videoconvert_srcpad, *videoconvert_sinkpad, *tmpghost; PadInfos *infos = pad_infos_new (); GESSmartMixer *self = GES_SMART_MIXER (element); GstPad *ghost; - GstElement *videoconvert; infos->mixer_pad = gst_element_request_pad (self->mixer, gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (self->mixer), @@ -274,33 +265,14 @@ _request_new_pad (GstElement * element, GstPadTemplate * templ, infos->self = self; - infos->bin = gst_bin_new (NULL); - videoconvert = gst_element_factory_make ("videoconvert", NULL); - - gst_bin_add (GST_BIN (infos->bin), videoconvert); - - videoconvert_sinkpad = gst_element_get_static_pad (videoconvert, "sink"); - tmpghost = GST_PAD (gst_ghost_pad_new (NULL, videoconvert_sinkpad)); - gst_object_unref (videoconvert_sinkpad); - gst_pad_set_active (tmpghost, TRUE); - gst_element_add_pad (GST_ELEMENT (infos->bin), tmpghost); - - gst_bin_add (GST_BIN (self), infos->bin); ghost = g_object_new (ges_smart_mixer_pad_get_type (), "name", name, - "direction", GST_PAD_DIRECTION (tmpghost), NULL); + "direction", GST_PAD_DIRECTION (infos->mixer_pad), NULL); infos->ghostpad = ghost; - gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (ghost), tmpghost); + gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (ghost), infos->mixer_pad); gst_pad_set_active (ghost, TRUE); if (!gst_element_add_pad (GST_ELEMENT (self), ghost)) goto could_not_add; - videoconvert_srcpad = gst_element_get_static_pad (videoconvert, "src"); - tmpghost = GST_PAD (gst_ghost_pad_new (NULL, videoconvert_srcpad)); - gst_object_unref (videoconvert_srcpad); - gst_pad_set_active (tmpghost, TRUE); - gst_element_add_pad (GST_ELEMENT (infos->bin), tmpghost); - gst_pad_link (tmpghost, infos->mixer_pad); - gst_pad_set_event_function (GST_PAD (ghost), ges_smart_mixer_sinkpad_event_func); @@ -428,7 +400,7 @@ static void ges_smart_mixer_constructed (GObject * obj) { GstPad *pad; - GstElement *identity; + GstElement *identity, *videoconvert; GESSmartMixer *self = GES_SMART_MIXER (obj); gchar *cname = g_strdup_printf ("%s-compositor", GST_OBJECT_NAME (self)); @@ -446,10 +418,13 @@ ges_smart_mixer_constructed (GObject * obj) g_object_set (identity, "drop-allocation", TRUE, NULL); g_assert (identity); - gst_bin_add_many (GST_BIN (self), self->mixer, identity, NULL); - gst_element_link (self->mixer, identity); + videoconvert = gst_element_factory_make ("videoconvert", NULL); + g_assert (videoconvert); - pad = gst_element_get_static_pad (identity, "src"); + gst_bin_add_many (GST_BIN (self), self->mixer, identity, videoconvert, NULL); + gst_element_link_many (self->mixer, identity, videoconvert, NULL); + + pad = gst_element_get_static_pad (videoconvert, "src"); self->srcpad = gst_ghost_pad_new ("src", pad); gst_pad_set_active (self->srcpad, TRUE); gst_object_unref (pad); diff --git a/ges/ges-video-transition.c b/ges/ges-video-transition.c index 44840cf8a5..e5f5916207 100644 --- a/ges/ges-video-transition.c +++ b/ges/ges-video-transition.c @@ -329,7 +329,7 @@ set_interpolation (GstObject * element, GESVideoTransitionPrivate * priv, static GstElement * ges_video_transition_create_element (GESTrackElement * object) { - GstElement *topbin, *iconva, *iconvb, *oconv; + GstElement *topbin, *iconva, *iconvb; GstElement *mixer = NULL; GstPad *sinka_target, *sinkb_target, *src_target, *sinka, *sinkb, *src; GESVideoTransition *self; @@ -348,10 +348,8 @@ ges_video_transition_create_element (GESTrackElement * object) gst_element_factory_make ("framepositioner", "frame_tagger"); g_object_set (priv->positioner, "zorder", G_MAXUINT - GES_TIMELINE_ELEMENT_PRIORITY (self), NULL); - oconv = gst_element_factory_make ("videoconvert", "tr-csp-output"); - gst_bin_add_many (GST_BIN (topbin), iconva, iconvb, priv->positioner, - oconv, NULL); + gst_bin_add_many (GST_BIN (topbin), iconva, iconvb, priv->positioner, NULL); mixer = g_object_new (GES_TYPE_SMART_MIXER, "name", @@ -379,11 +377,10 @@ ges_video_transition_create_element (GESTrackElement * object) GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE ? "add" : "over"); fast_element_link (mixer, priv->positioner); - fast_element_link (priv->positioner, oconv); sinka_target = gst_element_get_static_pad (iconva, "sink"); sinkb_target = gst_element_get_static_pad (iconvb, "sink"); - src_target = gst_element_get_static_pad (oconv, "src"); + src_target = gst_element_get_static_pad (priv->positioner, "src"); sinka = gst_ghost_pad_new ("sinka", sinka_target); sinkb = gst_ghost_pad_new ("sinkb", sinkb_target); diff --git a/tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected index fb0a655a70..6f3cbeea1f 100644 --- a/tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected +++ b/tests/check/scenarios/check_keyframes_in_compositor_two_sources/flow-expectations/log-videosink-sink-expected @@ -1,34 +1,34 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; -event caps: video/x-raw, format=(string)I420, width=(int)500, height=(int)500, framerate=(fraction)10/1, chroma-site=(string)jpeg, colorimetry=(string)bt601; +event caps: video/x-raw, width=(int)500, height=(int)500, framerate=(fraction)10/1, format=(string)I420; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:02.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: content-id=0, pts=0:00:00.000000000, dur=0:00:00.100000000 -buffer: content-id=1, pts=0:00:00.100000000, dur=0:00:00.100000000 -buffer: content-id=2, pts=0:00:00.200000000, dur=0:00:00.100000000 -buffer: content-id=3, pts=0:00:00.300000000, dur=0:00:00.100000000 -buffer: content-id=4, pts=0:00:00.400000000, dur=0:00:00.100000000 -buffer: content-id=5, pts=0:00:00.500000000, dur=0:00:00.100000000 -buffer: content-id=6, pts=0:00:00.600000000, dur=0:00:00.100000000 -buffer: content-id=7, pts=0:00:00.700000000, dur=0:00:00.100000000 -buffer: content-id=8, pts=0:00:00.800000000, dur=0:00:00.100000000 -buffer: content-id=9, pts=0:00:00.900000000, dur=0:00:00.100000000 -buffer: content-id=10, pts=0:00:01.000000000, dur=0:00:00.100000000 -buffer: content-id=9, pts=0:00:01.100000000, dur=0:00:00.100000000 -buffer: content-id=8, pts=0:00:01.200000000, dur=0:00:00.100000000 -buffer: content-id=7, pts=0:00:01.300000000, dur=0:00:00.100000000 -buffer: content-id=6, pts=0:00:01.400000000, dur=0:00:00.100000000 -buffer: content-id=5, pts=0:00:01.500000000, dur=0:00:00.100000000 -buffer: content-id=4, pts=0:00:01.600000000, dur=0:00:00.100000000 -buffer: content-id=3, pts=0:00:01.700000000, dur=0:00:00.100000000 -buffer: content-id=2, pts=0:00:01.800000000, dur=0:00:00.100000000 -buffer: content-id=1, pts=0:00:01.900000000, dur=0:00:00.100000000 +buffer: content-id=0, pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=1, pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=2, pts=0:00:00.200000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=3, pts=0:00:00.300000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=4, pts=0:00:00.400000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=5, pts=0:00:00.500000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=6, pts=0:00:00.600000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=7, pts=0:00:00.700000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=8, pts=0:00:00.800000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=9, pts=0:00:00.900000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=10, pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=9, pts=0:00:01.100000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=8, pts=0:00:01.200000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=7, pts=0:00:01.300000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=6, pts=0:00:01.400000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=5, pts=0:00:01.500000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=4, pts=0:00:01.600000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=3, pts=0:00:01.700000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=2, pts=0:00:01.800000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: content-id=1, pts=0:00:01.900000000, dur=0:00:00.100000000, meta=GstVideoMeta event segment: format=TIME, start=0:00:02.000000000, offset=0:00:00.000000000, stop=0:00:02.000000001, flags=0x01, time=0:00:02.000000000, base=0:00:02.000000000, position=none -buffer: content-id=11, pts=0:00:02.000000000, dur=0:00:00.000000001 +buffer: content-id=11, pts=0:00:02.000000000, dur=0:00:00.000000001, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:02.000000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=none -buffer: content-id=10, pts=0:00:01.000000000, dur=0:00:00.100000000 +buffer: content-id=12, pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:03.000000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=none -buffer: content-id=0, pts=0:00:01.000000000, dur=0:00:00.100000000 +buffer: content-id=0, pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta diff --git a/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected index 7541dda0b6..2770dc3a55 100644 --- a/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected +++ b/tests/check/scenarios/complex_effect_bin_desc/flow-expectations/log-videosink-sink-expected @@ -1,9 +1,9 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; -event caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, chroma-site=(string)jpeg, colorimetry=(string)bt601; +event caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)30/1, format=(string)I420, chroma-site=(string)jpeg, colorimetry=(string)bt601; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.100000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 -buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.000000000, dur=0:00:00.033333333 -buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.033333333, dur=0:00:00.033333334 -buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.066666667, dur=0:00:00.033333333 +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.000000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.033333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: checksum=d2d49287a7d0ddd7b5fadbb60c3220623119fea8, pts=0:00:00.066666667, dur=0:00:00.033333333, meta=GstVideoMeta event segment: format=TIME, start=0:00:00.100000000, offset=0:00:00.000000000, stop=0:00:00.100000001, flags=0x01, time=0:00:00.100000000, base=0:00:00.100000000 -buffer: checksum=b4a126ab26f314a74ef860a9af457327a28d680b, pts=0:00:00.100000000, dur=0:00:00.000000001 +buffer: checksum=b4a126ab26f314a74ef860a9af457327a28d680b, pts=0:00:00.100000000, dur=0:00:00.000000001, meta=GstVideoMeta event eos: (no structure) diff --git a/tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected index 4004ae525a..7ef80e9b42 100644 --- a/tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected +++ b/tests/check/scenarios/edit_while_seeked_with_stop/flow-expectations/log-videosink-sink-expected @@ -1,32 +1,32 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; -event caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)10/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709; +event caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)10/1, format=(string)I420, chroma-site=(string)mpeg2, colorimetry=(string)bt709; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.000000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.500000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.000000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.500000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.000000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.100000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.200000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.300000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.400000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.200000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.300000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.400000000, dur=0:00:00.100000000, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.500000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.500000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.500000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.500000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.500000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.500000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.500000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.600000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.700000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.800000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.900000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.500000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.600000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.700000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.800000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.900000000, dur=0:00:00.100000000, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; @@ -35,15 +35,15 @@ event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:02.000000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:01.000000000, dur=0:00:00.100000000 +buffer: pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:01.500000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:01.000000000, dur=0:00:00.100000000 -buffer: pts=0:00:01.100000000, dur=0:00:00.100000000 -buffer: pts=0:00:01.200000000, dur=0:00:00.100000000 -buffer: pts=0:00:01.300000000, dur=0:00:00.100000000 -buffer: pts=0:00:01.400000000, dur=0:00:00.100000000 +buffer: pts=0:00:01.000000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:01.100000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:01.200000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:01.300000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:01.400000000, dur=0:00:00.100000000, meta=GstVideoMeta event segment: format=TIME, start=0:00:01.500000000, offset=0:00:00.000000000, stop=0:00:01.500000001, flags=0x01, time=0:00:01.500000000, base=0:00:00.500000000, position=none -buffer: pts=0:00:01.500000000, dur=0:00:00.000000001 +buffer: pts=0:00:01.500000000, dur=0:00:00.000000001, meta=GstVideoMeta event eos: (no structure) diff --git a/tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected index 4370de58c4..73ae0072a1 100644 --- a/tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected +++ b/tests/check/scenarios/seek_with_stop.check_clock_sync/flow-expectations/log-videosink-sink-expected @@ -1,13 +1,13 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; -event caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)10/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709; +event caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)10/1, format=(string)I420, chroma-site=(string)mpeg2, colorimetry=(string)bt709; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.000000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.500000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000, position=none -buffer: pts=0:00:00.000000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.100000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.200000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.300000000, dur=0:00:00.100000000 -buffer: pts=0:00:00.400000000, dur=0:00:00.100000000 +buffer: pts=0:00:00.000000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.100000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.200000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.300000000, dur=0:00:00.100000000, meta=GstVideoMeta +buffer: pts=0:00:00.400000000, dur=0:00:00.100000000, meta=GstVideoMeta event eos: (no structure) diff --git a/tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected b/tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected index 1efd048565..5099f9a313 100644 --- a/tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected +++ b/tests/check/scenarios/seek_with_stop/flow-expectations/log-videosink-sink-expected @@ -1,95 +1,95 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE; -event caps: video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709; +event caps: video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)30/1, format=(string)I420, chroma-site=(string)mpeg2, colorimetry=(string)bt709; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 -buffer: pts=0:00:00.000000000, dur=0:00:00.033333333 +buffer: pts=0:00:00.000000000, dur=0:00:00.033333333, meta=GstVideoMeta event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.500000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 -buffer: pts=0:00:00.000000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.033333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.066666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.100000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.133333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.166666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.200000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.233333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.266666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.300000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.333333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.366666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.400000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.433333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.466666667, dur=0:00:00.033333333 +buffer: pts=0:00:00.000000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.033333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.066666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.100000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.133333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.166666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.200000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.233333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.266666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.300000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.333333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.366666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.400000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.433333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.466666667, dur=0:00:00.033333333, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.500000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 -buffer: pts=0:00:00.000000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.033333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.066666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.100000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.133333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.166666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.200000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.233333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.266666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.300000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.333333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.366666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.400000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.433333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.466666667, dur=0:00:00.033333333 +buffer: pts=0:00:00.000000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.033333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.066666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.100000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.133333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.166666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.200000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.233333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.266666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.300000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.333333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.366666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.400000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.433333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.466666667, dur=0:00:00.033333333, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:01.000000000, flags=0x01, time=0:00:00.000000000, base=0:00:00.000000000 -buffer: pts=0:00:00.000000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.033333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.066666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.100000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.133333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.166666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.200000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.233333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.266666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.300000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.333333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.366666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.400000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.433333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.466666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.500000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.533333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.566666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.600000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.633333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.666666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.700000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.733333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.766666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.800000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.833333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.866666667, dur=0:00:00.033333333 -buffer: pts=0:00:00.900000000, dur=0:00:00.033333333 -buffer: pts=0:00:00.933333333, dur=0:00:00.033333334 -buffer: pts=0:00:00.966666667, dur=0:00:00.033333333 +buffer: pts=0:00:00.000000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.033333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.066666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.100000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.133333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.166666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.200000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.233333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.266666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.300000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.333333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.366666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.400000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.433333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.466666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.500000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.533333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.566666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.600000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.633333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.666666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.700000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.733333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.766666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.800000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.833333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.866666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.900000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:00.933333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:00.966666667, dur=0:00:00.033333333, meta=GstVideoMeta event eos: (no structure) event flush-start: (no structure) event flush-stop: GstEventFlushStop, reset-time=(boolean)true; event segment: format=TIME, start=0:00:01.000000000, offset=0:00:00.000000000, stop=0:00:01.500000000, flags=0x01, time=0:00:01.000000000, base=0:00:00.000000000 -buffer: pts=0:00:01.000000000, dur=0:00:00.033333333 -buffer: pts=0:00:01.033333333, dur=0:00:00.033333334 -buffer: pts=0:00:01.066666667, dur=0:00:00.033333333 -buffer: pts=0:00:01.100000000, dur=0:00:00.033333333 -buffer: pts=0:00:01.133333333, dur=0:00:00.033333334 -buffer: pts=0:00:01.166666667, dur=0:00:00.033333333 -buffer: pts=0:00:01.200000000, dur=0:00:00.033333333 -buffer: pts=0:00:01.233333333, dur=0:00:00.033333334 -buffer: pts=0:00:01.266666667, dur=0:00:00.033333333 -buffer: pts=0:00:01.300000000, dur=0:00:00.033333333 -buffer: pts=0:00:01.333333333, dur=0:00:00.033333334 -buffer: pts=0:00:01.366666667, dur=0:00:00.033333333 -buffer: pts=0:00:01.400000000, dur=0:00:00.033333333 -buffer: pts=0:00:01.433333333, dur=0:00:00.033333334 -buffer: pts=0:00:01.466666667, dur=0:00:00.033333333 +buffer: pts=0:00:01.000000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.033333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:01.066666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.100000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.133333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:01.166666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.200000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.233333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:01.266666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.300000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.333333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:01.366666667, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.400000000, dur=0:00:00.033333333, meta=GstVideoMeta +buffer: pts=0:00:01.433333333, dur=0:00:00.033333334, meta=GstVideoMeta +buffer: pts=0:00:01.466666667, dur=0:00:00.033333333, meta=GstVideoMeta event eos: (no structure)