<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>