annotate src/libogg-1.3.0/doc/rfc5334.txt @ 94:d278df1123f9

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