RFC 3534

The application/ogg Media Type

πŸ“… published May 2003, from ietf

RFC 3534: The application/ogg Media Type ✨

  • Author: Linus Walleij, The Ogg Vorbis Community πŸŽ€
  • Category: Standards Track πŸ’…
  • Date: May 2003 πŸ¦‹

Status of this Memo 🌸

okay so this one is an Internet standards track protocol doc for the Internet community πŸ’– and it's basically asking for discussion and suggestions to make it better 🫢. If you want the official standardization state of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) πŸ“š. And distribution of this memo is unlimited, so share it with everyone bestie 🌈

Copyright (C) The Internet Society (2003). All Rights Reserved. πŸ”’

Abstract πŸ“

The Ogg Bitstream Format is giving "general, freely-available standard for transporting multimedia content across computing platforms and networks" energy ✨ 🌈. This doc defines the MIME media type application/ogg so that when this kind of content travels across the Internet, everyone can label it correctly πŸ’…. The Ogg Bitstream Format developers also intended for it to be usable without intellectual property concerns, which is so iconic πŸ‘‘

Conventions used in this Document 🧚

Okay this part is important, so pay attention πŸ™ˆ 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 RFC 2119 [2]. Those capitalized words are the official requirement levels, so they're not just vibes πŸ’€

1. The Ogg Bitstream Format πŸ¦‹

The Ogg Bitstream format came out of a bigger project to build a set of components for coding and decoding multimedia content (codecs). The goal is that these are freely available and freely re-implementable, in both software and hardware, for the computing community at large, including the Internet community 🌸✨

Raw packets from these codecs can be used directly by transport mechanisms that handle their own framing and packet separation, like UDP datagrams πŸ“¦

One such framing and content-separation mechanism is the real-time transport protocol (RTP) πŸ“‘ RTP allows streaming of synchronous lossy data for broadcasting and similar purposes 🎢. If you want that function, a separate RTP wrapping mechanism should be used, and one is currently under development πŸ”₯

For stream-based storage (like files) and transport (like TCP streams or pipes), Ogg codecs use the Ogg Bitstream Format to provide framing and sync, sync recapture after error, landmarks during seeking, and enough info to split the data back into packets at the original packet boundaries. Best part: it doesn't need decoding to find packet boundaries 🧠✨ The application/ogg MIME type refers to this kind of bitstream when there's no further knowledge of the bitstream content πŸ’–

The bitstream format itself is documented in [1] πŸ“–

2. Registration Information πŸ’…

Here's the registration template, the official paperwork for the media type πŸŽ€

To: ietf-types@iana.org
Subject: Registration of MIME media type application/ogg
  • MIME media type name: application
  • MIME subtype name: ogg
  • Required parameters: none
  • Optional parameters: none

Encoding Considerations:

The Ogg bitstream format is binary data, so it must be encoded for non-binary transport. Base64 encoding is suitable for Email πŸ“§ Binary encoding could also be used 🌈

Security Considerations:

Okay, serious moment 😭 The Ogg bitstream file is a container format and only a carrier of content (like Vorbis audio). It has a very rigid definition (see [1]), so in itself it's not more vulnerable than any other content framing mechanism. The big thing for the receiving application is making sure manipulated packages can't cause buffer overflows and the like 🚨 It's possible to encapsulate even executable content in the bitstream, so for those uses, additional security considerations must be taken πŸ’€

Ogg bitstream files are not signed or encrypted using any applicable encryption schemes πŸ”“ If you want content confidentiality and authenticity, external security mechanisms must be added πŸ”

Interoperability considerations:

The Ogg bitstream format has proved to be widely implementable across different computing platforms 🌍 A broadly portable reference implementation is available under a BSD license πŸ’œ

The Ogg bitstream format is not patented, and third parties can implement it without patent considerations πŸ¦‹

Published specification:

See [1] πŸ“š

Applications which use this media type:

Any application that implements the specification will be able to encode or decode Ogg bitstream files ✨ The format is supposed to be used by subcodecs that implement things like Vorbis audio 🎧

Additional information:

Magic number(s): In Ogg bitstream files, the first four bytes are the following, which correspond to the string "OggS" πŸ‘€

0x4f 0x67 0x67 0x53
  • File extension: .ogg
  • Macintosh File Type Code(s): OggS
  • Object Identifier(s) or OID(s): none

Person & email address to contact for further information:

Questions about this proposal go to Linus Walleij <triad@df.lth.se> πŸ’Œ Technical questions about the Ogg bitstream standard can be asked on the developer community's mailing lists πŸ—£οΈ <http://www.xiph.org/archives/>

  • Intended usage: COMMON
  • Author/Change controller: This document was written by Linus Walleij <triad@df.lth.se>. Changes will be handled by him, a representative of Xiph.org, or the associated development communities πŸ‘‘

The Ogg bitstream format is controlled by Xiph.org and the respective development communities 🌸

3. Security Considerations πŸ”

Security considerations are discussed in the security considerations clause of the MIME registration in section 2 πŸ’–

4. Normative References πŸ“š

  • [1] Pfeiffer, S., "The Ogg encapsulation format version 0", RFC 3533, May 2003.
  • [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

5. Intellectual Property Statement 🧾

The IETF takes no position on the validity or scope of any intellectual property or other rights that might be claimed to apply to the technology in this document, or on whether any license under those rights might be available. It also doesn't claim it has tried to find any such rights πŸ€·β€β™€οΈ You can find info on the IETF's procedures for rights in standards-track and standards-related documents in BCP-11. Copies of claims of rights made available for publication, and any assurances of licenses to be made available, or the results of an attempt to get a general license or permission for implementors or users, can be obtained from the IETF Secretariat πŸ“¬

The IETF invites anyone interested to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology required to practice this standard. Send that info to the IETF Executive Director πŸ’Œ

6. Author's Address 🏑

Linus Walleij
The Ogg Vorbis Community
Master Olofs Vag 24
Lund  224 66
SE

Phone: +46 703 193678
EMail: triad@df.lth.se
URI:   http://www.xiph.org/

Copyright (C) The Internet Society (2003). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind 🌈 This is only true if the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations. The one exception is when it's needed for developing Internet standards, in which case the procedures for copyrights defined in the Internet Standards process must be followed. Translating it into languages other than English is also allowed 🌍

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns ♾️

This document and the information in it is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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 πŸ’€

Acknowledgement 🫢

Funding for the RFC Editor function is currently provided by the Internet Society πŸ’–

πŸ“¦ where this page comes from