For each SparseStreamFragment in the Sparse Stream Pointer message, the client MUST perform the following operations: Search the Stream Collection data element in the Active Presentation data element to locate the Stream Description whose Name field matches the SparseStreamName field. If no can be found or if the Sparse Stream Flag of the matching Stream Description data element is false, the client MUST enter the Final state without yielding a Fragment Description data element. Compare the value of the SparseStreamTimeStamp field to the Last Downloaded Timestamp field of the Stream Description data element. If the Last Downloaded Timestamp field is not set, or if the value of the field is greater than the Last Downloaded Timestamp field, add an SparseStreamTimeStamp entry to the Sparse Stream Notifications collection for which the Stream Description Reference field is set to the matching Stream Description, and the Timestamp field is set to the value of the SparseStreamTimeStamp field. If the Sparse Stream Notifications collection is not empty, the client yields this collection to the higher layer in addition to the Fragment Description. Timer Events None. Other Local Events None. Server Details The server does not maintain state and treats all arriving messages independently. Abstract Data Model This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document. The server uses the same conceptual model as the client, specified in section . Timers None. Initialization There is no initialization required for the Smooth Streaming Transport Protocol layer. Successful initialization of the underlying transport (HTTP) is a prerequisite for successful operation of the server. The Sparse Stream Pointer Header is initialized from configuration above the Smooth Streaming Transport Protocol layer. The configured value on the client MUST match the configured value on the server for interoperability. <2>
For each SparseStreamFragment in the Sparse Stream Pointer message, the client MUST perform the following operations: Search the Stream Collection data element in the Active Presentation data element to locate the Stream Description whose Name field matches the SparseStreamName field. If no can be found or if the Sparse Stream Flag of the matching Stream Description data element is false, the client MUST enter the Final state without yielding a Fragment Description data element. Compare the value of the SparseStreamTimeStamp field to the Last Downloaded Timestamp field of the Stream Description data element. If the Last Downloaded Timestamp field is not set, or if the value of the SparseStreamTimeStamp field is greater than the Last Downloaded Timestamp field, add an entry to the Sparse Stream Notifications collection for which the Stream Description Reference field is set to the matching Stream Description, and the Timestamp field is set to the value of the SparseStreamTimeStamp field. If the Sparse Stream Notifications collection is not empty, the client yields this collection to the higher layer in addition to the Fragment Description. Timer Events None. Other Local Events None. Server Details The server does not maintain state and treats all arriving messages independently. Abstract Data Model This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document. The server uses the same conceptual model as the client, specified in section . Timers None. Initialization There is no initialization required for the Smooth Streaming Transport Protocol layer. Successful initialization of the underlying transport (HTTP) is a prerequisite for successful operation of the server. The Sparse Stream Pointer Header is initialized from configuration above the Smooth Streaming Transport Protocol layer. The configured value on the client MUST match the configured value on the server for interoperability. <2>
%5BMS-SSTR%5D-160714.docx