annotate src/libogg-1.3.0/doc/rfc5334.txt @ 83:ae30d91d2ffe

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