[vlc-devel] Opus RTP raw audio decoder plugin patch

Timothy B. Terriberry tterribe at xiph.org
Mon Dec 2 21:16:44 CET 2013

Rémi Denis-Courmont wrote:
> output will need raw Opus too. Furthermore, decoder libraries really should
> be fixed to accept raw Opus; it is architecturally wrong to require Ogg
> headers at decode.

Nothing in libopus requires anything specific to Ogg.

> I would rather suggest writing common helpers to strip the Ogg headers in
> the *demuxers*, that is to say Ogg and MKV. As Ilkka already wrote, I think
> the Opus FOURCC should be reserved to raw Opus. Indeed, from a quick glance
> at draft-ietf-payload-rtp-opus-01, I cannot see any critical out-of-band
> data that would need to be carried other than the maximum sample rate and
> channels count (both fit in es_format_t).

That's because draft-ietf-payload-rtp-opus does not support 
multichannel, pre-skip, output gain, etc. It was intentionally designed 
to avoid requiring OOB data (you can even leave out the channel count 
and sample rate).

As soon as you want to support multichannel, etc., you need those other 
things to initialize the decoder. You don't have to pack them in an Ogg 
header, but using it was convenient.

Putting multichannel on a separate FOURCC might make sense, however.

More information about the vlc-devel mailing list