[Bug 17673] Define Initialization Data for implementations that choose to support the ISO Base Media File Format

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17673

johnsim@microsoft.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #8 from johnsim@microsoft.com ---
As per discussion with David Singer on more general treatment of ISOBMFF. 

Instead of ISOBMFF InitData being the concatenation of 'pssh' boxes, it will be
Protection Scheme Information Box ('sinf'). The 'sinf' includes the scheme type
box ('schm'), giving the scheme_type, and the scheme information box ('schi'). 

If this scheme_type is "CENC", the 'schi' box will also contain the track
encryption box ('tenc'), containing the defaults for IsEncrypted, IV_size and
KID for that track. 

Also, if the scheme_type is "CENC", one or more 'pssh' boxes will be
concatenated after the 'sinf' box. 



-------------------------------------------------------------------
7.2 ISO Base Media File Format
This section defines the stream format and initialization data for ISO Base
media File Format (ISOBMFF) content.

7.2.1 Stream format
The stream format is dependent upon the protection scheme, as defined in the
scheme type box ('schm'). 

For example, under the common encryption ("cenc") protection scheme, ISOBMFF
content is encrypted at the sample level with AES-128 CTR encryption, according
to ISO/IEC 23001-7:2012, "Information technology - MPEG system technologies -
Part 7: Common encryption in ISO base media file format files". This protection
method enables multiple Key Systems to decrypt the same media content.

7.2.2 Detecting Encryption
Protection scheme signaling conforms with ISO/IEC 14496-12. When protection has
been applied, the stream type will be transformed to ‘encv’ for video or ‘enca’
for audio, with a scheme information box (‘sinf’) added to the sample entry in
the sample description box (‘stsd’). The scheme information box (‘sinf’) will
contain a scheme type box (‘schm’) with a scheme_type field set to the 4CC
value of the protection scheme.

Additionally, if the protection scheme is common encryption ("cenc"), the
"encrypted block" is a sample. Determining whether a sample is encrypted
depends on the corresponding track encryption box (‘tenc’) and the sample group
associated with the sample. In this case the default encryption state of a
sample is defined by the IsEncrypted flag in the associated track encryption
box (‘tenc’). This default state may be modified by the IsEncrypted flag in the
Sample Group Description Box (‘sgpd’), pointed to by an index in the Sample to
Group Box (‘sbgp’). 

For complete information about "cenc" see ISO/IEC 23001-7:2012.

7.2.3 Initialization Data and Events

For ISOBMFF the InitData begins with a the protection scheme information box
('sinf'). The 'sinf' includes the scheme type box ('schm'), giving the
scheme_type, and the scheme information box ('schi'). 

If this scheme_type is common encryption ("cenc"), the scheme information box
will also contain the track encryption box ('tenc'), giving the defaults for
IsEncrypted, IV_size and KID for that track. In addition, one or more
protection system specific heder boxes ('pssh') will be concatenated after the
'sinf' box.

In a file encrypted with common encryption, each key is identified by a Key ID
and each encrypted sample is associated with the Key ID of the key needed to
decrypt it. This association is signaled either through the specification of a
default Key ID in the track encryption box ('tenc') or by assigning the sample
to a Sample Group, the definition of which specifies a Key ID. Common
encryption files may contain a mixture of encrypted and unencrypted samples.
Playback of unencrypted samples should not be impeded by unavailability of the
keys needed to decrypt other samples in the same file or track.

Note that if there is already an active Key System CDM and the key storage for
that Key System already contains the key associated with the Key ID, there is
no need to generate a needkey event.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 15 January 2013 00:44:04 UTC