2.2.2.1 SmoothStreamingMedia

The SmoothStreamingMedia field and related fields encapsulate metadata that is required to play the presentation.

SmoothStreamingMedia (variable): An XML element that encapsulates all metadata that is required by the client to play back the presentation.

SmoothStreamingMediaAttributes (variable): The collection of XML attributes for the SmoothStreamingMedia element. Attributes can appear in any order. However, the following fields are required and MUST be present in SmoothStreamingMediaAttributes: MajorVersionAttribute, MinorVersionAttribute, and DurationAttribute.

MajorVersion (variable): The major version of the Manifest Response message. MUST be set to 2.

MinorVersion (variable): The minor version of the Manifest Response message. MUST be set to 0 or 2.

TimeScale (variable): The timescale of the Duration attribute, specified as the number of increments in 1 second. The default value is 10000000.

Duration (variable): The duration of the presentation, specified as the number of time increments indicated by the value of the TimeScale field.

IsLive (variable): Specifies the presentation type. If this field contains a TRUE value, it specifies that the presentation is a live presentation. Otherwise, the presentation is an on-demand presentation.

LookaheadCount (variable): Specifies the size of the server buffer, as an integer number of fragments. This field MUST be omitted for on-demand presentations.

DVRWindowLength (variable): The length of the DVR window, specified as the number of time increments indicated by the value of the TimeScale field. If this field is omitted for a live presentation or set to 0, the DVR window is effectively infinite. This field MUST be omitted for on-demand presentations.

The syntax of the fields that are defined in this section, specified in ABNF [RFC5234], is as follows.

  
 SmoothStreamingMedia = "<" SmoothStreamingMediaElementName S
                        SmoothStreamingMediaAttributes S ">"
                        S SmoothStreamingMediaContent *1S
                        "</" SmoothStreamingMediaElementName ">"
 SmoothStreamingMediaElementName = "SmoothStreamingMedia"
 SmoothStreamingMediaAttributes = *( 
                                     MajorVersionAttribute 
                                     / MinorVersionAttribute
                                     / TimeScaleAttribute
                                     / DurationAttribute
                                     / IsLiveAttribute
                                     / LookaheadCountAttribute
                                     / DVRWindowLengthAttribute
                                     / VendorExtensionAttribute 
                                    )
 MajorVersionAttribute = S MajorVersionAttributeName S Eq S 
                         (DQ MajorVersion DQ) / (SQ MajorVersion SQ) *1S
 MajorVersionAttributeName = "MajorVersion"
 MajorVersion = "2"
 MinorVersionAttribute = S MinorVersionAttributeName S Eq S 
                         (DQ MinorVersion DQ) / (SQ MinorVersion SQ) *1S
 MinorVersionAttributeName = "MinorVersion"
 MinorVersion = "0" / "2"
 TimeScaleAttribute = S TimeScaleAttributeName S Eq S 
                      (DQ TimeScale DQ) / (SQ TimeScale SQ) *1S
 TimeScaleAttributeName = "TimeScale"
 TimeScale = STRING-UINT64
 DurationAttribute = S DurationAttributeName S Eq S 
                     (DQ Duration DQ) / (SQ Duration SQ) *1S
 DurationAttributeName = "Duration"
 Duration = STRING-UINT64
 IsLiveAttribute = S IsLiveAttributeName S Eq S 
                   (DQ IsLive DQ) / (SQ IsLive SQ) *1S
 IsLiveAttributeName = "IsLive"
 IsLive = TRUE / FALSE
 LookaheadCountAttribute = S LookaheadCountAttributeName S Eq S 
                           (DQ LookaheadCount DQ) / (SQ LookaheadCount SQ) *1S
 LookaheadCountAttributeName = "LookaheadCount"
 LookaheadCount = STRING-UINT32
 DVRWindowLengthAttribute = S DVRWindowLengthAttributeName S Eq S 
                            (DQ DVRWindowLength DQ) / (SQ DVRWindowLength SQ) *1S
 DVRWindowLengthAttributeName = "DVRWindowLength"
 DVRWindowLength= STRING-UINT64
 SmoothStreamingMediaContent = [ ProtectionElement *1S] 1*StreamElement