Commit 6acee384 authored by Thibault Saunier's avatar Thibault Saunier 🌵

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: <!204>
parent e5b1215d
......@@ -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);
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 (identity, "src");
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);
......
......@@ -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);
......
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
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)
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)
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)
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)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment