| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gapless mode is not working for offload playback due to mismatch
in flags of current track and next track to be played.
AUDIO_OUTPUT_FLAG_DIRECT is added in AudioTrack flags for current track
which does not match exactly with requested flags for next track.
Because of this mismatch, reuse of the AudioTrack is not allowed.
To fix this, update audio sink flags with requested flags and use
track flags only to setPlaybackRate if AUDIO_OUTPUT_FLAG_DIRECT flag
is not set.
Bug: 23221273
authored-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
Change-Id: I52761ccd854b66a7bc218e83c9b44598771c46f7
|
|
|
|
|
|
|
|
|
|
|
|
| |
Access to audio attributes fields in Client and AudioOutput
was not always locked.
Audio attributes field in AudioOutput cannot share the same pointer
as Client because it can be indepently accessed. Save the
attributes inside AudioOutput instead.
Bug 22672670
Change-Id: Ib1002b57b45cea44ff5e6eb115d581dc3beec006
|
|
|
|
|
| |
Bug: 22630317
Change-Id: I0337d74f4ef04bf96f2de83f33d98d0d7da47c12
|
|
|
|
|
|
|
|
| |
Make sure that when audio attributes are set, the stream type
is always derived from them.
Bug: 22481669.
Change-Id: Ia10c7017eb27e7753faf97a42dd4f44e15f2c986
|
|
|
|
|
|
|
|
|
| |
NuPlayerRenderer may open and close the AudioOutput while
MediaPlayerService::Client accesses it.
Bug: 20069455
Bug: 22295200
Change-Id: Ic37987c1de1919cf890b2e69778e6df71e7ee7c5
|
|\
| |
| |
| | |
flags." into mnc-dev
|
| |
| |
| |
| |
| |
| |
| | |
Do not call AudioTrack::setPlaybackRate when DIRECT flag is set.
Bug: 17459982
Change-Id: Ib8fb07be72558234519590bcc3bb88c4f6edfa37
|
| |
| |
| |
| |
| |
| |
| |
| | |
Property media.stagefright.audio.sink (in milliseconds)
Also change the default buffer size for PCM playback to 500 ms.
Bug: 21198655
Change-Id: I5781288f59bf08fbecd9263a26c919570b58be0f
|
|\ \
| | |
| | |
| | | |
flush" into mnc-dev
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When playing in non-offloaded mode with gapless playback it is
necessary to reset AudioSink's bytes written on stop and flush
(e.g. seeking) so the frames written can be correctly retrieved
for the subsequent song in NuPlayer::Renderer::onAudioSinkChanged().
Without this change, seeks performed during playback will cause
a time position offset of the subsequent song in Play Music.
Bug: 21198655
Change-Id: I0fb6cc94b5a0ff106dc8a71571ed85d75fb00660
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Causes glitches in PCM playback for NuPlayer callback mode.
Not sure the original intention of this with AwesomePlayer, as zeroes
are only placed under EOS condition for AudioSink targets, not AudioTrack
targets. Does not seem useful anymore as AwesomePlayer appears to
call stop() which should send the remaining track data out.
Bug: 21198655
Change-Id: Iab80dd7bc6e2e341f92406c5d8f8085e9d877bcd
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Bug: 15986092
Change-Id: I9dc6828332e4091fd93bf2d82839e8e3862a2fc2
|
| |
| |
| |
| |
| |
| |
| | |
Prompted by this bug, but not a fix for the bug
Bug: 21352202
Change-Id: I350d9d8660a367470450c9f54d7c541d4896ebda
|
| |
| |
| |
| |
| |
| | |
Bug: 19061432
Bug: 21370108
Change-Id: Iaa757555ef37fd1ac87b6e2d5a9969bb58cc5ebc
|
|/
|
|
|
|
| |
Bug: 20818955
Bug: 20890069
Change-Id: I243205b99b198eb1b5a1a027b27cbb7d5aaaa8db
|
|
|
|
|
|
|
| |
Bug: 18249558
Bug: 19666434
Bug: 20057497
Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
|
|
|
|
| |
Change-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b
|
|
|
|
| |
Change-Id: I49aa83e38e90ebd20793885de9420de96062aa37
|
|
|
|
| |
Change-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.
MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)
Only NuPlayer supports this new data source.
The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an
IDataSource.
Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Issue: Calling dump function while the media clients
(sessions) are created and destroyed will result in a deadlock.
Description: MediaPlayerService::dump() takes Mutex while calling
client::dump() and right after that the strong reference to client
is cleared. If there are no references to client object at this moment
(which is the case if multiple audio sessions are created and destroyed)
then the client destructor gets called which tries to take
the same Mutex resulting in a deadlock.
Fix: Take a strong reference to client objects and release them only
after releasing the Mutex.
Bug: 18700631
Author: Sidipotu Ashok<sashok@codeaurora.org>
Change-Id: I82c89771de352d2f0d914eb0a3b9fc7bfb6116b0
|
|\ \
| | |
| | |
| | | |
it."
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
bug: 19189826
Change-Id: I656e863eb68edf22812eb380ec6cd4105f4000aa
On branch checkbattstats
Changes to be committed:
modified: MediaPlayerService.cpp
|
|/
|
|
|
|
|
| |
This cherry picks https://googleplex-android-review.git.corp.google.com/#/c/643541/ to master.
Bug: 19448263
Change-Id: I43dea830212de79c2b080185b6c6b36078f517d2
|
|
|
|
|
|
| |
Bug: 19196501
Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
|
|
|
|
|
|
|
|
| |
Print a list of looper-handler pairs and the number of messages
they've processed, and optionally break those stats out by
message type.
Change-Id: I68ce4a7003152d5c9b5cb3f42e6f3949b471aa6e
|
|
|
|
|
|
|
| |
and make SoundPool use MediaCodec for decoding files to PCM.
Bug: 18239054
Change-Id: Ia144fc1bbb0d2787638ee972e2224339b4965310
|
|
|
|
|
|
|
| |
This gets rids of a bunch of special midi handling and replaces it
with an extractor that works with NuPlayer and MediaMetadataRetriever.
Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch will fix the double close issue in SoundPool::doLoad():
status = MediaPlayer::decode(mFd, mOffset, mLength, &sampleRate, &numChannels, &format,
mHeap, &mSize);
ALOGV("close(%d)", mFd);
::close(mFd);
mFd = -1;
In MediaPlayerService::decode() which is called directly by
MediaPlayer::decode(), the fd will be closed, and after it return, the
mFd will be closed again.
When the system is idle, the second close will fail with EBADFD, but if
the system is busy, the mFd will be reused with another open/socket/pipe
system call, and the second close will cause errors.
Change-Id: If709515392cd490fea569658202524c51f8df785
Signed-off-by: Bao Haojun <baohaojun@gmail.com>
Signed-off-by: Wang Liang <wangliang@smartisan.cn>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to use the new static version.
Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
Conflicts:
media/libmedia/IAudioFlinger.cpp
media/libmedia/IMediaPlayer.cpp
media/libstagefright/CameraSource.cpp
|
| |
| |
| |
| |
| | |
Bug: 14659809
Bug: 16985287
Change-Id: I59ec72fbd40a9b8d28fe548ddad082c03000c045
|
| |
| |
| |
| |
| |
| |
| |
| | |
When unmarshalling audio_attributes_t typed data,
it didn't parse the audio_source_t member between content_type and flags.
Bug: 16906307
Change-Id: Ia0d8df9b5c31441d34dc82678bceccd8ce31423d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Overflow occurs when SoundPool sample tracks cannot
fit in the MediaPlayerService AudioCache buffer.
Unnecessary decoding occurred with AwesomePlayer and
an assert failure occurred with NuPlayer. NuPlayerRenderer
is also tweaked to handle the latter case.
Bug: 17122639
Change-Id: I4d25d3e2c0c62e36a91da6bf969edabddc2ebbb0
|
| |
| |
| |
| |
| |
| | |
Bug: 16683770
Bug: 17035257
Change-Id: I7aef543c47214cc2854d143167b02f1603cf8bea
|
| |
| |
| |
| |
| | |
Bug: 11990470
Change-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef
|
| |
| |
| |
| |
| | |
Bug: 12979595
Change-Id: Ia800de3e65ed4dec8334c6fde566edab12d23c42
|
| |
| |
| |
| | |
Change-Id: Iae4995c98e64add1ab9e6c8ae6501515032755f5
|
| |
| |
| |
| | |
Change-Id: I333e52dc377becc774f3fa971c230ecb55ea8d7b
|
| |
| |
| |
| |
| |
| |
| | |
LOG_FATAL is compiled out in most builds, so the
assertion checks were not being performed.
Change-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35
|
| |
| |
| |
| |
| |
| | |
It's size_t consistently
Change-Id: I29638ef59ac773218025f2403a3508a307b487e0
|
| |
| |
| |
| |
| |
| | |
so they can be properly freed.
Change-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3
|
|\ \
| |/
| |
| | |
Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
|
| |
| |
| |
| |
| |
| |
| |
| | |
AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.
Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.
Cherrypicked from master.
b/9464621
Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
|
| |
| |
| |
| |
| |
| |
| |
| | |
since we started to use java's HTTPConnection instead of the native
implementation. Also remove other remnants of the previous http implementation,
such as accounting for the http user's uid.
Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
|
| |
| |
| |
| |
| |
| | |
to media code
Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
|