(uri)decodebin3: Remove custom force-sw-decoders property
Sadly I wasn't quite paying attention when !485 (merged) went in.
I'd very much like to have that force-sw-decoders property removed from (uri)decodebin3 and instead have a generic way of influencing what elements should be plugged/tried.
Add a new signal for selecting a decoder if and only if there is more than one candidate decoder for a given stream.
/** * decoder-select * * Return : NULL to let (uri)decodebin3 do its own selection, * or the specific elementfactory from the candidates. */ GstElementFactory* decoder-select (GstElement *decodebin3, GstStream *stream, GValueArray *candidates)
The default implementation would return NULL to let decodebin3 do its (pre-force-sw-decoder-patch) standard behaviour. And playbin3 can still strip out candidates based on hardware flags, phase of the moon, day of the month or whatever you chose.
- Match ideal decoder based on configured sink (ex: match optimal decoder to configured sink).
- Avoid software decoders
- FIXME What is the rationale for this use-case ?