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

Rémi Denis-Courmont remi at remlab.net
Mon Dec 2 12:06:22 CET 2013


On Mon, 2 Dec 2013 18:01:59 +0800, Yupeng Chang <changyp6 at gmail.com>
wrote:
> Hi Denis,
> I read VLC code and finally understood the relationship between
packetizer
> and decoder.
> 
> I think that to implement Opus Raw decoding, if we need a packetizer, we
> should ADD OggOpus header in the packetizer instead of stripping the
header
> out.

I think the packetizer/decoder separation does not fits well for RTP
(de)packetization. That is not really what it was meant for.
I also think that generating Ogg headers is a bad idea. It might help some
decoder libraries in the short term, but it will likely create more
problems down the line, notably with stream output. For instance the RTP
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.

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).

-- 
Rémi Denis-Courmont
Sent from my collocated server



More information about the vlc-devel mailing list