mirror of
https://github.com/dhewm/dhewm3-libs.git
synced 2024-11-25 21:41:04 +00:00
788 lines
26 KiB
Text
788 lines
26 KiB
Text
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group I. Goncalves
|
|||
|
Request for Comments: 5334 S. Pfeiffer
|
|||
|
Obsoletes: 3534 C. Montgomery
|
|||
|
Category: Standards Track Xiph
|
|||
|
September 2008
|
|||
|
|
|||
|
|
|||
|
Ogg Media Types
|
|||
|
|
|||
|
Status of This Memo
|
|||
|
|
|||
|
This document specifies an Internet standards track protocol for the
|
|||
|
Internet community, and requests discussion and suggestions for
|
|||
|
improvements. Please refer to the current edition of the "Internet
|
|||
|
Official Protocol Standards" (STD 1) for the standardization state
|
|||
|
and status of this protocol. Distribution of this memo is unlimited.
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
This document describes the registration of media types for the Ogg
|
|||
|
container format and conformance requirements for implementations of
|
|||
|
these types. This document obsoletes RFC 3534.
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 2
|
|||
|
2. Changes Since RFC 3534 . . . . . . . . . . . . . . . . . . 2
|
|||
|
3. Conformance and Document Conventions . . . . . . . . . . . 3
|
|||
|
4. Deployed Media Types and Compatibility . . . . . . . . . . 3
|
|||
|
5. Relation between the Media Types . . . . . . . . . . . . . 5
|
|||
|
6. Encoding Considerations . . . . . . . . . . . . . . . . . . 5
|
|||
|
7. Security Considerations . . . . . . . . . . . . . . . . . . 6
|
|||
|
8. Interoperability Considerations . . . . . . . . . . . . . . 7
|
|||
|
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 7
|
|||
|
10. Ogg Media Types . . . . . . . . . . . . . . . . . . . . . . 7
|
|||
|
10.1. application/ogg . . . . . . . . . . . . . . . . . . . . . . 7
|
|||
|
10.2. video/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
|||
|
10.3. audio/ogg . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
|||
|
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 10
|
|||
|
12. Copying Conditions . . . . . . . . . . . . . . . . . . . . 10
|
|||
|
13. References . . . . . . . . . . . . . . . . . . . . . . . . 11
|
|||
|
13.1. Normative References . . . . . . . . . . . . . . . . . . . 11
|
|||
|
13.2. Informative References . . . . . . . . . . . . . . . . . . 11
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 1]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
This document describes media types for Ogg, a data encapsulation
|
|||
|
format defined by the Xiph.Org Foundation for public use. Refer to
|
|||
|
"Introduction" in [RFC3533] and "Overview" in [Ogg] for background
|
|||
|
information on this container format.
|
|||
|
|
|||
|
Binary data contained in Ogg, such as Vorbis and Theora, has
|
|||
|
historically been interchanged using the application/ogg media type
|
|||
|
as defined by [RFC3534]. This document obsoletes [RFC3534] and
|
|||
|
defines three media types for different types of content in Ogg to
|
|||
|
reflect this usage in the IANA media type registry, to foster
|
|||
|
interoperability by defining underspecified aspects, and to provide
|
|||
|
general security considerations.
|
|||
|
|
|||
|
The Ogg container format is known to contain [Theora] or [Dirac]
|
|||
|
video, [Speex] (narrow-band and wide-band) speech, [Vorbis] or [FLAC]
|
|||
|
audio, and [CMML] timed text/metadata. As Ogg encapsulates binary
|
|||
|
data, it is possible to include any other type of video, audio,
|
|||
|
image, text, or, generally speaking, any time-continuously sampled
|
|||
|
data.
|
|||
|
|
|||
|
While raw packets from these data sources may be used directly by
|
|||
|
transport mechanisms that provide their own framing and packet-
|
|||
|
separation mechanisms (such as UDP datagrams or RTP), Ogg is a
|
|||
|
solution for stream based storage (such as files) and transport (such
|
|||
|
as TCP streams or pipes). The media types defined in this document
|
|||
|
are needed to correctly identify such content when it is served over
|
|||
|
HTTP, included in multi-part documents, or used in other places where
|
|||
|
media types [RFC2045] are used.
|
|||
|
|
|||
|
2. Changes Since RFC 3534
|
|||
|
|
|||
|
o The type "application/ogg" is redefined.
|
|||
|
|
|||
|
o The types "video/ogg" and "audio/ogg" are defined.
|
|||
|
|
|||
|
o New file extensions are defined.
|
|||
|
|
|||
|
o New Macintosh file type codes are defined.
|
|||
|
|
|||
|
o The codecs parameter is defined for optional use.
|
|||
|
|
|||
|
o The Ogg Skeleton extension becomes a recommended addition for
|
|||
|
content served under the new types.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 2]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
3. Conformance and Document Conventions
|
|||
|
|
|||
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
|||
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
|||
|
document are to be interpreted as described in BCP 14, [RFC2119] and
|
|||
|
indicate requirement levels for compliant implementations.
|
|||
|
Requirements apply to all implementations unless otherwise stated.
|
|||
|
|
|||
|
An implementation is a software module that supports one of the media
|
|||
|
types defined in this document. Software modules may support
|
|||
|
multiple media types, but conformance is considered individually for
|
|||
|
each type.
|
|||
|
|
|||
|
Implementations that fail to satisfy one or more "MUST" requirements
|
|||
|
are considered non-compliant. Implementations that satisfy all
|
|||
|
"MUST" requirements, but fail to satisfy one or more "SHOULD"
|
|||
|
requirements, are said to be "conditionally compliant". All other
|
|||
|
implementations are "unconditionally compliant".
|
|||
|
|
|||
|
4. Deployed Media Types and Compatibility
|
|||
|
|
|||
|
The application/ogg media type has been used in an ad hoc fashion to
|
|||
|
label and exchange multimedia content in Ogg containers.
|
|||
|
|
|||
|
Use of the "application" top-level type for this kind of content is
|
|||
|
known to be problematic, in particular since it obfuscates video and
|
|||
|
audio content. This document thus defines the media types,
|
|||
|
|
|||
|
o video/ogg
|
|||
|
|
|||
|
o audio/ogg
|
|||
|
|
|||
|
which are intended for common use and SHOULD be used when dealing
|
|||
|
with video or audio content, respectively. This document also
|
|||
|
obsoletes the [RFC3534] definition of application/ogg and marks it
|
|||
|
for complex data (e.g., multitrack visual, audio, textual, and other
|
|||
|
time-continuously sampled data), which is not clearly video or audio
|
|||
|
data and thus not suited for either the video/ogg or audio/ogg types.
|
|||
|
Refer to the following section for more details.
|
|||
|
|
|||
|
An Ogg bitstream generally consists of one or more logical bitstreams
|
|||
|
that each consist of a series of header and data pages packetising
|
|||
|
time-continuous binary data [RFC3533]. The content types of the
|
|||
|
logical bitstreams may be identified without decoding the header
|
|||
|
pages of the logical bitstreams through use of a [Skeleton]
|
|||
|
bitstream. Using Ogg Skeleton is REQUIRED for content served under
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 3]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
the application/ogg type and RECOMMENDED for video/ogg and audio/ogg,
|
|||
|
as Skeleton contains identifiers to describe the different
|
|||
|
encapsulated data.
|
|||
|
|
|||
|
Furthermore, it is RECOMMENDED that implementations that identify a
|
|||
|
logical bitstream that they cannot decode SHOULD ignore it, while
|
|||
|
continuing to decode the ones they can. Such precaution ensures
|
|||
|
backward and forward compatibility with existing and future data.
|
|||
|
|
|||
|
These media types can optionally use the "codecs" parameter described
|
|||
|
in [RFC4281]. Codecs encapsulated in Ogg require a text identifier
|
|||
|
at the beginning of the first header page, hence a machine-readable
|
|||
|
method to identify the encapsulated codecs would be through this
|
|||
|
header. The following table illustrates how those header values map
|
|||
|
into strings that are used in the "codecs" parameter when dealing
|
|||
|
with Ogg media types.
|
|||
|
|
|||
|
Codec Identifier | Codecs Parameter
|
|||
|
-----------------------------------------------------------
|
|||
|
char[5]: 'BBCD\0' | dirac
|
|||
|
char[5]: '\177FLAC' | flac
|
|||
|
char[7]: '\x80theora' | theora
|
|||
|
char[7]: '\x01vorbis' | vorbis
|
|||
|
char[8]: 'CELT ' | celt
|
|||
|
char[8]: 'CMML\0\0\0\0' | cmml
|
|||
|
char[8]: '\213JNG\r\n\032\n' | jng
|
|||
|
char[8]: '\x80kate\0\0\0' | kate
|
|||
|
char[8]: 'OggMIDI\0' | midi
|
|||
|
char[8]: '\212MNG\r\n\032\n' | mng
|
|||
|
char[8]: 'PCM ' | pcm
|
|||
|
char[8]: '\211PNG\r\n\032\n' | png
|
|||
|
char[8]: 'Speex ' | speex
|
|||
|
char[8]: 'YUV4MPEG' | yuv4mpeg
|
|||
|
|
|||
|
An up-to-date version of this table is kept at Xiph.org (see
|
|||
|
[Codecs]).
|
|||
|
|
|||
|
Possible examples include:
|
|||
|
|
|||
|
o application/ogg; codecs="theora, cmml, ecmascript"
|
|||
|
|
|||
|
o video/ogg; codecs="theora, vorbis"
|
|||
|
|
|||
|
o audio/ogg; codecs=speex
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 4]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
5. Relation between the Media Types
|
|||
|
|
|||
|
As stated in the previous section, this document describes three
|
|||
|
media types that are targeted at different data encapsulated in Ogg.
|
|||
|
Since Ogg is capable of encapsulating any kind of data, the multiple
|
|||
|
usage scenarios have revealed interoperability issues between
|
|||
|
implementations when dealing with content served solely under the
|
|||
|
application/ogg type.
|
|||
|
|
|||
|
While this document does redefine the earlier definition of
|
|||
|
application/ogg, this media type will continue to embrace the widest
|
|||
|
net possible of content with the video/ogg and audio/ogg types being
|
|||
|
smaller subsets of it. However, the video/ogg and audio/ogg types
|
|||
|
take precedence in a subset of the usages, specifically when serving
|
|||
|
multimedia content that is not complex enough to warrant the use of
|
|||
|
application/ogg. Following this line of thought, the audio/ogg type
|
|||
|
is an even smaller subset within video/ogg, as it is not intended to
|
|||
|
refer to visual content.
|
|||
|
|
|||
|
As such, the application/ogg type is the recommended choice to serve
|
|||
|
content aimed at scientific and other applications that require
|
|||
|
various multiplexed signals or streams of continuous data, with or
|
|||
|
without scriptable control of content. For bitstreams containing
|
|||
|
visual, timed text, and any other type of material that requires a
|
|||
|
visual interface, but that is not complex enough to warrant serving
|
|||
|
under application/ogg, the video/ogg type is recommended. In
|
|||
|
situations where the Ogg bitstream predominantly contains audio data
|
|||
|
(lyrics, metadata, or cover art notwithstanding), it is recommended
|
|||
|
to use the audio/ogg type.
|
|||
|
|
|||
|
6. Encoding Considerations
|
|||
|
|
|||
|
Binary: The content consists of an unrestricted sequence of octets.
|
|||
|
|
|||
|
Note:
|
|||
|
|
|||
|
o Ogg encapsulated content is binary data and should be transmitted
|
|||
|
in a suitable encoding without CR/LF conversion, 7-bit stripping,
|
|||
|
etc.; base64 [RFC4648] is generally preferred for binary-to-text
|
|||
|
encoding.
|
|||
|
|
|||
|
o Media types described in this document are used for stream based
|
|||
|
storage (such as files) and transport (such as TCP streams or
|
|||
|
pipes); separate types are used to identify codecs such as in
|
|||
|
real-time applications for the RTP payload formats of Theora
|
|||
|
[ThRTP] video, Vorbis [RFC5215], or Speex [SpRTP] audio, as well
|
|||
|
as for identification of encapsulated data within Ogg through
|
|||
|
Skeleton.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 5]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
7. Security Considerations
|
|||
|
|
|||
|
Refer to [RFC3552] for a discussion of terminology used in this
|
|||
|
section.
|
|||
|
|
|||
|
The Ogg encapsulation format is a container and only a carrier of
|
|||
|
content (such as audio, video, and displayable text data) with a very
|
|||
|
rigid definition. This format in itself is not more vulnerable than
|
|||
|
any other content framing mechanism.
|
|||
|
|
|||
|
Ogg does not provide for any generic encryption or signing of itself
|
|||
|
or its contained bitstreams. However, it encapsulates any kind of
|
|||
|
binary content and is thus able to contain encrypted and signed
|
|||
|
content data. It is also possible to add an external security
|
|||
|
mechanism that encrypts or signs an Ogg bitstream and thus provides
|
|||
|
content confidentiality and authenticity.
|
|||
|
|
|||
|
As Ogg encapsulates binary data, it is possible to include executable
|
|||
|
content in an Ogg bitstream. Implementations SHOULD NOT execute such
|
|||
|
content without prior validation of its origin by the end-user.
|
|||
|
|
|||
|
Issues may arise on applications that use Ogg for streaming or file
|
|||
|
transfer in a networking scenario. In such cases, implementations
|
|||
|
decoding Ogg and its encapsulated bitstreams have to ensure correct
|
|||
|
handling of manipulated bitstreams, of buffer overflows, and similar
|
|||
|
issues.
|
|||
|
|
|||
|
It is also possible to author malicious Ogg bitstreams, which attempt
|
|||
|
to call for an excessively large picture size, high sampling-rate
|
|||
|
audio, etc. Implementations SHOULD protect themselves against this
|
|||
|
kind of attack.
|
|||
|
|
|||
|
Ogg has an extensible structure, so that it is theoretically possible
|
|||
|
that metadata fields or media formats might be defined in the future
|
|||
|
which might be used to induce particular actions on the part of the
|
|||
|
recipient, thus presenting additional security risks. However, this
|
|||
|
type of capability is currently not supported in the referenced
|
|||
|
specification.
|
|||
|
|
|||
|
Implementations may fail to implement a specific security model or
|
|||
|
other means to prevent possibly dangerous operations. Such failure
|
|||
|
might possibly be exploited to gain unauthorized access to a system
|
|||
|
or sensitive information; such failure constitutes an unknown factor
|
|||
|
and is thus considered out of the scope of this document.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 6]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
8. Interoperability Considerations
|
|||
|
|
|||
|
The Ogg container format is device-, platform-, and vendor-neutral
|
|||
|
and has proved to be widely implementable across different computing
|
|||
|
platforms through a wide range of encoders and decoders. A broadly
|
|||
|
portable reference implementation [libogg] is available under the
|
|||
|
revised (3-clause) BSD license, which is a Free Software license.
|
|||
|
|
|||
|
The Xiph.Org Foundation has defined the specification,
|
|||
|
interoperability, and conformance and conducts regular
|
|||
|
interoperability testing.
|
|||
|
|
|||
|
The use of the Ogg Skeleton extension has been confirmed to not cause
|
|||
|
interoperability issues with existing implementations. Third parties
|
|||
|
are, however, welcome to conduct their own testing.
|
|||
|
|
|||
|
9. IANA Considerations
|
|||
|
|
|||
|
In accordance with the procedures set forth in [RFC4288], this
|
|||
|
document registers two new media types and redefines the existing
|
|||
|
application/ogg as defined in the following section.
|
|||
|
|
|||
|
10. Ogg Media Types
|
|||
|
|
|||
|
10.1. application/ogg
|
|||
|
|
|||
|
Type name: application
|
|||
|
|
|||
|
Subtype name: ogg
|
|||
|
|
|||
|
Required parameters: none
|
|||
|
|
|||
|
Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
|||
|
See section 4 of RFC 5334 for a list of allowed values.
|
|||
|
|
|||
|
Encoding considerations: See section 6 of RFC 5334.
|
|||
|
|
|||
|
Security considerations: See section 7 of RFC 5334.
|
|||
|
|
|||
|
Interoperability considerations: None, as noted in section 8 of RFC
|
|||
|
5334.
|
|||
|
|
|||
|
Published specification: RFC 3533
|
|||
|
|
|||
|
Applications which use this media type: Scientific and otherwise that
|
|||
|
require various multiplexed signals or streams of data, with or
|
|||
|
without scriptable control of content.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 7]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
Additional information:
|
|||
|
|
|||
|
Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
|||
|
correspond to the string "OggS".
|
|||
|
|
|||
|
File extension(s): .ogx
|
|||
|
|
|||
|
RFC 3534 defined the file extension .ogg for application/ogg,
|
|||
|
which RFC 5334 obsoletes in favor of .ogx due to concerns where,
|
|||
|
historically, some implementations expect .ogg files to be solely
|
|||
|
Vorbis-encoded audio.
|
|||
|
|
|||
|
Macintosh File Type Code(s): OggX
|
|||
|
|
|||
|
Person & Email address to contact for further information: See
|
|||
|
"Authors' Addresses" section.
|
|||
|
|
|||
|
Intended usage: COMMON
|
|||
|
|
|||
|
Restrictions on usage: The type application/ogg SHOULD only be used
|
|||
|
in situations where it is not appropriate to serve data under the
|
|||
|
video/ogg or audio/ogg types. Data served under the application/ogg
|
|||
|
type SHOULD use the .ogx file extension and MUST contain an Ogg
|
|||
|
Skeleton logical bitstream to identify all other contained logical
|
|||
|
bitstreams.
|
|||
|
|
|||
|
Author: See "Authors' Addresses" section.
|
|||
|
|
|||
|
Change controller: The Xiph.Org Foundation.
|
|||
|
|
|||
|
10.2. video/ogg
|
|||
|
|
|||
|
Type name: video
|
|||
|
|
|||
|
Subtype name: ogg
|
|||
|
|
|||
|
Required parameters: none
|
|||
|
|
|||
|
Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
|||
|
See section 4 of RFC 5334 for a list of allowed values.
|
|||
|
|
|||
|
Encoding considerations: See section 6 of RFC 5334.
|
|||
|
|
|||
|
Security considerations: See section 7 of RFC 5334.
|
|||
|
|
|||
|
Interoperability considerations: None, as noted in section 8 of RFC
|
|||
|
5334.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 8]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
Published specification: RFC 3533
|
|||
|
|
|||
|
Applications which use this media type: Multimedia applications,
|
|||
|
including embedded, streaming, and conferencing tools.
|
|||
|
|
|||
|
Additional information:
|
|||
|
|
|||
|
Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
|||
|
correspond to the string "OggS".
|
|||
|
|
|||
|
File extension(s): .ogv
|
|||
|
|
|||
|
Macintosh File Type Code(s): OggV
|
|||
|
|
|||
|
Person & Email address to contact for further information: See
|
|||
|
"Authors' Addresses" section.
|
|||
|
|
|||
|
Intended usage: COMMON
|
|||
|
|
|||
|
Restrictions on usage: The type "video/ogg" SHOULD be used for Ogg
|
|||
|
bitstreams containing visual, audio, timed text, or any other type of
|
|||
|
material that requires a visual interface. It is intended for
|
|||
|
content not complex enough to warrant serving under "application/
|
|||
|
ogg"; for example, a combination of Theora video, Vorbis audio,
|
|||
|
Skeleton metadata, and CMML captioning. Data served under the type
|
|||
|
"video/ogg" SHOULD contain an Ogg Skeleton logical bitstream.
|
|||
|
Implementations interacting with the type "video/ogg" SHOULD support
|
|||
|
multiplexed bitstreams.
|
|||
|
|
|||
|
Author: See "Authors' Addresses" section.
|
|||
|
|
|||
|
Change controller: The Xiph.Org Foundation.
|
|||
|
|
|||
|
10.3. audio/ogg
|
|||
|
|
|||
|
Type name: audio
|
|||
|
|
|||
|
Subtype name: ogg
|
|||
|
|
|||
|
Required parameters: none
|
|||
|
|
|||
|
Optional parameters: codecs, whose syntax is defined in RFC 4281.
|
|||
|
See section 4 of RFC 5334 for a list of allowed values.
|
|||
|
|
|||
|
Encoding considerations: See section 6 of RFC 5334.
|
|||
|
|
|||
|
Security considerations: See section 7 of RFC 5334.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 9]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
Interoperability considerations: None, as noted in section 8 of RFC
|
|||
|
5334.
|
|||
|
|
|||
|
Published specification: RFC 3533
|
|||
|
|
|||
|
Applications which use this media type: Multimedia applications,
|
|||
|
including embedded, streaming, and conferencing tools.
|
|||
|
|
|||
|
Additional information:
|
|||
|
|
|||
|
Magic number(s): The first four bytes, 0x4f 0x67 0x67 0x53,
|
|||
|
correspond to the string "OggS".
|
|||
|
|
|||
|
File extension(s): .oga, .ogg, .spx
|
|||
|
|
|||
|
Macintosh File Type Code(s): OggA
|
|||
|
|
|||
|
Person & Email address to contact for further information: See
|
|||
|
"Authors' Addresses" section.
|
|||
|
|
|||
|
Intended usage: COMMON
|
|||
|
|
|||
|
Restrictions on usage: The type "audio/ogg" SHOULD be used when the
|
|||
|
Ogg bitstream predominantly contains audio data. Content served
|
|||
|
under the "audio/ogg" type SHOULD have an Ogg Skeleton logical
|
|||
|
bitstream when using the default .oga file extension. The .ogg and
|
|||
|
.spx file extensions indicate a specialization that requires no
|
|||
|
Skeleton due to backward compatibility concerns with existing
|
|||
|
implementations. In particular, .ogg is used for Ogg files that
|
|||
|
contain only a Vorbis bitstream, while .spx is used for Ogg files
|
|||
|
that contain only a Speex bitstream.
|
|||
|
|
|||
|
Author: See "Authors' Addresses" section.
|
|||
|
|
|||
|
Change controller: The Xiph.Org Foundation.
|
|||
|
|
|||
|
11. Acknowledgements
|
|||
|
|
|||
|
The authors gratefully acknowledge the contributions of Magnus
|
|||
|
Westerlund, Alfred Hoenes, and Peter Saint-Andre.
|
|||
|
|
|||
|
12. Copying Conditions
|
|||
|
|
|||
|
The authors agree to grant third parties the irrevocable right to
|
|||
|
copy, use and distribute the work, with or without modification, in
|
|||
|
any medium, without royalty, provided that, unless separate
|
|||
|
permission is granted, redistributed modified works do not contain
|
|||
|
misleading author, version, name of work, or endorsement information.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 10]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
13. References
|
|||
|
|
|||
|
13.1. Normative References
|
|||
|
|
|||
|
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
|
|||
|
Extensions (MIME) Part One: Format of Internet Message
|
|||
|
Bodies", RFC 2045, November 1996.
|
|||
|
|
|||
|
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
|||
|
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
|||
|
|
|||
|
[RFC3533] Pfeiffer, S., "The Ogg Encapsulation Format Version 0",
|
|||
|
RFC 3533, May 2003.
|
|||
|
|
|||
|
[RFC4281] Gellens, R., Singer, D., and P. Frojdh, "The Codecs
|
|||
|
Parameter for "Bucket" Media Types", RFC 4281,
|
|||
|
November 2005.
|
|||
|
|
|||
|
[RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
|
|||
|
Registration Procedures", BCP 13, RFC 4288,
|
|||
|
December 2005.
|
|||
|
|
|||
|
13.2. Informative References
|
|||
|
|
|||
|
[CMML] Pfeiffer, S., Parker, C., and A. Pang, "The Continuous
|
|||
|
Media Markup Language (CMML)", Work in Progress,
|
|||
|
March 2006.
|
|||
|
|
|||
|
[Codecs] Pfeiffer, S. and I. Goncalves, "Specification of MIME
|
|||
|
types and respective codecs parameter", July 2008,
|
|||
|
<http://wiki.xiph.org/index.php/MIMETypesCodecs>.
|
|||
|
|
|||
|
[Dirac] Dirac Group, "Dirac Specification",
|
|||
|
<http://diracvideo.org/specifications/>.
|
|||
|
|
|||
|
[FLAC] Coalson, J., "The FLAC Format",
|
|||
|
<http://flac.sourceforge.net/format.html>.
|
|||
|
|
|||
|
[libogg] Xiph.Org Foundation, "The libogg API", June 2000,
|
|||
|
<http://xiph.org/ogg/doc/libogg>.
|
|||
|
|
|||
|
[Ogg] Xiph.Org Foundation, "Ogg bitstream documentation: Ogg
|
|||
|
logical and physical bitstream overview, Ogg logical
|
|||
|
bitstream framing, Ogg multi-stream multiplexing",
|
|||
|
<http://xiph.org/ogg/doc>.
|
|||
|
|
|||
|
[RFC3534] Walleij, L., "The application/ogg Media Type", RFC 3534,
|
|||
|
May 2003.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 11]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
|
|||
|
Text on Security Considerations", BCP 72, RFC 3552,
|
|||
|
July 2003.
|
|||
|
|
|||
|
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
|
|||
|
Encodings", RFC 4648, October 2006.
|
|||
|
|
|||
|
[RFC5215] Barbato, L., "RTP Payload Format for Vorbis Encoded
|
|||
|
Audio", RFC 5215, August 2008.
|
|||
|
|
|||
|
[Skeleton] Pfeiffer, S. and C. Parker, "The Ogg Skeleton Metadata
|
|||
|
Bitstream", November 2007,
|
|||
|
<http://xiph.org/ogg/doc/skeleton.html>.
|
|||
|
|
|||
|
[Speex] Valin, J., "The Speex Codec Manual", February 2002,
|
|||
|
<http://speex.org/docs/manual/speex-manual>.
|
|||
|
|
|||
|
[SpRTP] Herlein, G., Valin, J., Heggestad, A., and A. Moizard,
|
|||
|
"RTP Payload Format for the Speex Codec", Work
|
|||
|
in Progress, February 2008.
|
|||
|
|
|||
|
[Theora] Xiph.Org Foundation, "Theora Specification",
|
|||
|
October 2007, <http://theora.org/doc/Theora.pdf>.
|
|||
|
|
|||
|
[ThRTP] Barbato, L., "RTP Payload Format for Theora Encoded
|
|||
|
Video", Work in Progress, June 2006.
|
|||
|
|
|||
|
[Vorbis] Xiph.Org Foundation, "Vorbis I Specification", July 2004,
|
|||
|
<http://xiph.org/vorbis/doc/Vorbis_I_spec.html>.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 12]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
Authors' Addresses
|
|||
|
|
|||
|
Ivo Emanuel Goncalves
|
|||
|
Xiph.Org Foundation
|
|||
|
21 College Hill Road
|
|||
|
Somerville, MA 02144
|
|||
|
US
|
|||
|
|
|||
|
EMail: justivo@gmail.com
|
|||
|
URI: xmpp:justivo@gmail.com
|
|||
|
|
|||
|
|
|||
|
Silvia Pfeiffer
|
|||
|
Xiph.Org Foundation
|
|||
|
|
|||
|
EMail: silvia@annodex.net
|
|||
|
URI: http://annodex.net/
|
|||
|
|
|||
|
|
|||
|
Christopher Montgomery
|
|||
|
Xiph.Org Foundation
|
|||
|
|
|||
|
EMail: monty@xiph.org
|
|||
|
URI: http://xiph.org
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 13]
|
|||
|
|
|||
|
RFC 5334 Ogg Media Types September 2008
|
|||
|
|
|||
|
|
|||
|
Full Copyright Statement
|
|||
|
|
|||
|
Copyright (C) The IETF Trust (2008).
|
|||
|
|
|||
|
This document is subject to the rights, licenses and restrictions
|
|||
|
contained in BCP 78, and except as set forth therein, the authors
|
|||
|
retain all their rights.
|
|||
|
|
|||
|
This document and the information contained herein are provided on an
|
|||
|
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
|||
|
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
|||
|
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
|||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
|||
|
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
|||
|
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
|
|||
|
Intellectual Property
|
|||
|
|
|||
|
The IETF takes no position regarding the validity or scope of any
|
|||
|
Intellectual Property Rights or other rights that might be claimed to
|
|||
|
pertain to the implementation or use of the technology described in
|
|||
|
this document or the extent to which any license under such rights
|
|||
|
might or might not be available; nor does it represent that it has
|
|||
|
made any independent effort to identify any such rights. Information
|
|||
|
on the procedures with respect to rights in RFC documents can be
|
|||
|
found in BCP 78 and BCP 79.
|
|||
|
|
|||
|
Copies of IPR disclosures made to the IETF Secretariat and any
|
|||
|
assurances of licenses to be made available, or the result of an
|
|||
|
attempt made to obtain a general license or permission for the use of
|
|||
|
such proprietary rights by implementers or users of this
|
|||
|
specification can be obtained from the IETF on-line IPR repository at
|
|||
|
http://www.ietf.org/ipr.
|
|||
|
|
|||
|
The IETF invites any interested party to bring to its attention any
|
|||
|
copyrights, patents or patent applications, or other proprietary
|
|||
|
rights that may cover technology that may be required to implement
|
|||
|
this standard. Please address the information to the IETF at
|
|||
|
ietf-ipr@ietf.org.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Goncalves, et al. Standards Track [Page 14]
|
|||
|
|