Improve support for encoded audio
So far, only DSD and IEC958 are handled as "encoded" inside WirePlumber. This is important to ensure proper passthrough. However, other audio media subtypes like AAC, MP3 etc. are not handled so far.
This merge request adds code to consider the media as encoded if the format POD contains SPA_FORMAT_AUDIO_format
with the ID being SPA_AUDIO_FORMAT_ENCODED
. Builders for AAC, MP3, and such then just have to add that ID to the PODs they produce, and WirePlumber will then correctly consider the format as an encoded one.
Also add a check to only set the channel count if it is nonzero.
Original patches are from https://gitlab.freedesktop.org/SanchayanMaity/wireplumber/-/commits/compressed .