Wasabi ExpressPlay SDK for Embedded Systems
1.23.0
|
(DASH) Media data access. More...
Data Structures | |
struct | WSB_MediaSourceStatistics |
Media Source statistics. More... | |
struct | WSB_MediaSourceInfoExtension |
Info extensions. More... | |
struct | WSB_MediaSourceMediaInfo |
Media information, used to convey, amongst other things, the codec information for downloaded media buffers. More... | |
struct | WSB_MediaPresentationInfo |
Media Presentation Info. More... | |
struct | WSB_MediaPeriodInfo |
Media Period Info. More... | |
struct | WSB_MediaInitSegmentInfo |
Segment information for initialization segments. More... | |
struct | WSB_MediaFileInfo |
File information for a DASH representation consisting of a single URL and no segment such as subtitles. More... | |
struct | WSB_MediaSegmentInfo |
Segment information for media segments. More... | |
struct | WSB_DashCencInfo |
MPEG DASH Common Encryption information. More... | |
struct | WSB_DashDvInfo |
Dolby Vision information for video segments. More... | |
struct | WSB_DashIsoFfMediaSegmentInfo |
Subclass of WSB_MediaSegmentInfo for MPEG DASH media segments. More... | |
struct | WSB_MediaDataInfo |
Media data information/. More... | |
struct | WSB_DashIsoFfMediaDataInfo |
Subclass of WSB_MediaDataInfo for MPEG DASH ISOFF media data. More... | |
struct | WSB_MediaRepresentationInfo |
Representation info. More... | |
struct | WSB_MediaStreamVariantInfo |
Stream variant info. More... | |
struct | WSB_MediaSourceEvent |
Event base class. More... | |
struct | WSB_MediaSourceStateChangedEvent |
This event is sent when the state of the media source changes. More... | |
struct | WSB_MediaSourcePresentationEvent |
This event is sent when a new presentation has been received. More... | |
struct | WSB_MediaSourcePeriodEvent |
This event is sent when a new period has started. More... | |
struct | WSB_MediaSourceInitSegmentEvent |
This event is sent when a new initialization segment has been received. More... | |
struct | WSB_MediaSourceMediaSegmentEvent |
This event is sent when the download of a new segment has started. More... | |
struct | WSB_MediaSourceMediaDataEvent |
This event is sent when new data is available for one of downloading segment. More... | |
struct | WSB_MediaSourceSeekDoneEvent |
This event is sent when a seek operation has been completed. More... | |
struct | WSB_MediaSourceStartDoneEvent |
This event is sent when a start operation has been completed. More... | |
struct | WSB_MediaSourceStopDoneEvent |
This event is sent when a stop operation has been completed. More... | |
struct | WSB_MediaSourceFlushDoneEvent |
This event is sent when a flush operation has been completed. More... | |
struct | WSB_MediaSourceListener |
struct | WSB_MediaSourceListenerInterface |
struct | WSB_MediaSourceCodecFilter |
struct | WSB_MediaSourceCodecFilterInterface |
struct | WSB_MediaSourceStreamSelector |
struct | WSB_MediaSourceStreamSelectorInterface |
struct | WSB_MediaSourceRepresentationSelector |
struct | WSB_MediaSourceRepresentationSelectorInterface |
struct | WSB_MediaSourceConfig |
WSB_MediaSource configuration options. More... | |
struct | WSB_MediaSourceStatus |
Status of a WSB_MediaSource instance. More... | |
Macros | |
#define | WSB_MEDIA_SOURCE_TIMEOUT_INFINITE ((WSB_Int32)(-1)) |
#define | WSB_DASH_ISOFF_MEDIA_DATA_FLAG_SYNC 1 |
#define | WSB_MEDIA_SOURCE_INFO_EXTENSION_TYPE_PSSH 0x70737368 /* 'pssh' */ |
#define | WSB_MEDIA_SOURCE_USE_DEFAULT_SELECTOR (-1) |
#define | WSB_MEDIA_SOURCE_NO_COMPATIBLE_SELECTION (-2) |
Functions | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Create (const char *url, const char *mime_type, const WSB_MediaSourceListener *listener, const WSB_MediaSourceCodecFilter *codec_filter, const WSB_MediaSourceStreamSelector *stream_selector, const WSB_MediaSourceRepresentationSelector *representation_selector, const WSB_MediaSourceConfig *config, WSB_MediaSource **source) |
Create a WSB_MediaSource instance to handle a streaming URL. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Start (WSB_MediaSource *self, WSB_MediaSourceResumeFlag resume_flag) |
Start the media source. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Stop (WSB_MediaSource *self) |
Stop the media source. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Flush (WSB_MediaSource *self, WSB_MediaSourceFlushFlag flush_flag) |
Flush the media source buffers. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Advance (WSB_MediaSource *self, WSB_Int32 timeout) |
Process the next message from the media source queue and call the listener's OnEvent callback with a corresponding event. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Seek (WSB_MediaSource *self, WSB_UInt64 position_in_ms, WSB_MediaSourceSeekFlag seek_flag) |
Seek to a specific time position in the media source. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_ReselectStreams (WSB_MediaSource *self) |
Reselect streams from the media source. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_GetStatus (WSB_MediaSource *self, WSB_MediaSourceStatus *status) |
Obtain the status of a WSB_MediaSource instance. More... | |
WSB_EXPORT WSB_Result | WSB_MediaSource_Destroy (WSB_MediaSource *self) |
Destroy a WSB_MediaSource instance. More... | |
(DASH) Media data access.
#define WSB_DASH_ISOFF_MEDIA_DATA_FLAG_SYNC 1 |
#define WSB_MEDIA_SOURCE_INFO_EXTENSION_TYPE_PSSH 0x70737368 /* 'pssh' */ |
#define WSB_MEDIA_SOURCE_NO_COMPATIBLE_SELECTION (-2) |
#define WSB_MEDIA_SOURCE_TIMEOUT_INFINITE ((WSB_Int32)(-1)) |
#define WSB_MEDIA_SOURCE_USE_DEFAULT_SELECTOR (-1) |
typedef struct WSB_MediaFileInfo WSB_MediaFileInfo |
File information for a DASH representation consisting of a single URL and no segment such as subtitles.
typedef struct WSB_MediaSource WSB_MediaSource |
Interface used to check which codecs are supported and which are not.
typedef struct WSB_MediaSourceListenerInstance WSB_MediaSourceListenerInstance |
Recipient of Media Source event callbacks.
typedef struct WSB_MediaSourceListenerInterface WSB_MediaSourceListenerInterface |
typedef struct WSB_MediaSourceRepresentationSelectorInstance WSB_MediaSourceRepresentationSelectorInstance |
Interface used to select amongst different available representations (typically different bitrates)
Interface used to select amongst different available streams.
(for example, different languages, or alternative viewpoints)
typedef struct WSB_MediaSourceRepresentationSelectorInterface WSB_MediaSourcRepresentationSelectorInterface |
enum WSB_MediaSegmentType |
Event types.
Flush operation modifier flags.
The constants are mutually exclusive, i.e. cannot be combined using the bitwise OR, '|'.
Enumerator | |
---|---|
WSB_FLUSH_FLAG_BOTH | Flush both audio and video. |
WSB_FLUSH_FLAG_VIDEO_ONLY | Flush video, keep audio continuous. |
WSB_FLUSH_FLAG_AUDIO_ONLY | Flush audio, keep video continuous. |
Resume operation modifier flags.
The constants are mutually exclusive, i.e. cannot be combined using the bitwise OR, '|'.
enum WSB_MediaSourceState |
WSB_EXPORT WSB_Result WSB_MediaSource_Advance | ( | WSB_MediaSource * | self, |
WSB_Int32 | timeout | ||
) |
Process the next message from the media source queue and call the listener's OnEvent callback with a corresponding event.
self | Pointer to the WSB_MediaSource instance to advance. |
timeout | Timeout in milliseconds. |
WSB_EXPORT WSB_Result WSB_MediaSource_Create | ( | const char * | url, |
const char * | mime_type, | ||
const WSB_MediaSourceListener * | listener, | ||
const WSB_MediaSourceCodecFilter * | codec_filter, | ||
const WSB_MediaSourceStreamSelector * | stream_selector, | ||
const WSB_MediaSourceRepresentationSelector * | representation_selector, | ||
const WSB_MediaSourceConfig * | config, | ||
WSB_MediaSource ** | source | ||
) |
Create a WSB_MediaSource instance to handle a streaming URL.
url | The URL to stream |
mime_type | The MIME Type of the content referenced by the URL, or NULL if it is not known. |
listener | Pointer to a WSB_MediaSourceListener instance that will receive callbacks when calling WSB_MediaSource_Advance(). |
codec_filter | Pointer to a WSB_MediaSourceCodecFilter if the caller wants to override the default codec filtering logic, or NULL to use the default codec filtering logic. |
stream_selector | Pointer to a WSB_MediaSourceStreamSelector if the caller wants to override the default stream selection logic, or NULL to use the default stream selection logic. |
representation_selector | Pointer to a WSB_MediaSourceRepresentationSelector if the caller wants to override the default representation selection logic, or NULL to use the default representation selection logic. |
config | Pointer to the configuration parameters for the media source, or NULL to use the default configuration parameters. |
source | Address of a WSB_MediaSource pointer that will be set to refer to the newly created WSB_MediaSource object. |
WSB_EXPORT WSB_Result WSB_MediaSource_Destroy | ( | WSB_MediaSource * | self | ) |
Destroy a WSB_MediaSource instance.
self | Pointer to the WSB_MediaSource instance to detroy. |
WSB_EXPORT WSB_Result WSB_MediaSource_Flush | ( | WSB_MediaSource * | self, |
WSB_MediaSourceFlushFlag | flush_flag | ||
) |
Flush the media source buffers.
self | Pointer to the WSB_MediaSource instance to operate on. Flush any messages queued between the media source implementation module and the client listener. The operation will execute potentially out of order of issue, resulting in out of order completion with respect to other commands issued before it. As a result, any responses to commands issued before the flush, e.g. a seek, may or may not have the corresponding responses reach the client. The media source listener interface will be notified of the flush command processing with a WSB_MEDIA_SOURCE_EVENT_FLUSH_DONE event. |
flush_flag | the modifier for how the flush operation is to be performed. If |
WSB_EXPORT WSB_Result WSB_MediaSource_GetStatus | ( | WSB_MediaSource * | self, |
WSB_MediaSourceStatus * | status | ||
) |
Obtain the status of a WSB_MediaSource instance.
self | Pointer to the WSB_MediaSource instance to obtain the status of. |
status | Pointer to a WSB_MediaSourceStatus structure where the status will be returned. |
WSB_EXPORT WSB_Result WSB_MediaSource_ReselectStreams | ( | WSB_MediaSource * | self | ) |
Reselect streams from the media source.
self | Pointer to the WSB_MediaSource instance to reselect streams with. Reselecting streams from the media source is asynchronous: the streams may not change by the time this function returns and the change will happen at the starting of the segment boundary. The media source stream selector interface will be called to perform the stream selection. |
WSB_EXPORT WSB_Result WSB_MediaSource_Seek | ( | WSB_MediaSource * | self, |
WSB_UInt64 | position_in_ms, | ||
WSB_MediaSourceSeekFlag | seek_flag | ||
) |
Seek to a specific time position in the media source.
self | Pointer to the WSB_MediaSource instance to seek with. Seeking a media source is asynchronous: the media source position may not yet have changed by the time this function returns. The media source listener interface will be notified of the completion of the seek operation. |
position_in_ms | Position to seek to, expressed in milliseconds. |
seek_flag | the modifier for the way seek is to be performed. |
WSB_EXPORT WSB_Result WSB_MediaSource_Start | ( | WSB_MediaSource * | self, |
WSB_MediaSourceResumeFlag | resume_flag | ||
) |
Start the media source.
self | Pointer to the WSB_MediaSource instance to start. Starting a media source is asynchronous: the media source may not be started by the time this function returns. The media source listener interface will be notified of the state change when the source actually starts with a WSB_MEDIA_SOURCE_EVENT_START_DONE event. |
resume_flag | the modifier for how the resume operation is to be performed. |
WSB_EXPORT WSB_Result WSB_MediaSource_Stop | ( | WSB_MediaSource * | self | ) |
Stop the media source.
self | Pointer to the WSB_MediaSource instance to stop. Stopping a media source is asynchronous: the media source may not be stopped by the time this function returns. The media source listener interface will be notified of the state change when the source actually stops with a WSB_MEDIA_SOURCE_EVENT_STOP_DONE event. |