| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Volume: add a method to wake up the mediaserver playback
thread when a volume command is received on an offloaded track.
Effects: call effect chain process on offloaded playback threads
asynchronously from writes to allow effect state updates while
waiting for async write callback.
Bug: 10796540.
Change-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
audio_effects.conf - commented changes to illustrate the
addition of Proxy and sub effects to the conf file
Added an effectFactoryApi - EffectGetSubEffects for querying the
sub effect descriptors from the factory. This api is used by the Proxy
to get the sub effects
Added functions and data structures in factory code for
loading the sub effects
gSubEffectList - has the Proxies and their corresponding sub effects
- addSubEffect() - reads a sub effect node and adds to the gSubEffectList
- findSubEffect() - searches through the gSubEffectList to find a SubEffect
Bug: 8174034.
Change-Id: Id7f6aa67c41db370d32beaf43a979ba4ac925928
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
|
|
|
|
|
|
| |
This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a.
Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737
|
|
|
|
|
|
| |
Bug: 10904541
Bug: 10360518
Change-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current SoundPool implementation allocates the shared memory heap
containing decoded PCM samples in mediaserver process.
When mediaserver process crashes, the shared memory heaps allocated by
AudioCache cannot be mapped anymore in the new instance of mediaserver.
This causes a silent failure to end playback of new sounds because
AudioFlinger believes the new AudioTracks are opened in streaming mode
and not static mode: it sees a NULL shared memory pointer when the track
is created.
The fix consists in allocating the memory heap in the client process. Thus
the heap is not lost when mediaserver restarts. The global memory usage is
the same as this is shared memory.
Also added a way to detect that a shared memory is passed when the track is
created but cannot be mapped on mediaserver side.
Also fix a crash in SoundPool when ALOGV is enabled.
Bug: 10894793.
Change-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7
|
|
|
|
|
|
|
|
|
| |
New commands to set a measurement mode and perform peak + RMS
measurements.
Bug 8413913
Change-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were two causes for the slowness:
When thread was paused, it used nanosleep and sleep. These usually
run to completion (except for POSIX signal, which we avoid because it
is low-level). Instead, replace the nanosleep and sleep by condition
timed wait, as that can be made to return early by a condition signal.
Another advantage of condition timed wait is that a condition wait was
already being used at top of thread loop, so it is a simpler change.
The AudioRecord destructor was missing a proxy interrupt that was correct
in AudioTrack. This proxy interrupt is needed in case another thread
is blocked in proxy obtainBuffer.
Does not address the 1 second polling for NS_WHENEVER.
Bug: 10822765
Change-Id: Id665994551e87e4d7da9c7b015f424fd7a0b5560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenSL ES requests a fast track. If sample rate conversion is needed,
the request is denied by server, and a larger client buffer is used
to handle the higher latency of a normal track. However the client
notification period was calculated based on buffer being divided into
2 sub-buffers. That resulted in the notification period being too long.
The server pulls chunks that are smaller than half the total buffer.
So now the client uses 3 sub-buffers when there is SRC.
Also removed the 'defer wake' optimization because it was incorrect.
This optimization attempted to reduce the number of wakeups of client,
when server releaseBuffer knows that another releaseBuffer will be
following. But there is no way for the first releaseBuffer to predict
how soon the second releaseBuffer will occur. In some cases it was
a long time, and the client underran. So now the client is woken up
immediately if the total number of available frames to client is >=
the minimum number the client wants to see (the notification period).
Also fix bug where minimum frame count was not being used in the
calculation of notification period.
Bug: 10342804
Change-Id: I3c246f4e7bc3684a344f2cf08268dc082e338e2a
|
|
|
|
|
|
|
| |
This method is needed when mediamuxer is used for camera video recording.
Bug: 10594784
Change-Id: I9bd006a07e5e2ac7019849e3f4f7cf7b8356d669
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
audio_effects.conf - commented changes to illustrate the
addition of Proxy and sub effects to the conf file
Added an effectFactoryApi - EffectGetSubEffects for querying the
sub effect descriptors from the factory. This api is used by the Proxy
to get the sub effects
Added functions and data structures in factory code for
loading the sub effects
gSubEffectList - has the Proxies and their corresponding sub effects
- addSubEffect() - reads a sub effect node and adds to the gSubEffectList
- findSubEffect() - searches through the gSubEffectList to find a SubEffect
Bug: 8174034.
Change-Id: I25b0c62b2ad523a52337128b51469e628209ea3e
Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
|
|\
| |
| |
| | |
unsupported" into klp-dev
|
| |
| |
| |
| |
| | |
Bug: 10609422
Change-Id: I005f1d04a4191b1503b5f3e895a98b8d6560c402
|
| |
| |
| |
| |
| |
| |
| | |
and implement them in SourceAudioBufferProvider using the associated NBAIO_Source,
and in Track using the associated AudioTrackServerProxy.
Change-Id: I60dc4adba63fc1dc452ff16caf347e4a7c8242c2
|
| |
| |
| |
| |
| |
| |
| |
| | |
with dummy default implementation, and implement in MonoPipeReader.
onTimestamp is meant to be called by the corresponding sink when it has
a new timestamp available.
Change-Id: I8a90d24d1061e4a592ce5bd8ee1c9fce6bdd8a84
|
| |
| |
| |
| |
| |
| | |
as typedef AudioTimestampSingleStateQueue and use it in MonoPipe.
Change-Id: Idaebb362bd9d0a81a7ed83792ab9369dc37c0e74
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
with a real implementation in AudioStreamOutSink
for dummy implementation initially in MonoPipe.
Use in AudioFlinger::PlaybackThread::threadLoop_write()
to keep the input to the timestamp latch up-to-date.
Change-Id: I10ef277991b63bb43d55d6f3df75116ef32246cd
|
|/
|
|
|
|
|
|
|
| |
This reverts commit 5ff7836da0220b3097f36c8a5e82111816ebca62.
Fixes Fatal signal 6 (SIGABRT)" when playing or downloading a video
bug: 10542864
Change-Id: I7f81a41c3acdbeb571a514b3f65e7ba37d403cca
|
|
|
|
|
|
|
| |
using a new timestamp latch in PlaybackThread, and
AudioTrackServerProxy::framesReleased() which returns mServer.
Change-Id: I1ebfba968c773faaab95648c272fd3ebd74718d6
|
|
|
|
|
|
|
|
|
|
| |
with dummy implementation in AudioFlinger::TrackHandle, and
implement AudioTrack::getTimestamp() using IAudioTrack.
Also document invariant that mAudioTrack and control block are always
non-0 after successful initialization.
Change-Id: I9861d1454cff7decf795d5d5898ac7999a9f3b7e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new API is intended to replace latency(), especially for A/V sync.
The application will receive periodic timestamp notifications. The period
is unspecified, but will likely be more frequent after a pause or stop,
set position, underrun, display on/off change, route change, or when audio
framework notices drift. It will be up to the higher level application
(e.g. Stagefright) to reconstruct a clock that updates more frequently.
The current latency() method doesn't indicate when latency changes
due to screen on/off state, route changes, etc.
Includes squahsed change-Id: I2082f8752040be0c234b1a6f1be2e269abf2ce7c
Dummy implementation of AudioTrack:getTimestamp()
Rename AudioTrack::Timestamp to AudioTimestamp.
Renaming and pulling up to a higher level allows more modules to use it.
Change-Id: Ibf7f6a207c3f8d8697f25ede2cd5200697fadb86
(cherry picked from commit dd69eb893867634fd169c03204a6ad7c74b351e7)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
- On HAL2 devices, fall back to wait until idle
- On HAL3 devices, call HAL flush method
Bug: 9758581
Change-Id: Ie1c570a15f6590a1ee6c271e3b989c48079b468a
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In DRM framework, plugins can transmit DrmInfoEvent to Java layer.
Although DrmInfoEvent has several entries, current implementation
can only convey integer and String. This change enables plugins
uto propagate a hashmap to Java layer. The hashmap can have
one or more Strings and one byte array as value.
Changes are made by Sony Corporation.
bug: 10459159
Change-Id: Ic19265d4ad3db4eda66a3c27e1e08873a8f2a4d7
(cherry picked from commit 4f782bf0cb69929ebf03de239e2c9bf8e82adf5e)
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 9371882
Change-Id: I9e4b8c2154b03ce8ff3e14c465a5224bb6e8db9a
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 10326117
Change-Id: I2c0bdf8adc67b11f8dc633423bee66897548f181
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
bug: 10244066
Change-Id: I317f05b146db962c271893f6208890a5a6c396f1
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 10312644
Change-Id: I19976188f0359bfd177209fb40145defdae9c740
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Use the controlledByApp flag to make sure application-bound
preview buffer queue is asynchronous as before
- Remove setPreviewDisplay in service, since it is no longer in
the binder interface
- Rename setPreviewTexture to setPreviewTarget, to make it clear it's
the only game in town now. Rename only on the binder level and service
for now.
Bug: 10312644
Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|