| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| | |
incorrect format specifier for type \'ssize_t\'."
* commit '903871da7a7c71b8718133e60e2f0835837b5f3f':
Fix compilation warning: incorrect format specifier for type 'ssize_t'.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
type \'ssize_t\'."
* commit 'bdf33c98912090176183d3e9b9a9217dbbdca6da':
Fix compilation warning: incorrect format specifier for type 'ssize_t'.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
warning: format '%ld' expects argument of type 'long int',
but argument 7 has type 'ssize_t {aka int}' [-Wformat]
Change-Id: I823835a26320a3abb82f8dff9fbe82e5132e7556
Signed-off-by: Scott Fan <fancp2007@gmail.com>
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I321b6c1a0223e0c3d5df04fde7a13ab91c08c7bc
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).
Other minor tweaks.
Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7602cda0e38073c9f0e63fa4de238ca0d4b4ce8e
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
interface.
Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
NOTE: this does _not_ include all private member variables added
to classes as part of offload support. Only public/protected functions
and stubs functions/variables needed to make the changes buildable.
- isOffloadSupported() added to audio policy service
A stub implementation is required to build, this always returns false
- setParameters() added to IAudioTrack
A stub implementation is required to build, this always returns
INVALID_OPERATION
- CBlk flag for stream end
- Change AudioSystem::getRenderPosition() to take an audio_output_t
so caller can specify which output to query
- Add AudioSystem::isOffloadSupported()
This is fully implemented down to the AudioFlinger function
AudioPolicyServer::isOffloadSupported() which is just a stub
that always returns false.
- Add EVENT_STREAM_END to AudioTrack interface.
STREAM_END is used to signal when the hardware has actually finished
playing all the data it was sent.
- Add event type enumeration to media player interface AudioSink callbacks
so that the same callback can be used to handle multiple types of
event. For offloaded tracks we also have to handle STREAM_END and
TEAR_DOWN events
- Pass audio_offload_info_t to various functions used for opening outputs,
tracks and audio players. This passes additional information about the
compressed stream down to the HAL when using offload.
For publicly-available APIs this is an optional parameter (for some of
the internal and low-level APIs around the HAL interface it is mandatory)
- Add getParameters() and setParameters() API to AudioTrack
Currently dummy implementations.
- Change AudioPlayer contructor so that it takes a set of bitflags defining what
options are required. This replaces the original bool which only specified
whether to use deep buffering.
- Changes to StageFright class definition related to handling tearing-down of
an offloaded track when we need to switch back to software decode
- Define new StageFright utility functions used for offloaded tracks
Currently dummy implementations.
- AudioFlinger changes to use extended audio_config_t.
Fills in audio_offload_info_t member if this info is passed in when
opening an output.
- libvideoeditor changes required to add the new event type parameter
to AudioSink callback functions
- libmediaplayerservice changes required to add the new event type parameter
to AudioSink callback functions
Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change prepares for the new implementation of AudioTrack client, which
will require clients to use only sp<AudioTrack>, not raw AudioTrack *.
A raw delete will cause a race condition during AudioTrack destruction.
AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635
on 2011/11/15, when it was needed by OpenSL ES (for the callback protector).
At that time, the only other client that was also converted from
AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in
project frameworks/base (file android_media_AudioTrack.cpp).
Details:
* Use .clear() instead of delete followed by = NULL.
* ALOG %p need .get().
* sp<> don't need to be listed in constructor initializer, if initially 0.
* Use == 0 for sp<> vs == NULL for raw pointers.
* Use if (sp != 0) instead of if (raw).
Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
stagefright.
* commit 'b7319a7eb0a06ef4fd3a0c9157ee63e637ad7aa1':
Update HTTP proxy configuration for all media playback inside stagefright.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ie0dd00045aba668d8b49da73224e7a7c9c04f69b
related-to-bug: 8873723
(cherry picked from commit 2704965b8a1ff3b7450ff58ccecf86d8ec688c40)
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
* commit '628a8c0ed91531468f5c615fea8745f63cc812aa':
fix a race condition of MediaPlayerServce::Client::mClient
|
| |\ \ \
| | | |/
| | |/| |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
there will be race condition between mClient.clear in MediaPlayerServce::Client::disconnect method
and c=client->mClient in in MediaPlayerServce::Client::notify method
Change-Id: I767294c4cb864c08e9c0e9f23d6d304a39016205
Signed-off-by: beanz <beanz@marvell.com>
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
support of _decryption_ modules in addition to what we already supported.
Change-Id: Ic37b87dc170ba8def3817991d25df798f21e950b
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Just get the parameter on server side
Change-Id: I433a63104dbb257e0d862be2ab61847cb36d1c15
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.
Bug 7736700
Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also fix typo: bufferCount should be frameCount.
Change-Id: Ibed539504db75ef99dc21c8ff1bf2987122063a5
|
|/ / /
| | |
| | |
| | | |
Change-Id: Ie240b48fb54b08359f69ecd4e5f8bda3d15cbe80
|
| | |
| | |
| | |
| | | |
Change-Id: Ia010e7a00534f9356b3247369d0ffd65591d91aa
|
| | |
| | |
| | |
| | | |
Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6
|
| | |
| | |
| | |
| | | |
Change-Id: I321b6c1a0223e0c3d5df04fde7a13ab91c08c7bc
|
| | |
| | |
| | |
| | | |
Change-Id: Ie07eca6b45142bdd83412ee0e38d732a4c355630
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Renamed disconnect() to dispose() to emphasize the fact that
this method is intended to clean up the IRemoteDisplay
completely, not just temporarily disconnect the current client
(which might be useful someday).
Other minor tweaks.
Change-Id: I1209639eb0cd8af09c724206642d7e52aab48257
|
| | |
| | |
| | |
| | | |
Change-Id: I7602cda0e38073c9f0e63fa4de238ca0d4b4ce8e
|
| | |
| | |
| | |
| | | |
Change-Id: I582ed000026bba6d116db8304e15a3c52f8a9a01
|
| | |
| | |
| | |
| | |
| | |
| | | |
interface.
Change-Id: I7d3c44cb79cd40e73499f2d7ccf35c69b628e6d7
|
| |/
|/|
| |
| | |
Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
method
o The mClient could be disconnected before the notify message is sent out. Use
a local reference could help resolve this issue.
o related-to-bug: 6782035
Change-Id: Ia2047bd7f2666100fed83c6e5417a3bf2e20cd2c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't crash if its time to start the next media player in a media
player chain, but the current player's client has a NULL mAudioOutput,
as is the case when the low level player implements
MediaPlayerHWInterface.
Change-Id: If555da3a46960cbee91ff26e5b1fd05e52c8ef28
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Add the ability to dynamically register low level MediaPlayer
factories which will be probed at setDataSource time to determine the
proper MediaPlayerBase to instantiate.
This change is in preparation for moving libaah_rtp out of
frameworks/base and into phantasm platform directory.
Change-Id: Icf8904db3ab9e3c85df6e780d5546d9988cb9076
Signed-off-by: John Grossman <johngro@google.com>
|
|
|
|
|
|
|
| |
Forward current flags to next output.
b/6645676
Change-Id: I584f7a67472d99cbd6bc38f3fe84763331d115d1
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some devices the actual framecount per buffer of an AudioTrack
will be different than what was requested, which prevented the
track from being reused. Now we create a new AudioTrack with the
requested parameters, and then compare it to the track we already
have. If they match, we throw away the new track and reuse the
existing one.
b/6644559
Change-Id: Id3e8c4460436f52e59b98ecaeb01c94f02877c1d
|
|
|
|
|
|
| |
b/6455962
Change-Id: I5c9f8c16c50587b25cafab03c48662e63855868e
|
|
|
|
|
|
|
|
|
|
| |
Allow AudioSink to use deep audio buffering when the
source is audio only and its duration is more than
a certain threshold.
This helps improve battery life but implies higher
audio latency.
Change-Id: Ie79915b61c370292f05aabda9779356570e03cbb
|
|
|
|
| |
Change-Id: I27c46bd1d1b2b5f96b87af7d05b951fef18a1312
|
|
|
|
|
|
|
|
|
|
| |
When creating a new AudioTrack (not inheriting one from a previous play),
the AudioSink should take the AudioTrack's position as the initial starting
point for mBytesWritten, since otherwise NuPlayer's calculations will be off.
Normally this position will be 0, but if the test code for 32 bit wraparound
in AudioFlinger.cpp is enabled, it might be (much) larger.
Change-Id: I1e4f906d529861c3dea996de8afc6dbd491589af
|
|
|
|
|
| |
Change-Id: I69ed31e7a8b4d69d1209d2d516f94d258f072566
related-to-bug: 6275919
|
|
|
|
|
|
|
|
|
| |
This makes NuPlayer use a SkipCutBuffer when needed, and adds a new
AudioSink method to retrieve the number of frames written so far, so
NuPlayerRenderer can calculate how much data it can write without blocking.
Also make some more methods const.
Change-Id: Id7d253ad8a7b85e9a84ca2baafbe32817b16c744
|
|
|
|
|
|
|
| |
o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc
Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
|