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,


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

链接地址: http://www.djcxy.com/p/25426.html

上一篇: 如何写gstreamer管道opencv mat?

下一篇: gstreamer获取视频播放事件