| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Bug: 9371882
Change-Id: I9e4b8c2154b03ce8ff3e14c465a5224bb6e8db9a
|
|
|
|
|
|
|
|
|
| |
Add a specific method to AudioSystem for AudioService to poll
for AudioFlinger service restart instead of relying on current
callback mechanism which is flaky.
Bug: 9693068.
Change-Id: Ie88bc9d25033503bc5cd2fa9d8c754d0f8045b8f
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 10361136
-Connect calls now return status_t error flags.
Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed for the MediaTimeProvider java interface, so it does not
continually poll for current media time.
Note: NuPlayer and AwesomePlayer do not correctly handle stop (pause
instead), so for those we will signal PAUSED.
Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I3c61e1bda475f131323f475c18a42e3ec66c9ae1
Bug: 10326117
|
|\ \
| | |
| | |
| | | |
the" into klp-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
surface on the transition from executing->idle by specifying the key
"push-blank-buffers-on-shutdown" with a value of 1 in the call to configure.
Change-Id: I1155fccf89f18e717728c985e590651597595515
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added flags field to CodecCapabilities, so that applications
can query whether codecs support various features. For now
added one video-decoder feature:
kFlagSupportsAdaptivePlayback
Media playback applications can query it to see if a codec
supports seamless resolution changes, such as by supporting
dynamic output buffers.
Signed-off-by: Lajos Molnar <lajos@google.com>
Change-Id: I09da46e8ab6b8645fa2749e33128e49eda2e865b
Related-to-bug: 7093648
|
|\ \
| | |
| | |
| | | |
klp-dev
|
| |/
| |
| |
| |
| |
| |
| | |
if no new frame has been delivered by surface flinger within the timeout
interval.
Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The audio input handle is ultimately owned by the audio recorder
object but it could be dropped on the floor if an error occurred
before that object was fully initialized.
Rearranged some of the argument validation and merged getInput_l
with openRecord_l to simplify the code and prevent such a leak
from occurring.
Bug: 10265163
Change-Id: I124dce344b1d11c2dd66ca5e2c9aec0c52c230e2
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
There was some obsolete and incomplete text left over
after the new control block code was submitted.
This cleans up all those comments to be accurate again.
Change-Id: Ic52f5869cb723cde25d709514d6deea6aa6f20aa
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id719fb6df9c9d955ac24803082d08f2a4a5bc766
related-to-bug: 9695816
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is used to set the handle in the metadata buffer that is
valid in the mediaserver process, as well as to keep a reference
for the graphic buffers in BufferMeta.
Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634
Signed-off-by: Lajos Molnar <lajos@google.com>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 9265647
Change-Id: Iefabc11e4bd2e2e8ffd31160476c450affe6629c
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I76ec536d1504eb9a558178b62bf225aace4b40d1
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new parameter 'flags' of type audio_input_flags_t will be used for
requesting a fast track, but is currently ignored.
Change-Id: If68dfda8b2d4eaaca42927d721b4630c47f71f3b
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will allow AudioFlinger to tell client it is denying a request.
Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06
|
|\ \ \ \ \
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new optional parameter 'flags' of type audio_input_flags_t will be
used for requesting a fast track.
Change-Id: Ia7e070cb57c833e608352da354fb30dc26df6918
|
|\ \ \ \ \ |
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
Change-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7
|
|\ \ \ \ \
| | |/ / /
| |/| | | |
|
| |/ / /
| | | |
| | | |
| | | | |
Change-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6
|
|\ \ \ \ |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
The defaults aren't needed; all users must know these values.
Change-Id: I0c1c97cb80bfea8e69a7cfa53ec85a91a8d48bb5
|
|/ / /
| | |
| | |
| | | |
Change-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a regression that was introduced earlier
by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5
called "New control block for AudioTrack and AudioRecord".
That commit broke underrun reporting for fast tracks.
Also remove Track::mUnderrunCount, which counted the number of underrun
events, and was only used by dumpsys media.audio_flinger.
Now dumpsys media.audio_flinger reports the number of underrun frames,
Isolated underrun-related control block accesses via the proxy, so that
the server is not directly poking around in the control block.
The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and
AudioTrackServerProxy::tallyUnderrunFrames(). getUnderrunFrames() returns
a rolling counter for streaming tracks, or zero for static buffer tracks
which never underrun, but do a kind of 'pause' at end of buffer.
tallyUnderrunFrames() increments the counter by a specified number of frames.
Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2
|
|/ /
| |
| |
| |
| |
| |
| | |
upon the death of an ALooper.
Change-Id: I64c0835b8db04486204f3d0fa7173ee53708a116
related-to-bug: 10106648
|
| |
| |
| |
| | |
Change-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level
Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
|
| |
| |
| |
| |
| |
| |
| | |
This is part of a series of CLs to clean up the shared memory
control block, by removing any fields that don't have to be there.
Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7
|
| |
| |
| |
| | |
Change-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89
|
| |
| |
| |
| | |
Change-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e
|
|/
|
|
| |
Change-Id: Ide608ef452d57da29b708180d90470361c123d1d
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Former name 'channels' was ambiguous with respect to channel count.
Change-Id: I716f792d95a7e0c787d27514ad6e93dbcef8a415
|
| |
| |
| |
| | |
Change-Id: I5f624b7a51ffe1a17a67c056cf984f74e4c56eac
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Offloading of compressed audio decoding to audio DSP
is implemented for audio only, non streamed content.
when the datasource is
AudioPlayer:
- Create an offloaded sink when playing a compressed
source
- Send metadata to audio HAL
- Return sink start error to AwesomePlayer so that a
new player for PCM audio can be created in case of problem.
- Forward stream end and tear down callback events to AwesomePlayer
- Stop the sink and wait for stream end callback when EOS is reached.
- Pause and restart the sink if needed before flushing when seeking
(otherwise flush is a no op).
- For current media time, directly query the render position from the
sink and offset by the start position (seek to time)
AwesomePlayer:
- When initializing the audio decoder, check with audio policy manager
if offloading is supported. If yes, create the software decoder in
case a reconfiguration is needed but connect the audio track directly
to the AudioPlayer.
- In case of error when starting the AudioPlayer, reconnect the software
decoder (OMXSource) and recreate a PCM AudioPlayer.
- Handle AudioPlayer tear down event by detroying and recreating the
AudioPlayer to allow transitions between situations were offloading
is supported or not.
- Force tear down of offloaded AudioPlayer when paused for a certain time:
This will close the sink and allow the DSP to power down.
Utils:
- Added helper methods:
- send meta data to audio ia sink setParameters
- query audio policy manager if offloading is supported for a
given audio content
Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae
Signed-off-by: Eric Laurent <elaurent@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Main change is to how recycled tracks are used for gapless
playback. If we are playing offloaded tracks that can't be
recycled we don't open a new offloaded output until we have
closed the previous one. This is because offloaded tracks
are a limited resource so we don't want to spuriously create
unnecessary instances. If the tracks cannot be recycled
this means that the formats are incompatible and so the
hardware most likely will also be unable to use the existing
output channel for the new track. If we already have the
maximum number of hardware offload channels open (which could
be only one) then creation of the next output would fail if
we attempted it while the previous output was still open.
Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea
Signed-off-by: Eric Laurent <elaurent@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- start() returns a status so that upper layers can
recreate a non offloaded track in case of error.
- Added states to handle offloaded tracks specific:
- waiting for stream end (drain) notification by
audio flinger
- allow pause while waiting for stream end notification
- getPosition() queries the render position directly from
audio HAL.
- disable APIs not applicable to offloaded tracks
- Modified track restoring behavior for invalidated
offloaded tracks: just send the callback and wait for
upper layers to create a new track.
- Added wait for stream end management in audio track client
proxy. Similar to obtainBuffer and should be factored in.
Change-Id: I0fc48117946364cb255afd653195498891f622bd
Signed-off-by: Eric Laurent <elaurent@google.com>
|