<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,<br>
</p>
<div class="moz-cite-prefix">On 17/8/21 1:29 am, Giuseppe Gastronome
via gstreamer-devel wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAFPBoMHvcDWM4iLO+m9hO8h6T0Zfk6sc-Acmn0qs8H9wNjwVGQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi there:</div>
<div><br>
</div>
<div>I'm splitting up a video stream into two threads for video
display and one for decoding KLV metadata from my pipeline.
The stream begins using a udpsrc element and splitting into
two threads using a tee element. I'm not sure if I should post
how I set up the streams but when I receive the video stream,
I get an error that looks like this:</div>
<div><br>
</div>
<div>
Your GStreamer installation is missing a plug-in.<br>
../gst/playback/gstdecodebin2.c(4679):<br>
gst_decode_bin_expose():/<a class="moz-txt-link-freetext" href="GstPipeline:my_pipeline/GstDecodeBin:decodebin">GstPipeline:my_pipeline/GstDecodeBin:decodebin</a>:<br>
no suitable plugins found:<br>
Missing decoder: meta/x-<span class="gmail-il">klv</span>
(meta/x-<span class="gmail-il">klv</span>,
parsed=(boolean)true)<br>
</div>
<div><br>
</div>
<div>What behavior can cause this error to happen? I'm pretty
sure that I'm using a standard build of GStreamer and so it
should have the meta/x-klv plugin.</div>
</div>
</blockquote>
<p>As mentioned in the other reply, there's no generic decoder for
KLV data - GStreamer doesn't have a standard metadata stream
format that such a thing could decode to. It would be good if we
did - something that converted KLV to a stream of bus messages
might be a good model, perhaps.<br>
</p>
<p>In order to get decodebin to output the KLV track instead of
complaining about a missing decoder, you can take a look the
'caps' property. That property tells decodebin which caps it
should consider as 'raw' caps that should be output. If you set it
something like 'caps=video/x-raw(ANY);audio/x-raw(ANY);meta-klv'
you'll get raw video and audio, and the KLV track contents output
on the source pads.</p>
<p>After that, you do unfortunately need to parse the KLV stream
manually (by feeding it to an appsink and reading buffers out to
get the data).</p>
<p>Regards,</p>
<p>Jan.<br>
</p>
<blockquote type="cite"
cite="mid:CAFPBoMHvcDWM4iLO+m9hO8h6T0Zfk6sc-Acmn0qs8H9wNjwVGQ@mail.gmail.com">
<div dir="ltr">
<div><br>
</div>
<div>Thanks.</div>
<div><br>
</div>
</div>
</blockquote>
</body>
</html>