Cherripick from master CL 79833, 79417, 78864, 80332, 87500
Add new audio mode and recording source for audio communications
other than telelphony.
The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.
Add a recording source used to designate a recording stream for
voice communications such as VoIP.
Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.
SIP calls should set the audio mode to MODE_IN_COMMUNICATION,
Audio mode MODE_IN_CALL is reserved for telephony.
SIP: Enable built-in echo canceler if available.
1. Always initialize AudioRecord with VOICE_COMMUNICATION.
2. If echo canceler is available, disable our echo suppressor.
Note that this CL is intentionally not correcting the
getAudioSourceMax() return value in MediaRecorder.java as the
new source is hidden here.
Change-Id: Ie68cd03c50553101aa2ad838fe9459b2cf151bc8
The latter is an operation that otherwise could block on the datasource
for a significant amount of time. During that time we'd be unable to
abort the preparation phase without this prefill.
Change-Id: I3bc889b264f599bfd5c2bbdf48b88ccb55d86172
related-to-bug: 3362836
o Prepare for publishing MediaMetadataRetriever as public API
step one:
o replaced captureFrame with getFrameAtTime
o removed getMode
o Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()
as part of the preparation for publishing MediaMetadataRetriever as public Java API
o Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method
o Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java
o Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc
o part of a multi-project change.
bug - 3309041
Change-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4
related-to-bug: 3331623
Squashed commit of the following:
commit 8484811f3784564ce962ec1b6311bac532d73ffc
Author: Andreas Huber <andih@google.com>
Date: Tue Jan 11 11:56:06 2011 -0800
Properly parse Matroska lacing flags and extract all frames contained in a block.
related-to-bug: 3331623
commit 38f1f39381a01659577461b3d35bd22db45ba317
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 15 15:10:34 2010 -0800
Proper support for variable NALsize lengths of AVC content in .mkv files.
related-to-bug: 3197442
Change-Id: I4b404f3c3d0a2a2fa336b9edff75eb25ffc66a2f
related-to-bug: 3340186
Squashed commit of the following:
commit b61c36b7228aec9f5360883b1e1c1e0530488974
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 27 13:59:59 2010 -0700
Better support for MP4A-LATM RTP disassembly. This used to fail if mNumSubFrames > 1 and the sub frames did not align with RTP packet boundaries.
commit b10f322c07e5bebcaf032e8624cb4a5d733dfc15
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 25 09:40:52 2010 -0700
We don't have access to the md5 implementation on the simulator, let's disable digest authentication in rtsp for simulator targets.
commit 0aa83cf9e4637adf9501708fcdf7d0d6d4dc4fe1
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 20 15:00:34 2010 -0700
Support for BASIC and DIGEST authentication schemes in RTSP. Support for malformed packet descriptions that end lines in LF only, instead of CRLF.
related-to-bug: 3084183
Change-Id: I6e512cb73cc8d5624a83f7154aa5699f7fef7534
It's not actually inserted into the database, but the media provider uses it
for disambiguating albums.
b/3311831
Change-Id: Idb630866e960338ce2795dcc128cafaf6c9c27f2
The problem is that when an input stream is opened for record over bluetooth SCO, the kernel
mono audio device should be opened in RW mode to allow further use of this same device by an output stream
also routed to bluetooth SCO.
This does not happen because of a bug in AudioSystem::isBluetoothScoDevice() that does not return true
when the device is DEVICE_IN_BLUETOOTH_SCO_HEADSET (input device for blurtooth SCO).
Change-Id: Ic78bf324b4a68e65721d763dc7682ce7a8f14f75
- We only support 0, 90, 180, and 270 degree clockwise rotation
- Some players are known to ignore composition matrix in the MP4 file,
although this is part of the MP4 file standard.
Both QT and YT are supporting the rotation
Change-Id: I1b7f66a801e9d9c49d889c9b06dd6173fa7e76c4
Fix premature release of recording frames when physical address or metadata is stored in input video buffers
- bug 3158459
Change-Id: If297189d2a87fc3abfda68c29ac75b490b30a902
The java doc for visualizer FFT capture was not describing
correctly the layout of the data returned by getFft() method.
Change-Id: Idec09538490ea73b211db253b1b8b733ca4d4a72
android_media_Visualizer.cpp:
Delete local reference to jArray in captureCallback() in
the case of waveform capture.
Change-Id: Ia822ab6d9945fff93605f7732e56120c19fd42a5
o This was turned off to unblock the tests on some device
o The adjustment duration is increased to suppress fluctuations observed on some device
bug - 3058745
Change-Id: Iaeeb1c1c52783f5c679305645c995e57b4b2a573
o Do not count the reserved space for moov if the meta data size is small
o Do not count the extra 1KB disturbing small file estimation.
o Reduce the default minimum reserved space from 4 KB to 3 KB.
o Estimate the moov size based on both duration AND file size limit is set
and set it to the smaller estimated value.
low risk change
bug - 3111983
Change-Id: I6ac2adb979d8cc12d6b4f1813d000c989add0199