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