Internet-Draft | Matroska Control Track | August 2024 |
Lhomme, et al. | Expires 1 March 2025 | [Page] |
- Workgroup:
- cellar
- Internet Draft:
- draft-ietf-cellar-control-05
- Published:
- Intended Status:
- Standards Track
- Expires:
Matroska Media Container Control Track Specifications
Abstract
This document defines the Control Track usage found in the Matroska container.¶
Status of This Memo
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 1 March 2025.¶
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
2. Status of This Document
This document is a work-in-progress specification defining the Matroska file format as part of the IETF Cellar working group. It uses basic elements and concept already defined in the Matroska specifications defined by this workgroup [Matroska].¶
3. Notation and Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
4. Edition Flags
4.2. EditionFlagDefault
It is RECOMMENDED that no more than one Edition
have an EditionFlagDefault
flag
set to true
. The first Edition
with both the EditionFlagDefault
flag set to true
and the EditionFlagHidden
flag set to false
is the Default Edition. When all
EditionFlagDefault Flags
are set to false
, then the first Edition
with the
EditionFlagHidden
flag set to false
is the Default Edition. The Default Edition
is the edition that should be used for playback by default.¶
4.3. Default Edition
The Default Edition
is the Edition
that a Matroska Player
SHOULD use for playback by default.¶
The first Edition
with both the EditionFlagDefault
flag set to true
and the EditionFlagHidden
flag set to false
is the Default Edition
.
When all EditionFlagDefault
flags are set to false
and all EditionFlagHidden
flag set to true
,
then the first Edition
is the Default Edition
.
When all EditionFlagHidden
flags are set to true
, then the first Edition
with the
EditionFlagDefault
flag set to true
is the Default Edition
.
When all EditionFlagDefault
flags are set to false
, then the first Edition
with the
EditionFlagHidden
flag set to false
is the Default Edition
.
When there is no Edition
with a EditionFlagDefault
flag are set to true
and a
EditionFlagHidden
flags are set to false
, then the first Edition
with the EditionFlagHidden
flag set to false
is the Default Edition
.¶
In other words, in case the Default Edition
is not obvious, the first Edition
with a
EditionFlagHidden
flag set to false
SHOULD be preferred.¶
Edition | FlagHidden | FlagDefault | Default Edition |
---|---|---|---|
Edition 1 | true | true | |
Edition 2 | true | true | |
Edition 3 | false | true | X |
Edition | FlagHidden | FlagDefault | Default Edition |
---|---|---|---|
Edition 1 | true | false | X |
Edition 2 | true | false | |
Edition 3 | true | false |
Edition | FlagHidden | FlagDefault | Default Edition |
---|---|---|---|
Edition 1 | true | false | |
Edition 2 | true | true | X |
Edition 3 | true | false |
Edition | FlagHidden | FlagDefault | Default Edition |
---|---|---|---|
Edition 1 | true | false | |
Edition 2 | false | false | X |
Edition 3 | false | false |
Edition | FlagHidden | FlagDefault | Default Edition |
---|---|---|---|
Edition 1 | true | false | |
Edition 2 | true | true | |
Edition 3 | false | false | X |
5. Chapter Flags
If a Control Track
toggles the parent's ChapterFlagHidden
flag to false
, then only the parent ChapterAtom
and its second child ChapterAtom
MUST be interpreted as if ChapterFlagHidden
is set to false
. The first child
ChapterAtom
, which has the ChapterFlagHidden
flag set to true
, retains its value
until its value is toggled to false
by a Control Track
.¶
The ChapterFlagEnabled
value can be toggled by control tracks.¶
5.1. ChapterFlagEnabled
If the ChapterFlagEnabled
flag is set to false
a Matroska Player
MUST NOT use this
Chapter
and all his Nested Chapters
.
For Simple Chapters
, a Matroska Player
MAY display this enabled Chapter
with a marker in
the timeline.
For Ordered Chapters
a Matroska Player
MUST use the duration of this enabled Chapter
.¶
Chapter + Nested Chapter | ChapterFlagEnabled | used |
---|---|---|
Chapter 1 | true | yes |
+Nested Chapter 1.1 | true | yes |
+Nested Chapter 1.2 | false | no |
++Nested Chapter 1.2.1 | true | no |
++Nested Chapter 1.2.2 | false | no |
Chapter 2 | false | no |
+Nested Chapter 2.1 | true | no |
+Nested Chapter 2.2 | true | no |
6. Matroska Schema
Extra elements used to handle Control Tracks
and advanced selection features:¶
8. Security Considerations
This document inherits security considerations from the EBML [RFC8794] and Matroska [Matroska] documents.¶
9. IANA Considerations
To be determined.¶
10. References
10.1. Normative References
- [Matroska]
- Lhomme, S., Bunkus, M., and D. Rice, "Media Container Specifications", Work in Progress, Internet-Draft, draft-ietf-cellar-matroska-21, , <https://datatracker.ietf.org/doc/html/draft-ietf-cellar-matroska-21>.
- [RFC2119]
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
- [RFC8174]
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
- [RFC8794]
- Lhomme, S., Rice, D., and M. Bunkus, "Extensible Binary Meta Language", RFC 8794, DOI 10.17487/RFC8794, , <https://www.rfc-editor.org/info/rfc8794>.
10.2. Informative References
- [DVD-Video]
- DVD Forum, "DVD-Books: Part 3 DVD-Video Book", , <http://www.dvdforum.org/>.