mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 15:58:43 +00:00
Merge "audio: Specify frame counter behavior for streams" am: 56ea2c54d7
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1623059 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ic4d184c2866706942a9ca0df3cd08d79f37fb532
This commit is contained in:
@@ -245,6 +245,7 @@ interface IDevice {
|
||||
/**
|
||||
* Gets the HW synchronization source of the device. Calling this method is
|
||||
* equivalent to getting AUDIO_PARAMETER_HW_AV_SYNC on the legacy HAL.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @return retval operation completion status: OK or NOT_SUPPORTED.
|
||||
@@ -255,6 +256,7 @@ interface IDevice {
|
||||
/**
|
||||
* Sets whether the screen is on. Calling this method is equivalent to
|
||||
* setting AUDIO_PARAMETER_KEY_SCREEN_STATE on the legacy HAL.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param turnedOn whether the screen is turned on.
|
||||
|
||||
@@ -110,6 +110,7 @@ interface IStream {
|
||||
|
||||
/**
|
||||
* Return the set of devices which this stream is connected to.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @return retval operation completion status: OK or NOT_SUPPORTED.
|
||||
@@ -133,6 +134,7 @@ interface IStream {
|
||||
/**
|
||||
* Sets the HW synchronization source. Calling this method is equivalent to
|
||||
* setting AUDIO_PARAMETER_STREAM_HW_AV_SYNC on the legacy HAL.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param hwAvSync HW synchronization source
|
||||
|
||||
@@ -24,6 +24,7 @@ interface IStreamIn extends IStream {
|
||||
* Returns the source descriptor of the input stream. Calling this method is
|
||||
* equivalent to getting AUDIO_PARAMETER_STREAM_INPUT_SOURCE on the legacy
|
||||
* HAL.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @return retval operation completion status.
|
||||
@@ -33,6 +34,7 @@ interface IStreamIn extends IStream {
|
||||
|
||||
/**
|
||||
* Set the input gain for the audio driver.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param gain 1.0f is unity, 0.0f is zero.
|
||||
@@ -42,6 +44,7 @@ interface IStreamIn extends IStream {
|
||||
|
||||
/**
|
||||
* Called when the metadata of the stream's sink has been changed.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param sinkMetadata Description of the audio that is suggested by the clients.
|
||||
@@ -148,7 +151,8 @@ interface IStreamIn extends IStream {
|
||||
|
||||
/**
|
||||
* Return a recent count of the number of audio frames received and the
|
||||
* clock time associated with that frame count.
|
||||
* clock time associated with that frame count. The count must not reset to
|
||||
* zero when a PCM input enters standby.
|
||||
*
|
||||
* @return retval INVALID_STATE if the device is not ready/available,
|
||||
* NOT_SUPPORTED if the command is not supported,
|
||||
|
||||
@@ -35,6 +35,7 @@ interface IStreamOut extends IStream {
|
||||
* allowing to directly set the volume as apposed to via the framework.
|
||||
* This method might produce multiple PCM outputs or hardware accelerated
|
||||
* codecs, such as MP3 or AAC.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param left left channel attenuation, 1.0f is unity, 0.0f is zero.
|
||||
@@ -46,6 +47,7 @@ interface IStreamOut extends IStream {
|
||||
|
||||
/**
|
||||
* Called when the metadata of the stream's source has been changed.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param sourceMetadata Description of the audio that is played by the clients.
|
||||
@@ -130,6 +132,7 @@ interface IStreamOut extends IStream {
|
||||
/**
|
||||
* Return the number of audio frames written by the audio DSP to DAC since
|
||||
* the output has exited standby.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @return retval operation completion status.
|
||||
@@ -141,6 +144,7 @@ interface IStreamOut extends IStream {
|
||||
* Get the local time at which the next write to the audio driver will be
|
||||
* presented. The units are microseconds, where the epoch is decided by the
|
||||
* local audio HAL.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @return retval operation completion status.
|
||||
@@ -253,8 +257,11 @@ interface IStreamOut extends IStream {
|
||||
drain(AudioDrain type) generates (Result retval);
|
||||
|
||||
/**
|
||||
* Notifies to the audio driver to flush the queued data. Stream must
|
||||
* already be paused before calling 'flush'.
|
||||
* Notifies to the audio driver to flush (that is, drop) the queued
|
||||
* data. Stream must already be paused before calling 'flush'. For
|
||||
* compressed and offload streams the frame count returned by
|
||||
* 'getPresentationPosition' must reset after flush.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* Implementation of this function is mandatory for offloaded playback.
|
||||
@@ -266,12 +273,14 @@ interface IStreamOut extends IStream {
|
||||
/**
|
||||
* Return a recent count of the number of audio frames presented to an
|
||||
* external observer. This excludes frames which have been written but are
|
||||
* still in the pipeline. The count is not reset to zero when output enters
|
||||
* standby. Also returns the value of CLOCK_MONOTONIC as of this
|
||||
* still in the pipeline. The count must not reset to zero when a PCM output
|
||||
* enters standby. For compressed and offload streams it is recommended that
|
||||
* HAL resets the frame count.
|
||||
*
|
||||
* This method also returns the value of CLOCK_MONOTONIC as of this
|
||||
* presentation count. The returned count is expected to be 'recent', but
|
||||
* does not need to be the most recent possible value. However, the
|
||||
* associated time must correspond to whatever count is returned.
|
||||
*
|
||||
* Example: assume that N+M frames have been presented, where M is a 'small'
|
||||
* number. Then it is permissible to return N instead of N+M, and the
|
||||
* timestamp must correspond to N rather than N+M. The terms 'recent' and
|
||||
@@ -289,6 +298,7 @@ interface IStreamOut extends IStream {
|
||||
/**
|
||||
* Selects a presentation for decoding from a next generation media stream
|
||||
* (as defined per ETSI TS 103 190-2) and a program within the presentation.
|
||||
*
|
||||
* Optional method
|
||||
*
|
||||
* @param presentationId selected audio presentation.
|
||||
|
||||
Reference in New Issue
Block a user