| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
bug - 4099038
Change-Id: I6c048eaf3d7f34bc144b8daaa5fdef1ed474af66
|
|\
| |
| |
| |
| |
| |
| | |
events into the DRM framework" into honeycomb-mr1
* commit '67718e076422f8f28f4e30a39df9e462ef32d19b':
For issue 4082089 Add more info and error events into the DRM framework
|
| |
| |
| |
| |
| |
| | |
Add more info and error events into the DRM framework
Change-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d
|
|\ \
| |/
| |
| | |
Change-Id: I0c0474b95d66c23310d04b7a7f4c9571a211582c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In DrmManager, we currently lock both processDrmInfo() and onInfo() which is
ok for now since processDrmInfo() is async call, and it will return without
waiting for onInfo() call. However, if we send an event in processDrmInfo(),
we will got deadlock here because we need to invoke onInf() which will wait
for processDrmInfo() to release the lock. Use different lock for onInfo().
- Remove some redundent mutex lock.
Change-Id: I59c794f95ba1693425723224114fa975cf9b235f
|
|\ \
| |/
| |
| |
| |
| |
| | |
honeycomb-mr1
* commit '055066e1e77d944383360d50057f5b8187f23c0b':
Bug 3012968 DRM output control
|
| |
| |
| |
| |
| |
| |
| | |
Modifies Stagefright to verify that there is a hardware-protected path
to video sink for DRM content.
Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
|
| |
| |
| |
| |
| |
| |
| | |
This patch fixs a crash bug caused by using a NULL DecryptHandle pointer.
Fix by using sp<DecryptHandle> instead.
Change-Id: Icbd59858385e8256125a615a3c82656b25319d44
|
|\ \
| |/
| |
| |
| |
| |
| | |
SCO" into honeycomb-mr1
* commit '2dc78477364bd4accb9a603baaafca9a5523dcec':
Fix issue 3439872: video chat and bluetooth SCO
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change fixes the stability problems experienced when using
a bluetooth headset supporting both A2DP and SCO. Problems occur
when starting the video chat at which time the A2DP output is being
stopped to start SCO. At that time, active AudioTracks are invalidated
by AudioFlinger so that a new AudioTrack binder interface can be
recreated by the client process on the new mixer thread with correct parameters.
The problem was that the process to restore the binder interface was not
protected against concurrent requests which caused 2 binder interfaces
to be created sometimes. This could lead to permanent client deadlock
if one of the client threads was waiting for a condition of the first
created binder interface while the second one was created (as the AudioFlinger
would only signal conditions on the last one created).
This concurrent request situation is more likely to happen when a client
uses the JAVA AudioTrack as the JNI implementation uses simultaneously the
native AudioTrack callback and write push mechanisms. By doing so, the code
that checks if the binder interface should be restored (in obtainBuffer()) is
much more likely to be called concurrently from two different threads.
The fix consists in protecting the critical binder interface restore phase
with a flag in the AudioTrack control block. The first thread acting upon the binder
interface restore request will raise the flag and the second thread will just wait for
a condition to be signaled when the restore process is complete.
Also protected all accesses to the AudioTrack control block by a mutex to prevent
access while the track is being destroyed and restored. If a mutex cannot be held
(e.g because we call a callback function), acquire a strong reference on the IAudioTrack
to prevent its destruction while the cblk is being accessed.
Modified AudioTrack JNI to use GetByteArrayElements() instead of
GetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would
cause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem
callback being called during the critical section when media server process restarts.
Anyway with current JNI implementation, either versions do not copy data most of the times
and the criticial version does not guaranty no data copy.
The same modifications have been made to AudioRecord.
Change-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52
|
|/
|
|
|
|
|
|
|
| |
- presence of audio/video content
- video dimensions
- avg. bitrate
Change-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934
related-to-bug: 3506316
|
|\
| |
| |
| | |
currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
|
| |
| |
| |
| |
| |
| |
| |
| | |
- To track the currently used audio device
- The devices are separated as speaker and other audio devices
- Provide the collected data to battery application through pullBatteryData()
Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
|
|/
|
|
|
|
|
| |
If present, rendering will be suppressed until reaching the timestamp.
Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19
related-to-bug: 3489454
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Bug: 3488016
Change-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc
|
| |
| |
| |
| |
| |
| | |
bug - 3330679
Change-Id: Idc55aea32746c0c57552c5e15a289681421aa859
|
|/
|
|
|
|
|
|
|
|
| |
This change defines an OpenMAX IL API for querying from the IL component
the gralloc buffer usage flags that should be used to allocate the
buffers. It also adds the Stagefright plumbing for using the new OMX IL
API.
Change-Id: I046b5e7be70ce61e2a921dcdc6e3aa9324d19ea6
Related-Bug: 3479027
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.
This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)
Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
bug:3463624
Change-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
bug - 3292153
Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
|
|\ \ \
| |/ /
|/| |
| | | |
(duration) for the battery app - Collect MediaPlayer decoding usage data"
|
| |/
| |
| |
| |
| |
| |
| | |
codec usage (duration) for the battery app
- Collect MediaPlayer decoding usage data
Change-Id: I0ef4e32b6a041ba1fe73c19f9c67185c61d03965
|
|/
|
|
|
|
|
| |
related-to-bug: 3474610
Change-Id: I6dab40e8b465922c62be9ee7f168718822c6caac
Now skipping extra header that the spec claimed shouldn't be present in LATM...
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o do not use edts/elst boxes since these optional boxes are ignored
o manipulate the first video/audio frame duration to make sure that the rest
of the audio/video is in sync (ideally, we should only manipulate
the vidoe frame duration, not the audio)
o reduce the initial audio mute/suppression period, which is used to
eliminate the "recording" sound.
bug - 3405882 and 3362703
Change-Id: Ib0acfb4f3843b365157288951dc122b006299c18
|
|
|
|
|
|
| |
bug - 3313754
Change-Id: I951dd0e21e34aa1412c391f003bc32103d0424b0
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6
|
|/
|
|
|
|
| |
bug - 3446863
Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
|
|
|
|
|
|
| |
Add hidden AudioManager.getDevicesForStream and output device codes.
Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
|
|
|
|
|
|
| |
bug - 3418787
Change-Id: I4723662bf46ed07271be8468f84ae5d93cb793fa
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These were exposed by the new preview-seekframe while paused code.
In particular, the codec may have been in state RECONFIGURING when attempting
to seek, or we may have initiated flushing of the output port and this may not
have completed yet by the time we want to reconfigure the output port.
Change-Id: Id7640ade11dbc7205a22f648ea0b5e3e9b49cf4b
related-to-bug: 3392259
|
|/
|
|
|
|
|
| |
- Release the DrmManagerClient and DecryptHandle in DataSource
Fix for bug 3429811
Change-Id: I549f72b75225751877eb0e630ce8098f8ec6316f
|
|
|
|
|
|
|
|
|
|
|
| |
- Make sure ACodec reverts its state when it's shutdown
- Defer "resume" to after handling the OutputPortSettingsChange
- If the OMX_EventPortSettingsChanged event comes in while we're flushing, defer it
and make sure the output port can be disabled by deleting all buffers not already
owned by the component.
Change-Id: I1f8cdffa71237b57d4275a48b834647a7b263e8b
|
|\
| |
| |
| |
| | |
* commit '6f1bd261b7fd86ac7817ca061dfb55b95150b836':
Fix issue 3371080
|
| |\
| | |
| | |
| | |
| | | |
* commit '9c0a1003bd676121cf9b1c942ecebd5b486290d5':
Fix issue 3371080
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Modified default volume control logic in AudioService:
1 IN_CALL volume if in video/audio chat
2 NOTIFICATION if notification is playing or was playing less than 5s ago.
3 MUSIC
Modified silent mode:
- now also affect MUSIC stream type
- entering silent mode when VOL- hard key is pressed once while selected
stream volume is already at 0 (except for VOICE_CALL stream).
- exiting silent mode when pressing VOL+ hard key while in silent mode
Play sound FX (audible selections, keyboard clicks) at a fixed volume.
Modified audio framework:
- isStreamActive() method now implemented in AudioPolicyManagerBase (previously AudioFlinger)
- iStreamActive() now specifies a time window during which the stream is considered
active after it actually stopped.
Change-Id: I7e5a0724099450b9fc90825224180ac97322785f
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Note: dependent on external/flac for libFLAC
Implemented and tested:
* FLAC container
* mono and stereo
* standard sample rates
* standard bit depths
* sniffer
* media scanner
* Vorbis comment metadata including album art
* random access seeking with "torture test"
* web browser integration for audio/flac (not audio/x-flac), but
note that most web servers don't correctly report the MIME type
Not implemented:
* 24-bit to 16-bit dither or noise shaping in AudioFlinger
* 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger
* replay gain is better done in AudioFlinger
* multi-channel, would need AudioFlinger support
* Ogg container, does not seem to be very popular yet
Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
|
|\ \
| |/
| |
| |
| |
| |
| | |
video recording if there are at least two input video frames from camera source." into honeycomb
* commit '7fb232c40cde91d0958be1694db2d97a126b95f9':
Make sure that key frame is generated for timelapse video recording if there are at least two input video frames from camera source.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
are at least two input video frames from camera source.
This will fix the stop failure issue where we have to wait n * time_interval before a key frame can be received by the file writer, where
o n is the actual number of buffers advertised by the video encoder
o time_interval is the interval settings for timelapse video recording
specifying the time distance between neighboring input video frames
The fix includes two parts:
o OMXCodec will not submit all n buffers at one time, but instead submit one input
frame at one time if it become available.
o Timelapse camera source made available the first two input frames and do not skip
them so that the first compressed output frame data can be received regardless
the specified time_interval
bug - 3367659
Change-Id: Ia68cc2cb0d71aa7dc54540e9ad82fae911ad530b
|
|\ \
| |/
| |
| |
| |
| |
| | |
into honeycomb
* commit 'a9f27fa631ab21d52c75842ccaacc1cbcd75fca0':
Protect notification callback parameters with a mutex.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This avoids the race condition where notifications are dispatched to a NULL receiver
after notifications have been disabled.
Change-Id: I6d351ffbee97616e2c35559c132a6c5e6a66948a
related-to-bug: 3394139
|
|\ \
| |/
| |
| |
| |
| |
| | |
we are done scanning" into honeycomb
* commit 'f10d940413000732f1cd35bcb113c41019c7e3b7':
StagefrightMediaScanner: Close metadata retriever after we are done scanning
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents the mediaserver from leaking a file descriptor after
the media scanner runs
BUG: 3373546
Change-Id: I82a8bae82306de3da56a5c7da5b03ecf106a4efc
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
to a surface." into honeycomb
* commit '63d64a14790ae21db31b60747864b4a7565b33c3':
Properly rotate video that's marked as such and decoded to a surface.
|
| |
| |
| |
| |
| | |
Change-Id: I1e9144db3447e58c99aac3f47702ad471678789c
related-to-bug: 3378148
|