Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ parcelable FrameMetadata {
* The buffer contains Dolby Atmos audio and metadata.
*/
boolean isDolbyAtmos;

/**
* Audio trimming to use on presentation.
*/
Expand All @@ -59,7 +59,10 @@ parcelable FrameMetadata {
boolean lowLatency;

/**
* End of stream indicator.
* End of stream flag for decoder output.
* Set to true on the final frame output callback after IAudioDecoderController.signalEOS() has been invoked, once all queued frames have been output.
* On an EOS-only callback (where the frame buffer handle is invalid), only this field is guaranteed to be meaningful.
* All other metadata fields are undefined and must not be interpreted by the client on such a callback.
*/
boolean endOfStream;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ interface IAudioDecoderController {
*
* @returns boolean
* @retval true Buffer successfully queued for decoding. Buffer ownership transfers to HAL.
* @retval false Internal decode buffer queue is full. Buffer ownership remains with caller.
* @retval false Internal decode buffer queue is full or signalEOS is called. Buffer ownership remains with caller.
*
* @exception binder::Status::Exception::EX_NONE for success
* @exception binder::Status::Exception::EX_ILLEGAL_STATE
Expand Down Expand Up @@ -156,7 +156,8 @@ interface IAudioDecoderController {
* The audio decoder must be in a state of `STARTED`.
* Any frames held by the decoder should continue to be decoded and output.
* No more audio buffers are expected to be delivered to the audio decoder after
* `signalEOS()` has been called unless the decoder is first flushed or stopped and started again.
* `signalEOS()` has been called unless the decoder is first flushed or stopped and started again.
* Any subsequent `decodeBuffer()` call in this state shall return false.
*
* An `IAudioDecoderControllerListener.onFrameOutput()` callback with `FrameMetadata.endOfStream`
* must be set to true after all audio frames have been output.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,11 @@ parcelable FrameMetadata {
int frameRateDenominator;

/**
* End of stream marker found in the video bitstream.
* End of stream flag for decoder output.
* Set to true on the onFrameOutput() callback when an EOS marker is detected in the video bitstream; the frame buffer handle is valid and all metadata fields are meaningful.
* Set to true on the final frame output callback after IVideoDecoderController.signalEOS(), once all queued frames have been output.
* On an EOS-only callback (where the frame buffer handle is invalid), only this field is guaranteed to be meaningful.
* All other metadata fields are undefined and must not be interpreted by the client on such a callback.
*/
boolean endOfStream;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ interface IVideoDecoderController
*
* @returns boolean
* @retval true Buffer successfully queued for decoding. Buffer ownership transfers to HAL.
* @retval false Internal decode buffer queue is full. Buffer ownership remains with caller.
* @retval false Internal decode buffer queue is full or signalEOS is called. Buffer ownership remains with caller.
*
* @exception binder::Status::Exception::EX_NONE for success
* @exception binder::Status::Exception::EX_ILLEGAL_STATE
Expand Down Expand Up @@ -158,6 +158,7 @@ interface IVideoDecoderController
*
* No more AV buffers are expected to be delivered to the Video Decoder after
* `signalEOS()` has been called unless the decoder is first flushed or stopped and started again.
* Any subsequent `decodeBuffer()` call in this state shall return false.
*
* An `IVideoDecoderControllerListener.onFrameOutput()` callback with `FrameMetadata.endOfStream`
* must be set to true after all video frames have been output.
Expand Down
Loading