3.1.1 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 client acts in accordance with the following model.

Client state machine diagram

Figure 3: Client state machine diagram

The main data elements that are required by any implementation are:

  • Presentation Description: A hierarchical data element that encapsulates metadata from the presentation, as specified in section 3.1.1.1.

  • Fragment Description: Metadata and samples for a single fragment, as specified in section 3.1.1.2.

  • Active Presentation: An instance of the Presentation Description data element. This data element is maintained as state by the client.

  • Presentation Available: A flag that indicates whether the Active Presentation has been successfully initialized. This data element is maintained as state by the client.

  • Sparse Stream Pointer Header: A string that contains the name of the HTTP header that is used to carry the Sparse Stream Pointer message, specified in section 2.2.5.