playbin3, decodebin3: how to get information about unsupported streams

Sachs Jürgen juergen.sachs at metz-ce.de
Wed Feb 7 09:15:51 UTC 2024


Hi Edward,
Thanks for your response. Unfortunately this proposal seems not working in my case. The returned list in GST_MESSAGE_STREAMS_SELECTED is the same as the list from GST_MESSAGE_STREAM_COLLECTION. 

Is it possible that I have a special use case?
The multiplex is MKV with 
- video/x-h265, [...] width=(int)4096
- audio/mpeg...
My videodecoder is OMX decoder, in gstomx.conf it is restricted to " sink-template-caps=video/x-h265, width=(int)[0,3840],..." So the decoder does not fit for the stream.

In the messages I get:
---
handleStreamCollectionMessage: GstStreamsCollection: 2 streams
  [0]: stream video 0xc104c250, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/001:5921666647861752486, flags 0x2, caps [video/x-h265, ...
  [1]: stream audio 0xc104c2b8, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/002:9642041252438058943, flags 0x2, caps [audio/mpeg, mp...
handleStreamCollectionMessage: GstStreamsCollection: 2 streams
  [0]: stream video 0xc104c250, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/001:5921666647861752486, flags 0x2, caps [video/x-h265, ...
  [1]: stream audio 0xc104c2b8, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/002:9642041252438058943, flags 0x2, caps [audio/mpeg, mp...
handleStreamsSelectedMessage: GstStreamsCollection: 2 streams
  [0]: stream video 0xc104c250, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/001:5921666647861752486, flags 0x2, caps [video/x-h265, ...
  [1]: stream audio 0xc104c2b8, ID c73e2c48d7378d7a850680b8d2aaa838071576a1b594f80f5a7d5a6950d20c69/002:9642041252438058943, flags 0x2, caps [audio/mpeg, mp...
---
But the resulting playbin pipeline is: see attachement

Do somebody have another idea, how to detect "missing" streams?

Thanks for any hint
/Juergen

---
> Date: Thu, 01 Feb 2024 08:55:29 +0100
> From: Edward Hervey <bilboed at bilboed.com>
>
> Hi,
> You can detect that by comparing:
> * The list of streams in the collection (GST_MESSAGE_STREAM_COLLECTION). That will contain the list of all streams, including unsupported ones
> * With the list of selected streams (GST_MESSAGE_STREAMS_SELECTED), which are the ones that were actually decoded and exposed
> Edward
>
> On Wed, 2024-01-31 at 15:00 +0000, Sachs J?rgen via gstreamer-devel wrote:
>>  We are using playbin3 for a mediaplayer implementation. We play a multiplex with audio and video and for video there is no decoder available. Then playbin3 creates a valid pipeline with only audio sink. So far so good.
>> Is there a recommended way how to get information, that not all 
>> streams from demux element are decoded? The ?old? decodebin was emitting an ?unknown-type? signal in that case. This is no longer available in playbin3 ?
>> Thanks for any hint
>> /Juergen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mkv.dot
Type: application/msword
Size: 37001 bytes
Desc: mkv.dot
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20240207/ca75b490/attachment-0001.dot>


More information about the gstreamer-devel mailing list