xref: /aosp_15_r20/external/libogg/doc/rfc5334.txt (revision 4d5d8b54cec1a9622d79143ad0e145ea73da2224)
1*4d5d8b54SAndroid Build Coastguard Worker
2*4d5d8b54SAndroid Build Coastguard Worker
3*4d5d8b54SAndroid Build Coastguard Worker
4*4d5d8b54SAndroid Build Coastguard Worker
5*4d5d8b54SAndroid Build Coastguard Worker
6*4d5d8b54SAndroid Build Coastguard Worker
7*4d5d8b54SAndroid Build Coastguard WorkerNetwork Working Group                                       I. Goncalves
8*4d5d8b54SAndroid Build Coastguard WorkerRequest for Comments: 5334                                   S. Pfeiffer
9*4d5d8b54SAndroid Build Coastguard WorkerObsoletes: 3534                                            C. Montgomery
10*4d5d8b54SAndroid Build Coastguard WorkerCategory: Standards Track                                           Xiph
11*4d5d8b54SAndroid Build Coastguard Worker                                                          September 2008
12*4d5d8b54SAndroid Build Coastguard Worker
13*4d5d8b54SAndroid Build Coastguard Worker
14*4d5d8b54SAndroid Build Coastguard Worker                            Ogg Media Types
15*4d5d8b54SAndroid Build Coastguard Worker
16*4d5d8b54SAndroid Build Coastguard WorkerStatus of This Memo
17*4d5d8b54SAndroid Build Coastguard Worker
18*4d5d8b54SAndroid Build Coastguard Worker   This document specifies an Internet standards track protocol for the
19*4d5d8b54SAndroid Build Coastguard Worker   Internet community, and requests discussion and suggestions for
20*4d5d8b54SAndroid Build Coastguard Worker   improvements.  Please refer to the current edition of the "Internet
21*4d5d8b54SAndroid Build Coastguard Worker   Official Protocol Standards" (STD 1) for the standardization state
22*4d5d8b54SAndroid Build Coastguard Worker   and status of this protocol.  Distribution of this memo is unlimited.
23*4d5d8b54SAndroid Build Coastguard Worker
24*4d5d8b54SAndroid Build Coastguard WorkerAbstract
25*4d5d8b54SAndroid Build Coastguard Worker
26*4d5d8b54SAndroid Build Coastguard Worker   This document describes the registration of media types for the Ogg
27*4d5d8b54SAndroid Build Coastguard Worker   container format and conformance requirements for implementations of
28*4d5d8b54SAndroid Build Coastguard Worker   these types.  This document obsoletes RFC 3534.
29*4d5d8b54SAndroid Build Coastguard Worker
30*4d5d8b54SAndroid Build Coastguard WorkerTable of Contents
31*4d5d8b54SAndroid Build Coastguard Worker
32*4d5d8b54SAndroid Build Coastguard Worker   1.     Introduction  . . . . . . . . . . . . . . . . . . . . . . .  2
33*4d5d8b54SAndroid Build Coastguard Worker   2.     Changes Since RFC 3534  . . . . . . . . . . . . . . . . . .  2
34*4d5d8b54SAndroid Build Coastguard Worker   3.     Conformance and Document Conventions  . . . . . . . . . . .  3
35*4d5d8b54SAndroid Build Coastguard Worker   4.     Deployed Media Types and Compatibility  . . . . . . . . . .  3
36*4d5d8b54SAndroid Build Coastguard Worker   5.     Relation between the Media Types  . . . . . . . . . . . . .  5
37*4d5d8b54SAndroid Build Coastguard Worker   6.     Encoding Considerations . . . . . . . . . . . . . . . . . .  5
38*4d5d8b54SAndroid Build Coastguard Worker   7.     Security Considerations . . . . . . . . . . . . . . . . . .  6
39*4d5d8b54SAndroid Build Coastguard Worker   8.     Interoperability Considerations . . . . . . . . . . . . . .  7
40*4d5d8b54SAndroid Build Coastguard Worker   9.     IANA Considerations . . . . . . . . . . . . . . . . . . . .  7
41*4d5d8b54SAndroid Build Coastguard Worker   10.    Ogg Media Types . . . . . . . . . . . . . . . . . . . . . .  7
42*4d5d8b54SAndroid Build Coastguard Worker   10.1.  application/ogg . . . . . . . . . . . . . . . . . . . . . .  7
43*4d5d8b54SAndroid Build Coastguard Worker   10.2.  video/ogg . . . . . . . . . . . . . . . . . . . . . . . . .  8
44*4d5d8b54SAndroid Build Coastguard Worker   10.3.  audio/ogg . . . . . . . . . . . . . . . . . . . . . . . . .  9
45*4d5d8b54SAndroid Build Coastguard Worker   11.    Acknowledgements  . . . . . . . . . . . . . . . . . . . . . 10
46*4d5d8b54SAndroid Build Coastguard Worker   12.    Copying Conditions  . . . . . . . . . . . . . . . . . . . . 10
47*4d5d8b54SAndroid Build Coastguard Worker   13.    References  . . . . . . . . . . . . . . . . . . . . . . . . 11
48*4d5d8b54SAndroid Build Coastguard Worker   13.1.  Normative References  . . . . . . . . . . . . . . . . . . . 11
49*4d5d8b54SAndroid Build Coastguard Worker   13.2.  Informative References  . . . . . . . . . . . . . . . . . . 11
50*4d5d8b54SAndroid Build Coastguard Worker
51*4d5d8b54SAndroid Build Coastguard Worker
52*4d5d8b54SAndroid Build Coastguard Worker
53*4d5d8b54SAndroid Build Coastguard Worker
54*4d5d8b54SAndroid Build Coastguard Worker
55*4d5d8b54SAndroid Build Coastguard Worker
56*4d5d8b54SAndroid Build Coastguard Worker
57*4d5d8b54SAndroid Build Coastguard Worker
58*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 1]
59*4d5d8b54SAndroid Build Coastguard Worker
60*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
61*4d5d8b54SAndroid Build Coastguard Worker
62*4d5d8b54SAndroid Build Coastguard Worker
63*4d5d8b54SAndroid Build Coastguard Worker1.  Introduction
64*4d5d8b54SAndroid Build Coastguard Worker
65*4d5d8b54SAndroid Build Coastguard Worker   This document describes media types for Ogg, a data encapsulation
66*4d5d8b54SAndroid Build Coastguard Worker   format defined by the Xiph.Org Foundation for public use.  Refer to
67*4d5d8b54SAndroid Build Coastguard Worker   "Introduction" in [RFC3533] and "Overview" in [Ogg] for background
68*4d5d8b54SAndroid Build Coastguard Worker   information on this container format.
69*4d5d8b54SAndroid Build Coastguard Worker
70*4d5d8b54SAndroid Build Coastguard Worker   Binary data contained in Ogg, such as Vorbis and Theora, has
71*4d5d8b54SAndroid Build Coastguard Worker   historically been interchanged using the application/ogg media type
72*4d5d8b54SAndroid Build Coastguard Worker   as defined by [RFC3534].  This document obsoletes [RFC3534] and
73*4d5d8b54SAndroid Build Coastguard Worker   defines three media types for different types of content in Ogg to
74*4d5d8b54SAndroid Build Coastguard Worker   reflect this usage in the IANA media type registry, to foster
75*4d5d8b54SAndroid Build Coastguard Worker   interoperability by defining underspecified aspects, and to provide
76*4d5d8b54SAndroid Build Coastguard Worker   general security considerations.
77*4d5d8b54SAndroid Build Coastguard Worker
78*4d5d8b54SAndroid Build Coastguard Worker   The Ogg container format is known to contain [Theora] or [Dirac]
79*4d5d8b54SAndroid Build Coastguard Worker   video, [Speex] (narrow-band and wide-band) speech, [Vorbis] or [FLAC]
80*4d5d8b54SAndroid Build Coastguard Worker   audio, and [CMML] timed text/metadata.  As Ogg encapsulates binary
81*4d5d8b54SAndroid Build Coastguard Worker   data, it is possible to include any other type of video, audio,
82*4d5d8b54SAndroid Build Coastguard Worker   image, text, or, generally speaking, any time-continuously sampled
83*4d5d8b54SAndroid Build Coastguard Worker   data.
84*4d5d8b54SAndroid Build Coastguard Worker
85*4d5d8b54SAndroid Build Coastguard Worker   While raw packets from these data sources may be used directly by
86*4d5d8b54SAndroid Build Coastguard Worker   transport mechanisms that provide their own framing and packet-
87*4d5d8b54SAndroid Build Coastguard Worker   separation mechanisms (such as UDP datagrams or RTP), Ogg is a
88*4d5d8b54SAndroid Build Coastguard Worker   solution for stream based storage (such as files) and transport (such
89*4d5d8b54SAndroid Build Coastguard Worker   as TCP streams or pipes).  The media types defined in this document
90*4d5d8b54SAndroid Build Coastguard Worker   are needed to correctly identify such content when it is served over
91*4d5d8b54SAndroid Build Coastguard Worker   HTTP, included in multi-part documents, or used in other places where
92*4d5d8b54SAndroid Build Coastguard Worker   media types [RFC2045] are used.
93*4d5d8b54SAndroid Build Coastguard Worker
94*4d5d8b54SAndroid Build Coastguard Worker2.  Changes Since RFC 3534
95*4d5d8b54SAndroid Build Coastguard Worker
96*4d5d8b54SAndroid Build Coastguard Worker   o  The type "application/ogg" is redefined.
97*4d5d8b54SAndroid Build Coastguard Worker
98*4d5d8b54SAndroid Build Coastguard Worker   o  The types "video/ogg" and "audio/ogg" are defined.
99*4d5d8b54SAndroid Build Coastguard Worker
100*4d5d8b54SAndroid Build Coastguard Worker   o  New file extensions are defined.
101*4d5d8b54SAndroid Build Coastguard Worker
102*4d5d8b54SAndroid Build Coastguard Worker   o  New Macintosh file type codes are defined.
103*4d5d8b54SAndroid Build Coastguard Worker
104*4d5d8b54SAndroid Build Coastguard Worker   o  The codecs parameter is defined for optional use.
105*4d5d8b54SAndroid Build Coastguard Worker
106*4d5d8b54SAndroid Build Coastguard Worker   o  The Ogg Skeleton extension becomes a recommended addition for
107*4d5d8b54SAndroid Build Coastguard Worker      content served under the new types.
108*4d5d8b54SAndroid Build Coastguard Worker
109*4d5d8b54SAndroid Build Coastguard Worker
110*4d5d8b54SAndroid Build Coastguard Worker
111*4d5d8b54SAndroid Build Coastguard Worker
112*4d5d8b54SAndroid Build Coastguard Worker
113*4d5d8b54SAndroid Build Coastguard Worker
114*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 2]
115*4d5d8b54SAndroid Build Coastguard Worker
116*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
117*4d5d8b54SAndroid Build Coastguard Worker
118*4d5d8b54SAndroid Build Coastguard Worker
119*4d5d8b54SAndroid Build Coastguard Worker3.  Conformance and Document Conventions
120*4d5d8b54SAndroid Build Coastguard Worker
121*4d5d8b54SAndroid Build Coastguard Worker   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
122*4d5d8b54SAndroid Build Coastguard Worker   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
123*4d5d8b54SAndroid Build Coastguard Worker   document are to be interpreted as described in BCP 14, [RFC2119] and
124*4d5d8b54SAndroid Build Coastguard Worker   indicate requirement levels for compliant implementations.
125*4d5d8b54SAndroid Build Coastguard Worker   Requirements apply to all implementations unless otherwise stated.
126*4d5d8b54SAndroid Build Coastguard Worker
127*4d5d8b54SAndroid Build Coastguard Worker   An implementation is a software module that supports one of the media
128*4d5d8b54SAndroid Build Coastguard Worker   types defined in this document.  Software modules may support
129*4d5d8b54SAndroid Build Coastguard Worker   multiple media types, but conformance is considered individually for
130*4d5d8b54SAndroid Build Coastguard Worker   each type.
131*4d5d8b54SAndroid Build Coastguard Worker
132*4d5d8b54SAndroid Build Coastguard Worker   Implementations that fail to satisfy one or more "MUST" requirements
133*4d5d8b54SAndroid Build Coastguard Worker   are considered non-compliant.  Implementations that satisfy all
134*4d5d8b54SAndroid Build Coastguard Worker   "MUST" requirements, but fail to satisfy one or more "SHOULD"
135*4d5d8b54SAndroid Build Coastguard Worker   requirements, are said to be "conditionally compliant".  All other
136*4d5d8b54SAndroid Build Coastguard Worker   implementations are "unconditionally compliant".
137*4d5d8b54SAndroid Build Coastguard Worker
138*4d5d8b54SAndroid Build Coastguard Worker4.  Deployed Media Types and Compatibility
139*4d5d8b54SAndroid Build Coastguard Worker
140*4d5d8b54SAndroid Build Coastguard Worker   The application/ogg media type has been used in an ad hoc fashion to
141*4d5d8b54SAndroid Build Coastguard Worker   label and exchange multimedia content in Ogg containers.
142*4d5d8b54SAndroid Build Coastguard Worker
143*4d5d8b54SAndroid Build Coastguard Worker   Use of the "application" top-level type for this kind of content is
144*4d5d8b54SAndroid Build Coastguard Worker   known to be problematic, in particular since it obfuscates video and
145*4d5d8b54SAndroid Build Coastguard Worker   audio content.  This document thus defines the media types,
146*4d5d8b54SAndroid Build Coastguard Worker
147*4d5d8b54SAndroid Build Coastguard Worker   o  video/ogg
148*4d5d8b54SAndroid Build Coastguard Worker
149*4d5d8b54SAndroid Build Coastguard Worker   o  audio/ogg
150*4d5d8b54SAndroid Build Coastguard Worker
151*4d5d8b54SAndroid Build Coastguard Worker   which are intended for common use and SHOULD be used when dealing
152*4d5d8b54SAndroid Build Coastguard Worker   with video or audio content, respectively.  This document also
153*4d5d8b54SAndroid Build Coastguard Worker   obsoletes the [RFC3534] definition of application/ogg and marks it
154*4d5d8b54SAndroid Build Coastguard Worker   for complex data (e.g., multitrack visual, audio, textual, and other
155*4d5d8b54SAndroid Build Coastguard Worker   time-continuously sampled data), which is not clearly video or audio
156*4d5d8b54SAndroid Build Coastguard Worker   data and thus not suited for either the video/ogg or audio/ogg types.
157*4d5d8b54SAndroid Build Coastguard Worker   Refer to the following section for more details.
158*4d5d8b54SAndroid Build Coastguard Worker
159*4d5d8b54SAndroid Build Coastguard Worker   An Ogg bitstream generally consists of one or more logical bitstreams
160*4d5d8b54SAndroid Build Coastguard Worker   that each consist of a series of header and data pages packetising
161*4d5d8b54SAndroid Build Coastguard Worker   time-continuous binary data [RFC3533].  The content types of the
162*4d5d8b54SAndroid Build Coastguard Worker   logical bitstreams may be identified without decoding the header
163*4d5d8b54SAndroid Build Coastguard Worker   pages of the logical bitstreams through use of a [Skeleton]
164*4d5d8b54SAndroid Build Coastguard Worker   bitstream.  Using Ogg Skeleton is REQUIRED for content served under
165*4d5d8b54SAndroid Build Coastguard Worker
166*4d5d8b54SAndroid Build Coastguard Worker
167*4d5d8b54SAndroid Build Coastguard Worker
168*4d5d8b54SAndroid Build Coastguard Worker
169*4d5d8b54SAndroid Build Coastguard Worker
170*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 3]
171*4d5d8b54SAndroid Build Coastguard Worker
172*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
173*4d5d8b54SAndroid Build Coastguard Worker
174*4d5d8b54SAndroid Build Coastguard Worker
175*4d5d8b54SAndroid Build Coastguard Worker   the application/ogg type and RECOMMENDED for video/ogg and audio/ogg,
176*4d5d8b54SAndroid Build Coastguard Worker   as Skeleton contains identifiers to describe the different
177*4d5d8b54SAndroid Build Coastguard Worker   encapsulated data.
178*4d5d8b54SAndroid Build Coastguard Worker
179*4d5d8b54SAndroid Build Coastguard Worker   Furthermore, it is RECOMMENDED that implementations that identify a
180*4d5d8b54SAndroid Build Coastguard Worker   logical bitstream that they cannot decode SHOULD ignore it, while
181*4d5d8b54SAndroid Build Coastguard Worker   continuing to decode the ones they can.  Such precaution ensures
182*4d5d8b54SAndroid Build Coastguard Worker   backward and forward compatibility with existing and future data.
183*4d5d8b54SAndroid Build Coastguard Worker
184*4d5d8b54SAndroid Build Coastguard Worker   These media types can optionally use the "codecs" parameter described
185*4d5d8b54SAndroid Build Coastguard Worker   in [RFC4281].  Codecs encapsulated in Ogg require a text identifier
186*4d5d8b54SAndroid Build Coastguard Worker   at the beginning of the first header page, hence a machine-readable
187*4d5d8b54SAndroid Build Coastguard Worker   method to identify the encapsulated codecs would be through this
188*4d5d8b54SAndroid Build Coastguard Worker   header.  The following table illustrates how those header values map
189*4d5d8b54SAndroid Build Coastguard Worker   into strings that are used in the "codecs" parameter when dealing
190*4d5d8b54SAndroid Build Coastguard Worker   with Ogg media types.
191*4d5d8b54SAndroid Build Coastguard Worker
192*4d5d8b54SAndroid Build Coastguard Worker        Codec Identifier             | Codecs Parameter
193*4d5d8b54SAndroid Build Coastguard Worker       -----------------------------------------------------------
194*4d5d8b54SAndroid Build Coastguard Worker        char[5]: 'BBCD\0'            | dirac
195*4d5d8b54SAndroid Build Coastguard Worker        char[5]: '\177FLAC'          | flac
196*4d5d8b54SAndroid Build Coastguard Worker        char[7]: '\x80theora'        | theora
197*4d5d8b54SAndroid Build Coastguard Worker        char[7]: '\x01vorbis'        | vorbis
198*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'CELT    '          | celt
199*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'CMML\0\0\0\0'      | cmml
200*4d5d8b54SAndroid Build Coastguard Worker        char[8]: '\213JNG\r\n\032\n' | jng
201*4d5d8b54SAndroid Build Coastguard Worker        char[8]: '\x80kate\0\0\0'    | kate
202*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'OggMIDI\0'         | midi
203*4d5d8b54SAndroid Build Coastguard Worker        char[8]: '\212MNG\r\n\032\n' | mng
204*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'PCM     '          | pcm
205*4d5d8b54SAndroid Build Coastguard Worker        char[8]: '\211PNG\r\n\032\n' | png
206*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'Speex   '          | speex
207*4d5d8b54SAndroid Build Coastguard Worker        char[8]: 'YUV4MPEG'          | yuv4mpeg
208*4d5d8b54SAndroid Build Coastguard Worker
209*4d5d8b54SAndroid Build Coastguard Worker   An up-to-date version of this table is kept at Xiph.org (see
210*4d5d8b54SAndroid Build Coastguard Worker   [Codecs]).
211*4d5d8b54SAndroid Build Coastguard Worker
212*4d5d8b54SAndroid Build Coastguard Worker   Possible examples include:
213*4d5d8b54SAndroid Build Coastguard Worker
214*4d5d8b54SAndroid Build Coastguard Worker   o  application/ogg; codecs="theora, cmml, ecmascript"
215*4d5d8b54SAndroid Build Coastguard Worker
216*4d5d8b54SAndroid Build Coastguard Worker   o  video/ogg; codecs="theora, vorbis"
217*4d5d8b54SAndroid Build Coastguard Worker
218*4d5d8b54SAndroid Build Coastguard Worker   o  audio/ogg; codecs=speex
219*4d5d8b54SAndroid Build Coastguard Worker
220*4d5d8b54SAndroid Build Coastguard Worker
221*4d5d8b54SAndroid Build Coastguard Worker
222*4d5d8b54SAndroid Build Coastguard Worker
223*4d5d8b54SAndroid Build Coastguard Worker
224*4d5d8b54SAndroid Build Coastguard Worker
225*4d5d8b54SAndroid Build Coastguard Worker
226*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 4]
227*4d5d8b54SAndroid Build Coastguard Worker
228*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
229*4d5d8b54SAndroid Build Coastguard Worker
230*4d5d8b54SAndroid Build Coastguard Worker
231*4d5d8b54SAndroid Build Coastguard Worker5.  Relation between the Media Types
232*4d5d8b54SAndroid Build Coastguard Worker
233*4d5d8b54SAndroid Build Coastguard Worker   As stated in the previous section, this document describes three
234*4d5d8b54SAndroid Build Coastguard Worker   media types that are targeted at different data encapsulated in Ogg.
235*4d5d8b54SAndroid Build Coastguard Worker   Since Ogg is capable of encapsulating any kind of data, the multiple
236*4d5d8b54SAndroid Build Coastguard Worker   usage scenarios have revealed interoperability issues between
237*4d5d8b54SAndroid Build Coastguard Worker   implementations when dealing with content served solely under the
238*4d5d8b54SAndroid Build Coastguard Worker   application/ogg type.
239*4d5d8b54SAndroid Build Coastguard Worker
240*4d5d8b54SAndroid Build Coastguard Worker   While this document does redefine the earlier definition of
241*4d5d8b54SAndroid Build Coastguard Worker   application/ogg, this media type will continue to embrace the widest
242*4d5d8b54SAndroid Build Coastguard Worker   net possible of content with the video/ogg and audio/ogg types being
243*4d5d8b54SAndroid Build Coastguard Worker   smaller subsets of it.  However, the video/ogg and audio/ogg types
244*4d5d8b54SAndroid Build Coastguard Worker   take precedence in a subset of the usages, specifically when serving
245*4d5d8b54SAndroid Build Coastguard Worker   multimedia content that is not complex enough to warrant the use of
246*4d5d8b54SAndroid Build Coastguard Worker   application/ogg.  Following this line of thought, the audio/ogg type
247*4d5d8b54SAndroid Build Coastguard Worker   is an even smaller subset within video/ogg, as it is not intended to
248*4d5d8b54SAndroid Build Coastguard Worker   refer to visual content.
249*4d5d8b54SAndroid Build Coastguard Worker
250*4d5d8b54SAndroid Build Coastguard Worker   As such, the application/ogg type is the recommended choice to serve
251*4d5d8b54SAndroid Build Coastguard Worker   content aimed at scientific and other applications that require
252*4d5d8b54SAndroid Build Coastguard Worker   various multiplexed signals or streams of continuous data, with or
253*4d5d8b54SAndroid Build Coastguard Worker   without scriptable control of content.  For bitstreams containing
254*4d5d8b54SAndroid Build Coastguard Worker   visual, timed text, and any other type of material that requires a
255*4d5d8b54SAndroid Build Coastguard Worker   visual interface, but that is not complex enough to warrant serving
256*4d5d8b54SAndroid Build Coastguard Worker   under application/ogg, the video/ogg type is recommended.  In
257*4d5d8b54SAndroid Build Coastguard Worker   situations where the Ogg bitstream predominantly contains audio data
258*4d5d8b54SAndroid Build Coastguard Worker   (lyrics, metadata, or cover art notwithstanding), it is recommended
259*4d5d8b54SAndroid Build Coastguard Worker   to use the audio/ogg type.
260*4d5d8b54SAndroid Build Coastguard Worker
261*4d5d8b54SAndroid Build Coastguard Worker6.  Encoding Considerations
262*4d5d8b54SAndroid Build Coastguard Worker
263*4d5d8b54SAndroid Build Coastguard Worker   Binary: The content consists of an unrestricted sequence of octets.
264*4d5d8b54SAndroid Build Coastguard Worker
265*4d5d8b54SAndroid Build Coastguard Worker   Note:
266*4d5d8b54SAndroid Build Coastguard Worker
267*4d5d8b54SAndroid Build Coastguard Worker   o  Ogg encapsulated content is binary data and should be transmitted
268*4d5d8b54SAndroid Build Coastguard Worker      in a suitable encoding without CR/LF conversion, 7-bit stripping,
269*4d5d8b54SAndroid Build Coastguard Worker      etc.; base64 [RFC4648] is generally preferred for binary-to-text
270*4d5d8b54SAndroid Build Coastguard Worker      encoding.
271*4d5d8b54SAndroid Build Coastguard Worker
272*4d5d8b54SAndroid Build Coastguard Worker   o  Media types described in this document are used for stream based
273*4d5d8b54SAndroid Build Coastguard Worker      storage (such as files) and transport (such as TCP streams or
274*4d5d8b54SAndroid Build Coastguard Worker      pipes); separate types are used to identify codecs such as in
275*4d5d8b54SAndroid Build Coastguard Worker      real-time applications for the RTP payload formats of Theora
276*4d5d8b54SAndroid Build Coastguard Worker      [ThRTP] video, Vorbis [RFC5215], or Speex [SpRTP] audio, as well
277*4d5d8b54SAndroid Build Coastguard Worker      as for identification of encapsulated data within Ogg through
278*4d5d8b54SAndroid Build Coastguard Worker      Skeleton.
279*4d5d8b54SAndroid Build Coastguard Worker
280*4d5d8b54SAndroid Build Coastguard Worker
281*4d5d8b54SAndroid Build Coastguard Worker
282*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 5]
283*4d5d8b54SAndroid Build Coastguard Worker
284*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
285*4d5d8b54SAndroid Build Coastguard Worker
286*4d5d8b54SAndroid Build Coastguard Worker
287*4d5d8b54SAndroid Build Coastguard Worker7.  Security Considerations
288*4d5d8b54SAndroid Build Coastguard Worker
289*4d5d8b54SAndroid Build Coastguard Worker   Refer to [RFC3552] for a discussion of terminology used in this
290*4d5d8b54SAndroid Build Coastguard Worker   section.
291*4d5d8b54SAndroid Build Coastguard Worker
292*4d5d8b54SAndroid Build Coastguard Worker   The Ogg encapsulation format is a container and only a carrier of
293*4d5d8b54SAndroid Build Coastguard Worker   content (such as audio, video, and displayable text data) with a very
294*4d5d8b54SAndroid Build Coastguard Worker   rigid definition.  This format in itself is not more vulnerable than
295*4d5d8b54SAndroid Build Coastguard Worker   any other content framing mechanism.
296*4d5d8b54SAndroid Build Coastguard Worker
297*4d5d8b54SAndroid Build Coastguard Worker   Ogg does not provide for any generic encryption or signing of itself
298*4d5d8b54SAndroid Build Coastguard Worker   or its contained bitstreams.  However, it encapsulates any kind of
299*4d5d8b54SAndroid Build Coastguard Worker   binary content and is thus able to contain encrypted and signed
300*4d5d8b54SAndroid Build Coastguard Worker   content data.  It is also possible to add an external security
301*4d5d8b54SAndroid Build Coastguard Worker   mechanism that encrypts or signs an Ogg bitstream and thus provides
302*4d5d8b54SAndroid Build Coastguard Worker   content confidentiality and authenticity.
303*4d5d8b54SAndroid Build Coastguard Worker
304*4d5d8b54SAndroid Build Coastguard Worker   As Ogg encapsulates binary data, it is possible to include executable
305*4d5d8b54SAndroid Build Coastguard Worker   content in an Ogg bitstream.  Implementations SHOULD NOT execute such
306*4d5d8b54SAndroid Build Coastguard Worker   content without prior validation of its origin by the end-user.
307*4d5d8b54SAndroid Build Coastguard Worker
308*4d5d8b54SAndroid Build Coastguard Worker   Issues may arise on applications that use Ogg for streaming or file
309*4d5d8b54SAndroid Build Coastguard Worker   transfer in a networking scenario.  In such cases, implementations
310*4d5d8b54SAndroid Build Coastguard Worker   decoding Ogg and its encapsulated bitstreams have to ensure correct
311*4d5d8b54SAndroid Build Coastguard Worker   handling of manipulated bitstreams, of buffer overflows, and similar
312*4d5d8b54SAndroid Build Coastguard Worker   issues.
313*4d5d8b54SAndroid Build Coastguard Worker
314*4d5d8b54SAndroid Build Coastguard Worker   It is also possible to author malicious Ogg bitstreams, which attempt
315*4d5d8b54SAndroid Build Coastguard Worker   to call for an excessively large picture size, high sampling-rate
316*4d5d8b54SAndroid Build Coastguard Worker   audio, etc.  Implementations SHOULD protect themselves against this
317*4d5d8b54SAndroid Build Coastguard Worker   kind of attack.
318*4d5d8b54SAndroid Build Coastguard Worker
319*4d5d8b54SAndroid Build Coastguard Worker   Ogg has an extensible structure, so that it is theoretically possible
320*4d5d8b54SAndroid Build Coastguard Worker   that metadata fields or media formats might be defined in the future
321*4d5d8b54SAndroid Build Coastguard Worker   which might be used to induce particular actions on the part of the
322*4d5d8b54SAndroid Build Coastguard Worker   recipient, thus presenting additional security risks.  However, this
323*4d5d8b54SAndroid Build Coastguard Worker   type of capability is currently not supported in the referenced
324*4d5d8b54SAndroid Build Coastguard Worker   specification.
325*4d5d8b54SAndroid Build Coastguard Worker
326*4d5d8b54SAndroid Build Coastguard Worker   Implementations may fail to implement a specific security model or
327*4d5d8b54SAndroid Build Coastguard Worker   other means to prevent possibly dangerous operations.  Such failure
328*4d5d8b54SAndroid Build Coastguard Worker   might possibly be exploited to gain unauthorized access to a system
329*4d5d8b54SAndroid Build Coastguard Worker   or sensitive information; such failure constitutes an unknown factor
330*4d5d8b54SAndroid Build Coastguard Worker   and is thus considered out of the scope of this document.
331*4d5d8b54SAndroid Build Coastguard Worker
332*4d5d8b54SAndroid Build Coastguard Worker
333*4d5d8b54SAndroid Build Coastguard Worker
334*4d5d8b54SAndroid Build Coastguard Worker
335*4d5d8b54SAndroid Build Coastguard Worker
336*4d5d8b54SAndroid Build Coastguard Worker
337*4d5d8b54SAndroid Build Coastguard Worker
338*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 6]
339*4d5d8b54SAndroid Build Coastguard Worker
340*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
341*4d5d8b54SAndroid Build Coastguard Worker
342*4d5d8b54SAndroid Build Coastguard Worker
343*4d5d8b54SAndroid Build Coastguard Worker8.  Interoperability Considerations
344*4d5d8b54SAndroid Build Coastguard Worker
345*4d5d8b54SAndroid Build Coastguard Worker   The Ogg container format is device-, platform-, and vendor-neutral
346*4d5d8b54SAndroid Build Coastguard Worker   and has proved to be widely implementable across different computing
347*4d5d8b54SAndroid Build Coastguard Worker   platforms through a wide range of encoders and decoders.  A broadly
348*4d5d8b54SAndroid Build Coastguard Worker   portable reference implementation [libogg] is available under the
349*4d5d8b54SAndroid Build Coastguard Worker   revised (3-clause) BSD license, which is a Free Software license.
350*4d5d8b54SAndroid Build Coastguard Worker
351*4d5d8b54SAndroid Build Coastguard Worker   The Xiph.Org Foundation has defined the specification,
352*4d5d8b54SAndroid Build Coastguard Worker   interoperability, and conformance and conducts regular
353*4d5d8b54SAndroid Build Coastguard Worker   interoperability testing.
354*4d5d8b54SAndroid Build Coastguard Worker
355*4d5d8b54SAndroid Build Coastguard Worker   The use of the Ogg Skeleton extension has been confirmed to not cause
356*4d5d8b54SAndroid Build Coastguard Worker   interoperability issues with existing implementations.  Third parties
357*4d5d8b54SAndroid Build Coastguard Worker   are, however, welcome to conduct their own testing.
358*4d5d8b54SAndroid Build Coastguard Worker
359*4d5d8b54SAndroid Build Coastguard Worker9.  IANA Considerations
360*4d5d8b54SAndroid Build Coastguard Worker
361*4d5d8b54SAndroid Build Coastguard Worker   In accordance with the procedures set forth in [RFC4288], this
362*4d5d8b54SAndroid Build Coastguard Worker   document registers two new media types and redefines the existing
363*4d5d8b54SAndroid Build Coastguard Worker   application/ogg as defined in the following section.
364*4d5d8b54SAndroid Build Coastguard Worker
365*4d5d8b54SAndroid Build Coastguard Worker10.  Ogg Media Types
366*4d5d8b54SAndroid Build Coastguard Worker
367*4d5d8b54SAndroid Build Coastguard Worker10.1.  application/ogg
368*4d5d8b54SAndroid Build Coastguard Worker
369*4d5d8b54SAndroid Build Coastguard Worker   Type name: application
370*4d5d8b54SAndroid Build Coastguard Worker
371*4d5d8b54SAndroid Build Coastguard Worker   Subtype name: ogg
372*4d5d8b54SAndroid Build Coastguard Worker
373*4d5d8b54SAndroid Build Coastguard Worker   Required parameters: none
374*4d5d8b54SAndroid Build Coastguard Worker
375*4d5d8b54SAndroid Build Coastguard Worker   Optional parameters: codecs, whose syntax is defined in RFC 4281.
376*4d5d8b54SAndroid Build Coastguard Worker   See section 4 of RFC 5334 for a list of allowed values.
377*4d5d8b54SAndroid Build Coastguard Worker
378*4d5d8b54SAndroid Build Coastguard Worker   Encoding considerations: See section 6 of RFC 5334.
379*4d5d8b54SAndroid Build Coastguard Worker
380*4d5d8b54SAndroid Build Coastguard Worker   Security considerations: See section 7 of RFC 5334.
381*4d5d8b54SAndroid Build Coastguard Worker
382*4d5d8b54SAndroid Build Coastguard Worker   Interoperability considerations: None, as noted in section 8 of RFC
383*4d5d8b54SAndroid Build Coastguard Worker   5334.
384*4d5d8b54SAndroid Build Coastguard Worker
385*4d5d8b54SAndroid Build Coastguard Worker   Published specification: RFC 3533
386*4d5d8b54SAndroid Build Coastguard Worker
387*4d5d8b54SAndroid Build Coastguard Worker   Applications which use this media type: Scientific and otherwise that
388*4d5d8b54SAndroid Build Coastguard Worker   require various multiplexed signals or streams of data, with or
389*4d5d8b54SAndroid Build Coastguard Worker   without scriptable control of content.
390*4d5d8b54SAndroid Build Coastguard Worker
391*4d5d8b54SAndroid Build Coastguard Worker
392*4d5d8b54SAndroid Build Coastguard Worker
393*4d5d8b54SAndroid Build Coastguard Worker
394*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 7]
395*4d5d8b54SAndroid Build Coastguard Worker
396*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
397*4d5d8b54SAndroid Build Coastguard Worker
398*4d5d8b54SAndroid Build Coastguard Worker
399*4d5d8b54SAndroid Build Coastguard Worker   Additional information:
400*4d5d8b54SAndroid Build Coastguard Worker
401*4d5d8b54SAndroid Build Coastguard Worker   Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
402*4d5d8b54SAndroid Build Coastguard Worker   correspond to the string "OggS".
403*4d5d8b54SAndroid Build Coastguard Worker
404*4d5d8b54SAndroid Build Coastguard Worker   File extension(s): .ogx
405*4d5d8b54SAndroid Build Coastguard Worker
406*4d5d8b54SAndroid Build Coastguard Worker      RFC 3534 defined the file extension .ogg for application/ogg,
407*4d5d8b54SAndroid Build Coastguard Worker      which RFC 5334 obsoletes in favor of .ogx due to concerns where,
408*4d5d8b54SAndroid Build Coastguard Worker      historically, some implementations expect .ogg files to be solely
409*4d5d8b54SAndroid Build Coastguard Worker      Vorbis-encoded audio.
410*4d5d8b54SAndroid Build Coastguard Worker
411*4d5d8b54SAndroid Build Coastguard Worker   Macintosh File Type Code(s): OggX
412*4d5d8b54SAndroid Build Coastguard Worker
413*4d5d8b54SAndroid Build Coastguard Worker   Person & Email address to contact for further information: See
414*4d5d8b54SAndroid Build Coastguard Worker   "Authors' Addresses" section.
415*4d5d8b54SAndroid Build Coastguard Worker
416*4d5d8b54SAndroid Build Coastguard Worker   Intended usage: COMMON
417*4d5d8b54SAndroid Build Coastguard Worker
418*4d5d8b54SAndroid Build Coastguard Worker   Restrictions on usage: The type application/ogg SHOULD only be used
419*4d5d8b54SAndroid Build Coastguard Worker   in situations where it is not appropriate to serve data under the
420*4d5d8b54SAndroid Build Coastguard Worker   video/ogg or audio/ogg types.  Data served under the application/ogg
421*4d5d8b54SAndroid Build Coastguard Worker   type SHOULD use the .ogx file extension and MUST contain an Ogg
422*4d5d8b54SAndroid Build Coastguard Worker   Skeleton logical bitstream to identify all other contained logical
423*4d5d8b54SAndroid Build Coastguard Worker   bitstreams.
424*4d5d8b54SAndroid Build Coastguard Worker
425*4d5d8b54SAndroid Build Coastguard Worker   Author: See "Authors' Addresses" section.
426*4d5d8b54SAndroid Build Coastguard Worker
427*4d5d8b54SAndroid Build Coastguard Worker   Change controller: The Xiph.Org Foundation.
428*4d5d8b54SAndroid Build Coastguard Worker
429*4d5d8b54SAndroid Build Coastguard Worker10.2.  video/ogg
430*4d5d8b54SAndroid Build Coastguard Worker
431*4d5d8b54SAndroid Build Coastguard Worker   Type name: video
432*4d5d8b54SAndroid Build Coastguard Worker
433*4d5d8b54SAndroid Build Coastguard Worker   Subtype name: ogg
434*4d5d8b54SAndroid Build Coastguard Worker
435*4d5d8b54SAndroid Build Coastguard Worker   Required parameters: none
436*4d5d8b54SAndroid Build Coastguard Worker
437*4d5d8b54SAndroid Build Coastguard Worker   Optional parameters: codecs, whose syntax is defined in RFC 4281.
438*4d5d8b54SAndroid Build Coastguard Worker   See section 4 of RFC 5334 for a list of allowed values.
439*4d5d8b54SAndroid Build Coastguard Worker
440*4d5d8b54SAndroid Build Coastguard Worker   Encoding considerations: See section 6 of RFC 5334.
441*4d5d8b54SAndroid Build Coastguard Worker
442*4d5d8b54SAndroid Build Coastguard Worker   Security considerations: See section 7 of RFC 5334.
443*4d5d8b54SAndroid Build Coastguard Worker
444*4d5d8b54SAndroid Build Coastguard Worker   Interoperability considerations: None, as noted in section 8 of RFC
445*4d5d8b54SAndroid Build Coastguard Worker   5334.
446*4d5d8b54SAndroid Build Coastguard Worker
447*4d5d8b54SAndroid Build Coastguard Worker
448*4d5d8b54SAndroid Build Coastguard Worker
449*4d5d8b54SAndroid Build Coastguard Worker
450*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 8]
451*4d5d8b54SAndroid Build Coastguard Worker
452*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
453*4d5d8b54SAndroid Build Coastguard Worker
454*4d5d8b54SAndroid Build Coastguard Worker
455*4d5d8b54SAndroid Build Coastguard Worker   Published specification: RFC 3533
456*4d5d8b54SAndroid Build Coastguard Worker
457*4d5d8b54SAndroid Build Coastguard Worker   Applications which use this media type: Multimedia applications,
458*4d5d8b54SAndroid Build Coastguard Worker   including embedded, streaming, and conferencing tools.
459*4d5d8b54SAndroid Build Coastguard Worker
460*4d5d8b54SAndroid Build Coastguard Worker   Additional information:
461*4d5d8b54SAndroid Build Coastguard Worker
462*4d5d8b54SAndroid Build Coastguard Worker   Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
463*4d5d8b54SAndroid Build Coastguard Worker   correspond to the string "OggS".
464*4d5d8b54SAndroid Build Coastguard Worker
465*4d5d8b54SAndroid Build Coastguard Worker   File extension(s): .ogv
466*4d5d8b54SAndroid Build Coastguard Worker
467*4d5d8b54SAndroid Build Coastguard Worker   Macintosh File Type Code(s): OggV
468*4d5d8b54SAndroid Build Coastguard Worker
469*4d5d8b54SAndroid Build Coastguard Worker   Person & Email address to contact for further information: See
470*4d5d8b54SAndroid Build Coastguard Worker   "Authors' Addresses" section.
471*4d5d8b54SAndroid Build Coastguard Worker
472*4d5d8b54SAndroid Build Coastguard Worker   Intended usage: COMMON
473*4d5d8b54SAndroid Build Coastguard Worker
474*4d5d8b54SAndroid Build Coastguard Worker   Restrictions on usage: The type "video/ogg" SHOULD be used for Ogg
475*4d5d8b54SAndroid Build Coastguard Worker   bitstreams containing visual, audio, timed text, or any other type of
476*4d5d8b54SAndroid Build Coastguard Worker   material that requires a visual interface.  It is intended for
477*4d5d8b54SAndroid Build Coastguard Worker   content not complex enough to warrant serving under "application/
478*4d5d8b54SAndroid Build Coastguard Worker   ogg"; for example, a combination of Theora video, Vorbis audio,
479*4d5d8b54SAndroid Build Coastguard Worker   Skeleton metadata, and CMML captioning.  Data served under the type
480*4d5d8b54SAndroid Build Coastguard Worker   "video/ogg" SHOULD contain an Ogg Skeleton logical bitstream.
481*4d5d8b54SAndroid Build Coastguard Worker   Implementations interacting with the type "video/ogg" SHOULD support
482*4d5d8b54SAndroid Build Coastguard Worker   multiplexed bitstreams.
483*4d5d8b54SAndroid Build Coastguard Worker
484*4d5d8b54SAndroid Build Coastguard Worker   Author: See "Authors' Addresses" section.
485*4d5d8b54SAndroid Build Coastguard Worker
486*4d5d8b54SAndroid Build Coastguard Worker   Change controller: The Xiph.Org Foundation.
487*4d5d8b54SAndroid Build Coastguard Worker
488*4d5d8b54SAndroid Build Coastguard Worker10.3.  audio/ogg
489*4d5d8b54SAndroid Build Coastguard Worker
490*4d5d8b54SAndroid Build Coastguard Worker   Type name: audio
491*4d5d8b54SAndroid Build Coastguard Worker
492*4d5d8b54SAndroid Build Coastguard Worker   Subtype name: ogg
493*4d5d8b54SAndroid Build Coastguard Worker
494*4d5d8b54SAndroid Build Coastguard Worker   Required parameters: none
495*4d5d8b54SAndroid Build Coastguard Worker
496*4d5d8b54SAndroid Build Coastguard Worker   Optional parameters: codecs, whose syntax is defined in RFC 4281.
497*4d5d8b54SAndroid Build Coastguard Worker   See section 4 of RFC 5334 for a list of allowed values.
498*4d5d8b54SAndroid Build Coastguard Worker
499*4d5d8b54SAndroid Build Coastguard Worker   Encoding considerations: See section 6 of RFC 5334.
500*4d5d8b54SAndroid Build Coastguard Worker
501*4d5d8b54SAndroid Build Coastguard Worker   Security considerations: See section 7 of RFC 5334.
502*4d5d8b54SAndroid Build Coastguard Worker
503*4d5d8b54SAndroid Build Coastguard Worker
504*4d5d8b54SAndroid Build Coastguard Worker
505*4d5d8b54SAndroid Build Coastguard Worker
506*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                     [Page 9]
507*4d5d8b54SAndroid Build Coastguard Worker
508*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
509*4d5d8b54SAndroid Build Coastguard Worker
510*4d5d8b54SAndroid Build Coastguard Worker
511*4d5d8b54SAndroid Build Coastguard Worker   Interoperability considerations: None, as noted in section 8 of RFC
512*4d5d8b54SAndroid Build Coastguard Worker   5334.
513*4d5d8b54SAndroid Build Coastguard Worker
514*4d5d8b54SAndroid Build Coastguard Worker   Published specification: RFC 3533
515*4d5d8b54SAndroid Build Coastguard Worker
516*4d5d8b54SAndroid Build Coastguard Worker   Applications which use this media type: Multimedia applications,
517*4d5d8b54SAndroid Build Coastguard Worker   including embedded, streaming, and conferencing tools.
518*4d5d8b54SAndroid Build Coastguard Worker
519*4d5d8b54SAndroid Build Coastguard Worker   Additional information:
520*4d5d8b54SAndroid Build Coastguard Worker
521*4d5d8b54SAndroid Build Coastguard Worker   Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
522*4d5d8b54SAndroid Build Coastguard Worker   correspond to the string "OggS".
523*4d5d8b54SAndroid Build Coastguard Worker
524*4d5d8b54SAndroid Build Coastguard Worker   File extension(s): .oga, .ogg, .spx
525*4d5d8b54SAndroid Build Coastguard Worker
526*4d5d8b54SAndroid Build Coastguard Worker   Macintosh File Type Code(s): OggA
527*4d5d8b54SAndroid Build Coastguard Worker
528*4d5d8b54SAndroid Build Coastguard Worker   Person & Email address to contact for further information: See
529*4d5d8b54SAndroid Build Coastguard Worker   "Authors' Addresses" section.
530*4d5d8b54SAndroid Build Coastguard Worker
531*4d5d8b54SAndroid Build Coastguard Worker   Intended usage: COMMON
532*4d5d8b54SAndroid Build Coastguard Worker
533*4d5d8b54SAndroid Build Coastguard Worker   Restrictions on usage: The type "audio/ogg" SHOULD be used when the
534*4d5d8b54SAndroid Build Coastguard Worker   Ogg bitstream predominantly contains audio data.  Content served
535*4d5d8b54SAndroid Build Coastguard Worker   under the "audio/ogg" type SHOULD have an Ogg Skeleton logical
536*4d5d8b54SAndroid Build Coastguard Worker   bitstream when using the default .oga file extension.  The .ogg and
537*4d5d8b54SAndroid Build Coastguard Worker   .spx file extensions indicate a specialization that requires no
538*4d5d8b54SAndroid Build Coastguard Worker   Skeleton due to backward compatibility concerns with existing
539*4d5d8b54SAndroid Build Coastguard Worker   implementations.  In particular, .ogg is used for Ogg files that
540*4d5d8b54SAndroid Build Coastguard Worker   contain only a Vorbis bitstream, while .spx is used for Ogg files
541*4d5d8b54SAndroid Build Coastguard Worker   that contain only a Speex bitstream.
542*4d5d8b54SAndroid Build Coastguard Worker
543*4d5d8b54SAndroid Build Coastguard Worker   Author: See "Authors' Addresses" section.
544*4d5d8b54SAndroid Build Coastguard Worker
545*4d5d8b54SAndroid Build Coastguard Worker   Change controller: The Xiph.Org Foundation.
546*4d5d8b54SAndroid Build Coastguard Worker
547*4d5d8b54SAndroid Build Coastguard Worker11.  Acknowledgements
548*4d5d8b54SAndroid Build Coastguard Worker
549*4d5d8b54SAndroid Build Coastguard Worker   The authors gratefully acknowledge the contributions of Magnus
550*4d5d8b54SAndroid Build Coastguard Worker   Westerlund, Alfred Hoenes, and Peter Saint-Andre.
551*4d5d8b54SAndroid Build Coastguard Worker
552*4d5d8b54SAndroid Build Coastguard Worker12.  Copying Conditions
553*4d5d8b54SAndroid Build Coastguard Worker
554*4d5d8b54SAndroid Build Coastguard Worker   The authors agree to grant third parties the irrevocable right to
555*4d5d8b54SAndroid Build Coastguard Worker   copy, use and distribute the work, with or without modification, in
556*4d5d8b54SAndroid Build Coastguard Worker   any medium, without royalty, provided that, unless separate
557*4d5d8b54SAndroid Build Coastguard Worker   permission is granted, redistributed modified works do not contain
558*4d5d8b54SAndroid Build Coastguard Worker   misleading author, version, name of work, or endorsement information.
559*4d5d8b54SAndroid Build Coastguard Worker
560*4d5d8b54SAndroid Build Coastguard Worker
561*4d5d8b54SAndroid Build Coastguard Worker
562*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                    [Page 10]
563*4d5d8b54SAndroid Build Coastguard Worker
564*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
565*4d5d8b54SAndroid Build Coastguard Worker
566*4d5d8b54SAndroid Build Coastguard Worker
567*4d5d8b54SAndroid Build Coastguard Worker13.  References
568*4d5d8b54SAndroid Build Coastguard Worker
569*4d5d8b54SAndroid Build Coastguard Worker13.1.  Normative References
570*4d5d8b54SAndroid Build Coastguard Worker
571*4d5d8b54SAndroid Build Coastguard Worker   [RFC2045]   Freed, N. and N. Borenstein, "Multipurpose Internet Mail
572*4d5d8b54SAndroid Build Coastguard Worker               Extensions (MIME) Part One: Format of Internet Message
573*4d5d8b54SAndroid Build Coastguard Worker               Bodies", RFC 2045, November 1996.
574*4d5d8b54SAndroid Build Coastguard Worker
575*4d5d8b54SAndroid Build Coastguard Worker   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
576*4d5d8b54SAndroid Build Coastguard Worker               Requirement Levels", BCP 14, RFC 2119, March 1997.
577*4d5d8b54SAndroid Build Coastguard Worker
578*4d5d8b54SAndroid Build Coastguard Worker   [RFC3533]   Pfeiffer, S., "The Ogg Encapsulation Format Version 0",
579*4d5d8b54SAndroid Build Coastguard Worker               RFC 3533, May 2003.
580*4d5d8b54SAndroid Build Coastguard Worker
581*4d5d8b54SAndroid Build Coastguard Worker   [RFC4281]   Gellens, R., Singer, D., and P. Frojdh, "The Codecs
582*4d5d8b54SAndroid Build Coastguard Worker               Parameter for "Bucket" Media Types", RFC 4281,
583*4d5d8b54SAndroid Build Coastguard Worker               November 2005.
584*4d5d8b54SAndroid Build Coastguard Worker
585*4d5d8b54SAndroid Build Coastguard Worker   [RFC4288]   Freed, N. and J. Klensin, "Media Type Specifications and
586*4d5d8b54SAndroid Build Coastguard Worker               Registration Procedures", BCP 13, RFC 4288,
587*4d5d8b54SAndroid Build Coastguard Worker               December 2005.
588*4d5d8b54SAndroid Build Coastguard Worker
589*4d5d8b54SAndroid Build Coastguard Worker13.2.  Informative References
590*4d5d8b54SAndroid Build Coastguard Worker
591*4d5d8b54SAndroid Build Coastguard Worker   [CMML]      Pfeiffer, S., Parker, C., and A. Pang, "The Continuous
592*4d5d8b54SAndroid Build Coastguard Worker               Media Markup Language (CMML)", Work in Progress,
593*4d5d8b54SAndroid Build Coastguard Worker               March 2006.
594*4d5d8b54SAndroid Build Coastguard Worker
595*4d5d8b54SAndroid Build Coastguard Worker   [Codecs]    Pfeiffer, S. and I. Goncalves, "Specification of MIME
596*4d5d8b54SAndroid Build Coastguard Worker               types and respective codecs parameter", July 2008,
597*4d5d8b54SAndroid Build Coastguard Worker               <http://wiki.xiph.org/index.php/MIMETypesCodecs>.
598*4d5d8b54SAndroid Build Coastguard Worker
599*4d5d8b54SAndroid Build Coastguard Worker   [Dirac]     Dirac Group, "Dirac Specification",
600*4d5d8b54SAndroid Build Coastguard Worker               <http://diracvideo.org/specifications/>.
601*4d5d8b54SAndroid Build Coastguard Worker
602*4d5d8b54SAndroid Build Coastguard Worker   [FLAC]      Coalson, J., "The FLAC Format",
603*4d5d8b54SAndroid Build Coastguard Worker               <http://flac.sourceforge.net/format.html>.
604*4d5d8b54SAndroid Build Coastguard Worker
605*4d5d8b54SAndroid Build Coastguard Worker   [libogg]    Xiph.Org Foundation, "The libogg API", June 2000,
606*4d5d8b54SAndroid Build Coastguard Worker               <http://xiph.org/ogg/doc/libogg>.
607*4d5d8b54SAndroid Build Coastguard Worker
608*4d5d8b54SAndroid Build Coastguard Worker   [Ogg]       Xiph.Org Foundation, "Ogg bitstream documentation: Ogg
609*4d5d8b54SAndroid Build Coastguard Worker               logical and physical bitstream overview, Ogg logical
610*4d5d8b54SAndroid Build Coastguard Worker               bitstream framing, Ogg multi-stream multiplexing",
611*4d5d8b54SAndroid Build Coastguard Worker               <http://xiph.org/ogg/doc>.
612*4d5d8b54SAndroid Build Coastguard Worker
613*4d5d8b54SAndroid Build Coastguard Worker   [RFC3534]   Walleij, L., "The application/ogg Media Type", RFC 3534,
614*4d5d8b54SAndroid Build Coastguard Worker               May 2003.
615*4d5d8b54SAndroid Build Coastguard Worker
616*4d5d8b54SAndroid Build Coastguard Worker
617*4d5d8b54SAndroid Build Coastguard Worker
618*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                    [Page 11]
619*4d5d8b54SAndroid Build Coastguard Worker
620*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
621*4d5d8b54SAndroid Build Coastguard Worker
622*4d5d8b54SAndroid Build Coastguard Worker
623*4d5d8b54SAndroid Build Coastguard Worker   [RFC3552]   Rescorla, E. and B. Korver, "Guidelines for Writing RFC
624*4d5d8b54SAndroid Build Coastguard Worker               Text on Security Considerations", BCP 72, RFC 3552,
625*4d5d8b54SAndroid Build Coastguard Worker               July 2003.
626*4d5d8b54SAndroid Build Coastguard Worker
627*4d5d8b54SAndroid Build Coastguard Worker   [RFC4648]   Josefsson, S., "The Base16, Base32, and Base64 Data
628*4d5d8b54SAndroid Build Coastguard Worker               Encodings", RFC 4648, October 2006.
629*4d5d8b54SAndroid Build Coastguard Worker
630*4d5d8b54SAndroid Build Coastguard Worker   [RFC5215]   Barbato, L., "RTP Payload Format for Vorbis Encoded
631*4d5d8b54SAndroid Build Coastguard Worker               Audio", RFC 5215, August 2008.
632*4d5d8b54SAndroid Build Coastguard Worker
633*4d5d8b54SAndroid Build Coastguard Worker   [Skeleton]  Pfeiffer, S. and C. Parker, "The Ogg Skeleton Metadata
634*4d5d8b54SAndroid Build Coastguard Worker               Bitstream", November 2007,
635*4d5d8b54SAndroid Build Coastguard Worker               <http://xiph.org/ogg/doc/skeleton.html>.
636*4d5d8b54SAndroid Build Coastguard Worker
637*4d5d8b54SAndroid Build Coastguard Worker   [Speex]     Valin, J., "The Speex Codec Manual", February 2002,
638*4d5d8b54SAndroid Build Coastguard Worker               <http://speex.org/docs/manual/speex-manual>.
639*4d5d8b54SAndroid Build Coastguard Worker
640*4d5d8b54SAndroid Build Coastguard Worker   [SpRTP]     Herlein, G., Valin, J., Heggestad, A., and A. Moizard,
641*4d5d8b54SAndroid Build Coastguard Worker               "RTP Payload Format for the Speex Codec", Work
642*4d5d8b54SAndroid Build Coastguard Worker               in Progress, February 2008.
643*4d5d8b54SAndroid Build Coastguard Worker
644*4d5d8b54SAndroid Build Coastguard Worker   [Theora]    Xiph.Org Foundation, "Theora Specification",
645*4d5d8b54SAndroid Build Coastguard Worker               October 2007, <http://theora.org/doc/Theora.pdf>.
646*4d5d8b54SAndroid Build Coastguard Worker
647*4d5d8b54SAndroid Build Coastguard Worker   [ThRTP]     Barbato, L., "RTP Payload Format for Theora Encoded
648*4d5d8b54SAndroid Build Coastguard Worker               Video", Work in Progress, June 2006.
649*4d5d8b54SAndroid Build Coastguard Worker
650*4d5d8b54SAndroid Build Coastguard Worker   [Vorbis]    Xiph.Org Foundation, "Vorbis I Specification", July 2004,
651*4d5d8b54SAndroid Build Coastguard Worker               <http://xiph.org/vorbis/doc/Vorbis_I_spec.html>.
652*4d5d8b54SAndroid Build Coastguard Worker
653*4d5d8b54SAndroid Build Coastguard Worker
654*4d5d8b54SAndroid Build Coastguard Worker
655*4d5d8b54SAndroid Build Coastguard Worker
656*4d5d8b54SAndroid Build Coastguard Worker
657*4d5d8b54SAndroid Build Coastguard Worker
658*4d5d8b54SAndroid Build Coastguard Worker
659*4d5d8b54SAndroid Build Coastguard Worker
660*4d5d8b54SAndroid Build Coastguard Worker
661*4d5d8b54SAndroid Build Coastguard Worker
662*4d5d8b54SAndroid Build Coastguard Worker
663*4d5d8b54SAndroid Build Coastguard Worker
664*4d5d8b54SAndroid Build Coastguard Worker
665*4d5d8b54SAndroid Build Coastguard Worker
666*4d5d8b54SAndroid Build Coastguard Worker
667*4d5d8b54SAndroid Build Coastguard Worker
668*4d5d8b54SAndroid Build Coastguard Worker
669*4d5d8b54SAndroid Build Coastguard Worker
670*4d5d8b54SAndroid Build Coastguard Worker
671*4d5d8b54SAndroid Build Coastguard Worker
672*4d5d8b54SAndroid Build Coastguard Worker
673*4d5d8b54SAndroid Build Coastguard Worker
674*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                    [Page 12]
675*4d5d8b54SAndroid Build Coastguard Worker
676*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
677*4d5d8b54SAndroid Build Coastguard Worker
678*4d5d8b54SAndroid Build Coastguard Worker
679*4d5d8b54SAndroid Build Coastguard WorkerAuthors' Addresses
680*4d5d8b54SAndroid Build Coastguard Worker
681*4d5d8b54SAndroid Build Coastguard Worker   Ivo Emanuel Goncalves
682*4d5d8b54SAndroid Build Coastguard Worker   Xiph.Org Foundation
683*4d5d8b54SAndroid Build Coastguard Worker   21 College Hill Road
684*4d5d8b54SAndroid Build Coastguard Worker   Somerville, MA  02144
685*4d5d8b54SAndroid Build Coastguard Worker   US
686*4d5d8b54SAndroid Build Coastguard Worker
687*4d5d8b54SAndroid Build Coastguard Worker   EMail: [email protected]
688*4d5d8b54SAndroid Build Coastguard Worker   URI:   xmpp:[email protected]
689*4d5d8b54SAndroid Build Coastguard Worker
690*4d5d8b54SAndroid Build Coastguard Worker
691*4d5d8b54SAndroid Build Coastguard Worker   Silvia Pfeiffer
692*4d5d8b54SAndroid Build Coastguard Worker   Xiph.Org Foundation
693*4d5d8b54SAndroid Build Coastguard Worker
694*4d5d8b54SAndroid Build Coastguard Worker   EMail: [email protected]
695*4d5d8b54SAndroid Build Coastguard Worker   URI:   http://annodex.net/
696*4d5d8b54SAndroid Build Coastguard Worker
697*4d5d8b54SAndroid Build Coastguard Worker
698*4d5d8b54SAndroid Build Coastguard Worker   Christopher Montgomery
699*4d5d8b54SAndroid Build Coastguard Worker   Xiph.Org Foundation
700*4d5d8b54SAndroid Build Coastguard Worker
701*4d5d8b54SAndroid Build Coastguard Worker   EMail: [email protected]
702*4d5d8b54SAndroid Build Coastguard Worker   URI:   http://xiph.org
703*4d5d8b54SAndroid Build Coastguard Worker
704*4d5d8b54SAndroid Build Coastguard Worker
705*4d5d8b54SAndroid Build Coastguard Worker
706*4d5d8b54SAndroid Build Coastguard Worker
707*4d5d8b54SAndroid Build Coastguard Worker
708*4d5d8b54SAndroid Build Coastguard Worker
709*4d5d8b54SAndroid Build Coastguard Worker
710*4d5d8b54SAndroid Build Coastguard Worker
711*4d5d8b54SAndroid Build Coastguard Worker
712*4d5d8b54SAndroid Build Coastguard Worker
713*4d5d8b54SAndroid Build Coastguard Worker
714*4d5d8b54SAndroid Build Coastguard Worker
715*4d5d8b54SAndroid Build Coastguard Worker
716*4d5d8b54SAndroid Build Coastguard Worker
717*4d5d8b54SAndroid Build Coastguard Worker
718*4d5d8b54SAndroid Build Coastguard Worker
719*4d5d8b54SAndroid Build Coastguard Worker
720*4d5d8b54SAndroid Build Coastguard Worker
721*4d5d8b54SAndroid Build Coastguard Worker
722*4d5d8b54SAndroid Build Coastguard Worker
723*4d5d8b54SAndroid Build Coastguard Worker
724*4d5d8b54SAndroid Build Coastguard Worker
725*4d5d8b54SAndroid Build Coastguard Worker
726*4d5d8b54SAndroid Build Coastguard Worker
727*4d5d8b54SAndroid Build Coastguard Worker
728*4d5d8b54SAndroid Build Coastguard Worker
729*4d5d8b54SAndroid Build Coastguard Worker
730*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                    [Page 13]
731*4d5d8b54SAndroid Build Coastguard Worker
732*4d5d8b54SAndroid Build Coastguard WorkerRFC 5334                    Ogg Media Types               September 2008
733*4d5d8b54SAndroid Build Coastguard Worker
734*4d5d8b54SAndroid Build Coastguard Worker
735*4d5d8b54SAndroid Build Coastguard WorkerFull Copyright Statement
736*4d5d8b54SAndroid Build Coastguard Worker
737*4d5d8b54SAndroid Build Coastguard Worker   Copyright (C) The IETF Trust (2008).
738*4d5d8b54SAndroid Build Coastguard Worker
739*4d5d8b54SAndroid Build Coastguard Worker   This document is subject to the rights, licenses and restrictions
740*4d5d8b54SAndroid Build Coastguard Worker   contained in BCP 78, and except as set forth therein, the authors
741*4d5d8b54SAndroid Build Coastguard Worker   retain all their rights.
742*4d5d8b54SAndroid Build Coastguard Worker
743*4d5d8b54SAndroid Build Coastguard Worker   This document and the information contained herein are provided on an
744*4d5d8b54SAndroid Build Coastguard Worker   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
745*4d5d8b54SAndroid Build Coastguard Worker   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
746*4d5d8b54SAndroid Build Coastguard Worker   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
747*4d5d8b54SAndroid Build Coastguard Worker   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
748*4d5d8b54SAndroid Build Coastguard Worker   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
749*4d5d8b54SAndroid Build Coastguard Worker   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
750*4d5d8b54SAndroid Build Coastguard Worker
751*4d5d8b54SAndroid Build Coastguard WorkerIntellectual Property
752*4d5d8b54SAndroid Build Coastguard Worker
753*4d5d8b54SAndroid Build Coastguard Worker   The IETF takes no position regarding the validity or scope of any
754*4d5d8b54SAndroid Build Coastguard Worker   Intellectual Property Rights or other rights that might be claimed to
755*4d5d8b54SAndroid Build Coastguard Worker   pertain to the implementation or use of the technology described in
756*4d5d8b54SAndroid Build Coastguard Worker   this document or the extent to which any license under such rights
757*4d5d8b54SAndroid Build Coastguard Worker   might or might not be available; nor does it represent that it has
758*4d5d8b54SAndroid Build Coastguard Worker   made any independent effort to identify any such rights.  Information
759*4d5d8b54SAndroid Build Coastguard Worker   on the procedures with respect to rights in RFC documents can be
760*4d5d8b54SAndroid Build Coastguard Worker   found in BCP 78 and BCP 79.
761*4d5d8b54SAndroid Build Coastguard Worker
762*4d5d8b54SAndroid Build Coastguard Worker   Copies of IPR disclosures made to the IETF Secretariat and any
763*4d5d8b54SAndroid Build Coastguard Worker   assurances of licenses to be made available, or the result of an
764*4d5d8b54SAndroid Build Coastguard Worker   attempt made to obtain a general license or permission for the use of
765*4d5d8b54SAndroid Build Coastguard Worker   such proprietary rights by implementers or users of this
766*4d5d8b54SAndroid Build Coastguard Worker   specification can be obtained from the IETF on-line IPR repository at
767*4d5d8b54SAndroid Build Coastguard Worker   http://www.ietf.org/ipr.
768*4d5d8b54SAndroid Build Coastguard Worker
769*4d5d8b54SAndroid Build Coastguard Worker   The IETF invites any interested party to bring to its attention any
770*4d5d8b54SAndroid Build Coastguard Worker   copyrights, patents or patent applications, or other proprietary
771*4d5d8b54SAndroid Build Coastguard Worker   rights that may cover technology that may be required to implement
772*4d5d8b54SAndroid Build Coastguard Worker   this standard.  Please address the information to the IETF at
773*4d5d8b54SAndroid Build Coastguard Worker   [email protected].
774*4d5d8b54SAndroid Build Coastguard Worker
775*4d5d8b54SAndroid Build Coastguard Worker
776*4d5d8b54SAndroid Build Coastguard Worker
777*4d5d8b54SAndroid Build Coastguard Worker
778*4d5d8b54SAndroid Build Coastguard Worker
779*4d5d8b54SAndroid Build Coastguard Worker
780*4d5d8b54SAndroid Build Coastguard Worker
781*4d5d8b54SAndroid Build Coastguard Worker
782*4d5d8b54SAndroid Build Coastguard Worker
783*4d5d8b54SAndroid Build Coastguard Worker
784*4d5d8b54SAndroid Build Coastguard Worker
785*4d5d8b54SAndroid Build Coastguard Worker
786*4d5d8b54SAndroid Build Coastguard WorkerGoncalves, et al.           Standards Track                    [Page 14]
787*4d5d8b54SAndroid Build Coastguard Worker
788