Missing a decoder for a newly developed gstreamer media type

Eslam Ahmed eslam.ahmed at avidbeam.com
Thu Sep 9 15:24:30 UTC 2021


Hello,

I have recently developed a new media type called `video/x-mytype` which is
basically an encoded video stream, say H264, that has some encoded
metadata prepended on it. To that end, I have written 2 elements mytypemux
and mytypedemux namely.

Consequently, mytypemux takes 'video/x-h264' and produces `video/x-mytype`
and mytypedemux takes `video/x-mytype` and produces whatever was tagged by
mytypemux which is in this case none other than the 'video/x-h264'.

I wanted to send `video/x-mytype` over the network, so I used `rtpgstpay`
to payload what was coming out of mytypemux  into `GstRTSPMediaFactory`,
mounted it and served as an rtsp stream.

In the receiving pipeline, the following happens which works perfectly:
`gst-launch-1.0 rtspsrc location=rtsp://localhost:8884/test ! rtpgstdepay !
mytypedemux ! h264parse ! avdec_h264 ! videoconvert ! autovideosink`

Now, I am trying to make it work via a `uridecodebin` but I keep getting
the following error from the `decodebin`:
`Missing decoder: video/x-mytype (video/x-mytype)`

So the pipeline knows about the type of the media type so there's no need
for typefinding, it just needs a decoder. I had hoped that it would
auto-plug `mytypedemux` but it didn't.

So, What do I need to do to make the uridecodebin pick my demuxer?

FYI:

   - `gst-inspect-1.0 --print-plugin-auto-install-info
   /usr/local/lib/gstreamer-1.0/libmytypedemux.so` produces
   `element-mytypedemux` so it's an element but not a decoder?
   - mytypedemux has a primary Rank


Best Regards,
Eslam Ahmed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210909/adc4fc59/attachment.htm>


More information about the gstreamer-devel mailing list