Skip to content

opusdec: Try harder to negotiate the upstream channels/rate preferences

It might be possible to fulfill those but not with the first caps structure. Instead of just fixating the first caps structure, check if the preference can be fulfilled by any of the structures as the first step.

Without this the following pipeline negotiates to mono after the decoder because opusenc only has a single channel in its first caps structure.

gst-launch-1.0 audiotestsrc ! audio/x-raw,channels=2 ! opusenc \
    ! queue ! opusdec ! queue ! opusenc ! fakesink

Merge request reports