Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0144b4ff authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "audio: Specify frame counter behavior for streams" am: 56ea2c54 am:...

Merge "audio: Specify frame counter behavior for streams" am: 56ea2c54 am: 2cc5c067 am: a2f6cf19

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1623059

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2a3b8e750f0d120d25c19a1e91567b7b85f5c117
parents d7886ba5 a2f6cf19
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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.
+2 −0
Original line number Diff line number Diff line
@@ -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
+5 −1
Original line number Diff line number Diff line
@@ -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,
+15 −5
Original line number Diff line number Diff line
@@ -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
@@ -287,6 +296,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.