Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Native
Skip to main content

Interface IMediaSampleSourceTrack3

interface IMediaSampleSourceTrack3
Extends IMediaSampleSourceTrack2 This interface is an extension of IMediaSampleSourceTrack2 which adds support for queueMediaSample to work in non-blocking mode. The APIs in this interface must be called after onInitialized callback is received, else exception would be thrown.

Methods

queueMediaSampleAsync()

IMediaSampleSourceQueueReturn* queueMediaSampleAsync(IMediaSample* mediaSample)
Queues a mediaSample object to MediaSampleSourceTrack’s queue. Apps must enqueue samples in decoding order.

Parameters

mediaSample
IMediaSample* — Required The media sample to be enqueued to track.

Returns

IMediaSampleSourceQueueReturn* an instance of IMediaSampleSourceQueueReturn object

addQueueListener()

com.amazon.apmf.ISubscription* addQueueListener(IMediaSampleSourceQueueListener* mediaSampleSourceQueueListener)
Adds the mediaSampleSourceQueueListener implemented by the clients to receive notifications. Only one IMediaSampleSourceQueueListener can be registered per track. Multiple addQueueListener on same track will result in an InvalidStateError exception. This API call is optional.

Parameters

mediaSampleSourceQueueListener
IMediaSampleSourceQueueListener* — Required IMediaSampleSourceQueueListener instance to notify queue under-run (onNeedData) and over-run (onEnoughData)

Returns

com.amazon.apmf.ISubscription* ISubscription object instance

setQueueThresholds()

void setQueueThresholds(i64 needDataThresholdMs, i64 enoughDataThresholdMs)
Sets the thresholds for internal cache to trigger the IMediaSampleSourceQueueListener callbacks for queue under-run (onNeedData) and over-run (onEnoughData) NOTE: needDataThresholdMs must be less than enoughDataThresholdMs with minimum difference of 500ms. Else, InvalidStateException will be thrown.

Parameters

needDataThresholdMs
i64 — Required time in ms below which onNeedData callback will be invoked, minimum possible 500ms. Default value: 500
enoughDataThresholdMs
i64 — Required time in ms above which onEnoughData callback will be invoked, maximum possible 5000ms. Default value: 5000
Last modified on October 29, 2026