Commit 3bc5de30 authored by kolanp's avatar kolanp
Browse files

WT3a: Changes to support multi-access media delivery (26.512-CR0087)

parent 788f5c49
Loading
Loading
Loading
Loading
+180 −1
Original line number Diff line number Diff line
@@ -142,6 +142,97 @@ components:
            minimumBitRate:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'

    ServiceDescription:
      description: Service description as defined in annex K of ISO/IEC 23009-1. This allows the application to define additional service descriptions beyond those defined in a media description document such as MPD.          
      type: object
      properties:
        id:
          type: string
          description: Service description identifier.
        serviceLatency:
          type: object
          description: Service description parameters for the service latency, as defined in table K.1 of ISO/IEC 23009-1.  
        playBackRate:
          type: object
          description: Service description parameters for the playback rate, as defined in table K.2 of ISO/IEC 23009-1 when the service is consumed in live mode.
        operatingQuality:
          type: object
          description: Service description parameters for the operating quality, as defined in table K.3 of ISO/IEC 23009-1.
        operatingBandwidth:
          type: object
          description: Service description parameters for the operating bandwidth, as defined in table K.4 of ISO/IEC 23009-1.

    ServiceOperationPoint:
      description: Service Operation Point parameters according to which the DASH client is operating.
      type: object
      properties:
        externalIdentifier:
          type: string
          description: Identifier uniquely identifying Service Operation Point in the presentation manifest (e.g. DASH MPD).
        mode:
          $ref: '#/components/schemas/MediaOperationMode'
          description: >
            In case of live operation mode, the DASH client operates to maintain configured target latencies using playback rate adjustments and possibly resync.
            In case of vod operation mode, the DASH client operates without latency requirements and rebuffering may result in additional latencies.
        maxBufferTime:
          type: integer
          description: Maximum buffer time in milliseconds for the service.
        switchBufferTime:
          type: integer
          description: Buffer time threshold below which the DASH clients attempt to switch Representations.
        latency:
          type: object
          description: Defines the latency parameters used by the DASH client when operating in live mode.
          properties:
            target:
              type: integer
              description: The target latency for the service in milliseconds.
            max:
              type: integer
              description: The maximum latency for the service in milliseconds.
            min:
              type: integer
              description: The minimum latency for the service in milliseconds.
        playbackRate:
          type: object
          description: Defines the playback rate parameters used by the DASH client for catchup mode and deceleration to avoid buffer underruns and maintaining target latencies.
          properties:
            max:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Double'
              description: Maximum playback rate for the purposes of automatically adjusting playback latency and buffer occupancy during normal playback, where 1.0 is normal playback speed.
            min:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Double'
              description: Minimum playback rate for the purposes of automatically adjusting playback latency and buffer occupancy during normal playback, where 1.0 is normal playback speed.
        bitRate:
          type: object
          description: Defines the operating bit rate parameters used by the DASH client used for a specific media type or aggregated. The values are on IP level.
          properties:
            target:
              type: integer
              description: The target bit rate for the service in bit/s that the client is configured to consume.
            max:
              type: integer
              description: The maximum bit rate for the service in bit/s that the client is configured to consume.
            min:
              type: integer
              description: The minimum bit rate for the service in bit/s that the client is configured to consume.
        playerSpecificParameters:
          type: object
          description: Player-specific parameters may be provided, for example about the used algorithm, etc..

    MultiAccessConnectionStatus:
      description: Multi-access delivery connection status information.
      properties:
        status:
          type: boolean
          description: Indicates status of multi-access delivery connection.
        transportProtocol:
          $ref: '#/components/schemas/MultiAccessTransportProtocolType'
          description: An enumerated value indicating the multi-access transport protocol.
        numberOfPaths:
          type: integer
          description: The current number of active subflows or paths at reference point M4d.              

    #####################################
    # Clause 6.4.4: Enumerated data types
    #####################################
@@ -157,3 +248,91 @@ components:
            This string provides forward-compatibility with future
            extensions to the enumeration but is not used to encode
            content defined in the present version of this API.
            
    MultiAccessTransportProtocolType:
      anyOf:
        - type: string
          enum:
            - MPTCP
            - MPQUIC
        - type: string
          description: >
            Represents type of multipath protocol for multi-access delivery introduced in TS 23.501

    MediaOperationMode:
      anyOf:
        - type: string
          enum:
            - live
            - vod
        - type: string
          description: >
            Two operation modes of 5GMS media delivery session.

    MediaPlayerNotificationEvent:
      description: 'Enumeration of media player notifications.'
      anyOf:
        - type: string
          enum:
            - NOTIFICATION_AST_IN_FUTURE
            - NOTIFICATION_AVAILABLE_MEDIA_CHANGED
            - NOTIFICATION_BUFFER_EMPTY
            - NOTIFICATION_BUFFER_LOADED
            - NOTIFICATION_CAN_PLAY
            - NOTIFICATION_MANIFEST_LOADED
            - NOTIFICATION_METRIC_ADDED
            - NOTIFICATION_METRIC_CHANGED
            - NOTIFICATION_METRIC_UPDATED
            - NOTIFICATION_METRICS_CHANGED
            - NOTIFICATION_OPERATION_POINT_CHANGED
            - NOTIFICATION_PLAYBACK_ENDED
            - NOTIFICATION_PLAYBACK_ERROR
            - NOTIFICATION_PLAYBACK_PAUSED
            - NOTIFICATION_PLAYBACK_PLAYING
            - NOTIFICATION_PLAYBACK_SEEKED
            - NOTIFICATION_PLAYBACK_SEEKING
            - NOTIFICATION_PLAYBACK_STALLED
            - NOTIFICATION_PLAYBACK_STARTED
            - NOTIFICATION_PLAYBACK_WAITING
            - NOTIFICATION_SERVICE_DESCRIPTION_SELECTED
            - NOTIFICATION_SERVICE_DESCRIPTION_CHANGED
            - NOTIFICATION_SERVICE_DESCRIPTION_VIOLATED
            - NOTIFICATION_SOURCE_INITIALIZED
            - NOTIFICATION_DOWNLOAD_STARTED
            - NOTIFICATION_DOWNLOAD_COMPLETED
            - NOTIFICATION_DOWNLOAD_ERROR
            - NOTIFICATION_MULTI-ACCESS_DELIVERY_ESTABLISHED
            - NOTIFICATION_MILTI-ACCESS_DELIVERY_CHANGED
        - type: object
          description: Notification payload.

    MediaPlayerErrorReason:
      description: 'Enumeration of media player errors.'
      anyOf:
        - type: string
          enum:
            - ERROR_MEDIA_ENTRY_NOT_FOUND
            - ERROR_CONTENT_NOT_FOUND
            - ERROR_MEDIA_PLAYBACK
            - ERROR_INVALID_MEDIA_ENTRY
            - ERROR_INACCESSIBLE_MEDIA_TIME
            - ERROR_UNSUPPORTED_PROFILE
            - ERROR_DOWNLOAD_DEADLINE_MISSED
            - ERROR_MULTI-ACCESS_DELIVERY_UNAVAILABLE
        - type: object
          description:  Error reason.

    MediaPlayerState:
      description: 'Enumeration of media player states.'
      anyOf:
        - type: string
          enum:
            - STATE_INITIALIZED
            - STATE_READY
            - STATE_PRELOADED
            - STATE_PLAYING
            - STATE_PAUSED
            - STATE_DOWNLOADING
            - STATE_IDLE
        - type: object
          description:  Media Player state.            
 No newline at end of file