annotate src/libogg-1.3.0/doc/rfc5334.txt @ 23:619f715526df sv_v2.1

Update Vamp plugin SDK to 2.5
author Chris Cannam
date Thu, 09 May 2013 10:52:46 +0100
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