shithub: opus

Download patch

ref: ddbc768c986ffb5390b0d37a6238e5274f47899e
parent: ba409a420bbf836de9556f89fd5f1a9622b8e834
author: Ralph Giles <[email protected]>
date: Fri Oct 17 12:51:57 EDT 2014

oggopus: Refer to RFC 6716 on how to handle malformed packets.

The Opus RFC doesn't really say what to do beyond rejecting
a particular packet, but having the reference reinforces that
we're trying to leverage the same constraints in the specific
context of ogg encapsulation, and this isn't a new rule.

--- a/doc/draft-ietf-codec-oggopus.xml
+++ b/doc/draft-ietf-codec-oggopus.xml
@@ -198,8 +198,10 @@
  page).
 Packets MUST be placed into Ogg pages in order until the end of stream.
 Audio packets MAY span page boundaries.
-A decoder MUST treat a zero-octet audio data packet as if it were an Opus
- packet with an invalid TOC sequence.
+A decoder MUST treat a zero-octet audio data packet as if it were a malformed
+ Opus packet as described in Section&nbsp;3.4 of&nbsp;<xref target="RFC6716"/>.
+</t>
+<t>
 The last page SHOULD have the 'end of stream' flag set, but implementations
  need to be prepared to deal with truncated streams that do not have a page
  marked 'end of stream'.
@@ -285,7 +287,7 @@
 <xref target="RFC6716"/> does not impose any requirements on the PLC, but this
  section outlines choices that are expected to have a positive influence on
  most PLC implementations, including the reference implementation.
-Synthesized TOC bytes SHOULD maintain the same mode, audio bandwidth,
+Synthesized TOC sequences SHOULD maintain the same mode, audio bandwidth,
  channel count, and frame size as the previous packet (if any).
 This is the simplest and usually the most well-tested case for the PLC to
  handle and it covers all losses that do not include a configuration switch,