Internet-Draft | Matroska Control Track | July 2023 |
Lhomme, et al. | Expires 3 January 2024 | [Page] |
This document defines the Control Track usage found in the Matroska container.¶
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 3 January 2024.¶
Copyright (c) 2023 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.¶
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].¶
This document inherits security considerations from the EBML and Matroska documents.¶
To be determined.¶
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.¶
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.¶
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 |
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.¶
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 |
Extra elements used to handle Control Tracks and advanced selection features:¶