| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Normally this kind of nasty hack could go into libaudio, but on this
particular device, we have no access to the source code of libaudio.
Put the nasty hack into audioflinger and wrap it in ifdefs.
Change-Id: I5e3e495e3bd6b671823967b61ba5ceb49e59a401
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: During system wide suspend/resume call, the state machine for
stagefright player & awesome player are reset and the flags are updated
accordingly. But the state variables inside Media player class are left
at the play/paused state depending on the current state while suspend call
is issued.
because of this mismatch in the states between media player and the awesome
player, the subsequent calls to isPlaying() query inside media player is
setting the state to Paused as a error correction mechanism. since the
media player state is incorrectly set as paused, even though it was in started
state during suspend, all the subsequent calls to pause will return without
any action.
Inorder to correct this, the suspend state is introduced in the media player.
The current state is saved during suspend and is properly restored on resume
call.
Validation: Tested AV playback pause/resume several times along with multiple
system wide suspend/resume transitions.
Change-Id: If7d40260c05899fac551edabaa8051bac1d0d020
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
|
|
|
|
|
|
|
|
|
| |
Cleaned it up, and fixed a misplaced ifdef that broke the whole damn
thing.
This reverts commit 568f674b8ef1a83b7ba948b0e53e0dd86207d115.
Change-Id: I99fde73b2cf283dde7e9bcb1e73cf86e553324d3
|
|
|
|
| |
This reverts commit c5358c4b94c2953290988be654b284840551b5bd.
|
|
|
|
| |
Change-Id: If140f0cd1232f927f4870c5de3f25deac73c3778
|
| |
|
|
|
|
|
|
| |
(invalid conversion from 'const char*' to 'char*')
Change-Id: Idef85606b7cff629b2778ed8134c79c892af54c2
|
| |
|
|
|
|
| |
Take #2.
|
|
|
|
| |
Patchset is broken. Will recommit a single working patch.
|
| |
|
|
|
|
| |
Change-Id: I0af0790c9499e983fc21f20985f591eeeaca744c
|
|\
| |
| |
| | |
git://android.git.kernel.org/platform/frameworks/base into froyo
|
| |
| |
| |
| | |
Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
|
| | |
|
|/
|
|
|
|
| |
older devices.
Change-Id: I6a1dbe519df3b07292d738ffa9f6be95b794875e
|
|
|
|
|
|
|
|
|
|
| |
MediaMetadataRetriever uses a single static lock for all operations.
This effectively serializes all metadata retrieval operations in a
single process. This patch uses the object level lock for all normal
operations and only uses the static lock to serialize calls to
release.
Change-Id: I81c9f234c2f0007a26d18e1398c709b41a4dbbd7
|
|
|
|
|
|
|
|
|
|
|
| |
Condition must be initialized with SHARED for the old behavior, where
they can be used accross processes.
Updated the two places android that require SHARED conditions.
PRIVATE conditions (and mutexes) use more efficient syscalls.
Change-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- AudioPolicyManager: allow platform specific choice for opening a direct output.
Also fixed problems in direct output management.
- AudioFliinger: use shorter standby delay and track inactivity grace period for direct output
thread to free hardware resources as soon as possible.
- AudioSystem: do not use cached output selection in getOutput() when a direct output
can be selected.
Change-Id: If44b50d29237b8402ffd7a5ba1dc43c56f903e9b
|
|/
|
|
|
|
|
|
|
| |
Previous range-checking fix removed an inequality check. This change
restores it.
Offending change was I5eb310ced58c3c64a7af2d11b80326efe5adbcab
Change-Id: Ic952c3ba5a4f7e5ab2148ec623b6f083cb7495fb
|
|\ |
|
| |
| |
| |
| | |
This reverts commit b45b0845a6db32848ad08ac1037ef67a68ec2d39.
|
|/
|
|
|
|
|
|
|
|
| |
Previously invoke would work only after prepare but not
when the player is in play or pause state (for instance).
This new change just check that the player has been initialized
and is not in the error state.
Bug:2488931
Change-Id: I9b9f3679593a3b7697c1a84d993fdcd7e1693a90
|
|
|
|
| |
This reverts commit 88f3b81d065d4bec6f69a25eda99158e254f55b1.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously invoke would work only after prepare but not
when the player is in play or pause state (for instance).
This new change just check that the player has been initialized
and is not in the error state.
Bug:2488931
Change-Id: I7a69d1b6e3eec1e5dbdf7378ff2085329062595a
|
|
|
|
|
|
| |
(b/2502881)
Change-Id: I08e427eb2c36f5d70e40f9aeb8638fa8262de989
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that AudioRecord never exits read() when a timeout occurs while trying
to get new PCM data from audio hardware input buffer: it just keeps waiting and retrying until stop() is called.
In the same time, opencore AndroidAudioInput::audin_thread_func() loop cannot be exited when stuck
in AudioRecord::read() because the iExitAudioThread flag can only be sampled when AudioRecord::read()
returns. We remain stuck with the audio input thread running.
The fix consists in modifying AudioRecord behavior in case of timeout when getting new PCM samples.
We now wait only one timeout period and try to restart audio record, in case the problem is due to a media_server
process crash. If this fails, we exit read() with a number of bytes read equals to 0 so that
AndroidAudioInput::audin_thread_func() loop can exit.
Also modified Audioflinger::RecordThread() loop so that we attempt to recover from HAL read errors.
In case of read error, the input stream is forced to standby so that next read attempt does a
reconfiguration and restart of the audio input device.
|
|
|
|
|
|
|
|
| |
sholes
Add API to retrieve number of frames dropped by audio input kernel driver.
Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
|
|\
| |
| |
| | |
following states: error, prepared or recording"
|
| |
| |
| |
| |
| |
| | |
error, prepared or recording
bug - 2362412
|
|/
|
|
|
|
| |
an error. This makes 'playback complete' essentially equivalent to
being paused at the end, and treats it the same as being paused at
any other position.
|
|
|
|
|
|
| |
- I decided to completely remove jpeg decoding related stuff from this change
I think that setting is better off if it is specified by the system properties.
We don't have to include MediaProfiles.h header in skia files
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit '8978547f254b6b6ba2e322794aa044803f3edc2a'
* commit '8978547f254b6b6ba2e322794aa044803f3edc2a':
Fix issue 2459650.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes a problem where an unwanted tone is generated by audio policy manager when a MT call is answered.
This is because of a policy that replaces high visibility system sounds (ringtones, alarms...) by a beep when in call.
There is a transitory phase while the call is being answered where the phone state is changed to IN_CALL but the
ringtone is still playing. The audio policy manager then mutes the end of the ringtone and starts playing a beep
in replacement because the ringtone is categorized as high visibility.
The fix consists in changing the ringtone stream type from high visibility to low visibility. This is not a problem as
the only actual use case where a ringtone would be generated while in call is if another call is received.
But in this case, the phone system does not generate a ringtone but a call waiting tone instead.
It is therefore not required to handle a ringtone as a high visibiltiy tone that must be somehow signaled to the user
while in call.
|
| |
| |
| |
| |
| |
| |
| | |
Make sure we don't have an empty string before checking if it's a
directory since this string is tainted.
Change-Id: I5eb310ced58c3c64a7af2d11b80326efe5adbcab
|
| |
| |
| |
| | |
related-to-bug: 2231576
|
| | |
|
| |
| |
| |
| | |
detected encoding if it is unambiguous.
|
| |
| |
| |
| |
| | |
- Changed the Java API as suggested
- Treat /etc/media_profiles.xml as the default xml configurtion file
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.
Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.
Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)
Removed a lot of unneeded code.
|
| |
| |
| |
| |
| |
| |
| |
| | |
headers when specifying the uri of media data to be played.
related-to-bug: 2393577
Original change by Andrei Popescu <andreip@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.
Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.
Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.
Removed excessive log in AudioHardwareGeneric.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.
Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.
Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
server process crash.
The problem is that after a media_server crash, the value of the A2DP output handle can change.
As this value is cached in AudioSystem for all client processes there can be a mismatch between the cached
and actual value after a media_server restart.
The fix consists in clearing the cached output handles and output to stream map values cached
in AudioSystem in AudioFlingerClient::binderDied() which is called when the media_server crashes.
|
| | |
|
|\ \
| | |
| | |
| | | |
running in the mediaserver process."
|
| | |
| | |
| | |
| | | |
the mediaserver process.
|
|/ / |
|
| | |
|