muxing "meta/x-klv" with "video/x-h264" data

rjpearsoniv rufus.pearson-nr at raytheon.com
Wed Oct 23 19:16:44 UTC 2019


auto result = gst_element_link_many(m_video_src, 
m_parse, 
m_queue_record, 
m_videoconvert, 
m_videoflip, 
m_encoder, 
m_capsfilter , 
m_queue_display, 
m_muxer, 
m_udpsink, 
NULL);

auto result2 = gst_element_link(m_metadata_src, m_muxer);

If I do the "gst_element_link_many" alone and only send the video data, 
that actually starts in "video/x-raw" format. 
The steam works fine. 

If I add a new link "AT THE MUXER" 
( i.e. the second link gst_element_link(m_metadata_src, m_muxer); )

The stream stops flowing. The video buffer gets blocked and stops sending.
The gst_buffer_is_writable result on the video buffer is false, 
the ref count on the buffer is 2 and after a new frames never 
gets back to 1. 

Its like the stream is getting blocked some where.
The meta data src also eventually gets blocked with a ref count of 2 on its
buffer.

Another thing I am seeing is that the muxer pads caps name are both of type
"video/mpeg". 
( it's a mpegtsmux type muxer.)

I would think the video would be mpeg but the meta data would be 
"meta/x-klv" since that is a valid cap for the muxer. 

So I don't know why both pads going into the muxer ( the video and the meta
data )
are both showing a  caps name of "video/mpeg".

I don't see too many examples of muxing using the C API.

I did see this one

http://gstreamer-devel.966125.n4.nabble.com/Example-code-for-muxing-klv-meta-x-klv-with-mpegtsmux-plugins-bad-and-GStreamer-1-8-3-td4684782.html

but it didn't seem to work for me.

Any helpful explanation would be welcome.

Thanks. Judd.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list