abdus_salam
abdus_salam

Reputation: 788

gstreamer get video playing event

I am quite new to gstreamer and trying to get some metrics on an existing pipeline. The pipeline is set as 'appsrc queue mpegvideoparse avdec_mpeg2video deinterlace videobalance xvimagesink'.

xvimagesink only has a sink pad and I am not sure where and how its output is connected to but I am interested in knowing when the actual video device/buffer displays the first I frame and then video starts rolling.

The application sets the pipeline state to 'playing' quite early on, so, listening on this event does not help.

Regards,

Upvotes: 1

Views: 990

Answers (1)

Kyrylo Polezhaiev
Kyrylo Polezhaiev

Reputation: 1644

Check out GST_MESSAGE_STREAM_START and probes. However, I am not sure, what exactly do you want: at GStreamer level you can only detect moment when buffer is handled via some element, not when it's actually displayed.

xvimagesink has no srcpad (output), only sinkpad (input).

You can read about preroll here: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-preroll.txt

Be sure to read GStreamer manual first: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html

Upvotes: 3

Related Questions