ebu / ebu_adm_renderer

The EBU ADM Renderer, written in Python, is the reference implementation of EBU Tech 3388
https://ear.readthedocs.io
BSD 3-Clause Clear License
79 stars 13 forks source link

Added audioStreamFormat and audioTrackFormat bypass for audioTrackUID… #32

Closed davemar-bbc closed 6 months ago

davemar-bbc commented 3 years ago

Added audioStreamFormat and audioTrackFormat bypass for audioTrackUID and CHNA chunk. So audioChannelFormat can be referenced directly for PCM instead. This matches up with BS.2076-2.

Where audioTrackFormatIDRefs would have been non-optional in the past, they now have to be optional as they could be replaced by audioChannelFormatIDRefs instead.

davemar-bbc commented 3 years ago

I'll fix these test fails.

tomjnixon commented 3 years ago

Thanks. As for the general approach I'd be tempted to just have one field in the CHNA structure (AudioID), which should simplify things a bit. There's still only one field in the CHNA called trackRef, and that's what we decided to do for libbw64.

We should check that the rendering item selection code rejects uses of this for now, hopefully with a sensible error message. Eventually we'd want to update this to work properly; I'll have a think about how that should work.

davemar-bbc commented 3 years ago

Does libadm carry both audioTrackFormat and audioChannelFormat refs in audioTrackUID, or does it use trackRef like the CHNA does in libbw64?

tomjnixon commented 3 years ago

Both, or at least it will once the -2 changes are done. I think that makes sense here too, to keep a good correspondence between the ADM and the EAR data structures.

tomjnixon commented 6 months ago

This was merged as part of the -2 work -- thanks!