| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
chunk_size is a uint64_t, so it can legitimately be bigger
than SIZE_MAX, which would cause the subtraction to underflow.
https://code.google.com/p/android/issues/detail?id=182251
Bug: 23034759
Change-Id: Ic1637fb26bf6edb0feb1bcf2876fd370db1ed547
Signed-off-by: Nick Kralevich <nnk@google.com>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the 'chunk_data_size' variable is less than 'kSkipBytesOfDataBox', an
integer underflow can occur. This causes an extraordinarily large value to
be passed to MetaData::setData, leading to a buffer overflow.
Bug: 20923261
Change-Id: Icd28f63594ad941eabb3a12c750a4a2d5d2bf94b
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the sum of the 'size' and 'chunk_size' variables is larger than 2^32,
an integer overflow occurs. Using the result value to allocate memory
leads to an undersized buffer allocation and later a potentially
exploitable heap corruption condition. Ensure that integer overflow does
not occur.
Bug: 20923261
Change-Id: Id050a36b33196864bdd98b5ea24241f95a0b5d1f
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the 'chunk_data_size' value is SIZE_MAX, an integer overflow will occur
and cause an undersized buffer to be allocated. The following processing
then overfills the resulting memory and creates a potentially exploitable
condition. Ensure that integer overflow does not occur.
Bug: 20923261
Change-Id: I75cce323aec04a612e5a230ecd7c2077ce06035f
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
| |
While processing various sample table related FourCC values, methods are called
on a NULL mLastTrack or sampleTable object. This leads to undefined behavior
which typically results in a crash (denial of service condition).
Bug: 20139950
Change-Id: I39a894f8709d9937a0456ae5b3a201f7ecf12ed0
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When processing various FourCC values within MP4 media, mLastTrack is accessed
without first ensuring that a track has been encoutered. Check for NULL and
bail out instead of crashing.
Bug: 20139950
Change-Id: I3b86377030d73b3134b8769c590509c4f23d9f19
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several arithmetic operations within parseESDescriptor could underflow, leading
to an out-of-bounds read operation. Ensure that subtractions from 'size' do not
cause it to wrap around.
Bug: 20139950
Change-Id: Ie987c58e49323ff273fd57db410534fa83db1cb2
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
| |
Bug: 20139950
Change-Id: I6f4e3d4c734872074475d9346ed692a4baf77d79
Signed-off-by: Wei Jia <wjia@google.com>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few sample table related FourCC values are handled by the
setSampleToChunkParams function. An integer overflow exists within this
function. Validate that mNumSampleToChunkOffets will not cause an integer
overflow.
Bug: 20139950
Change-Id: I4fc78c80d01ec4b7475e573a8e7d37ace4b5e399
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the processing of several sample table related MP4 atoms, allocation
sizes could be large enough cause a std::bad_alloc exception to be raised. This
typically causes a crash (denial of service condition). Use std::nothrow to
catch allocation failures and return gracefully.
Bug: 20139950
Change-Id: Id70546c9a9d7a1af58ccbf732b000246bc6bb22e
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit edd4a76 (which addressed bugs 15328708, 15342615, 15342751) added
several integer overflow checks. Unfortunately, those checks fail to take into
account integer promotion rules and are thus themselves subject to an integer
overflow. Cast the sizeof() operator to a uint64_t to force promotion while
multiplying.
Bug: 20139950
Change-Id: I2e70584ab566dbaa2fba4df6ca7a89b348ae9a06
Signed-off-by: Joshua J. Drake <android-open-source@qoop.org>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check consistency of effect command reply sizes before
copying to reply address.
Also add null pointer check on reply size.
Also remove unused parameter warning.
Bug: 21953516.
Change-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4
Signed-off-by: Eric Laurent <elaurent@google.com>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* On msm8930, during playback over A2DP with DSP Manager effects enabled,
there's a lot of stuttering with the default buffer size. Stock kernel
used a buffer size of 32, but that caused no audio at all in CM because
of mismatch in buffer size between kernel and user space. So up until
now I've been using a buffer size of 256 to get audio working at all,
but unfortunately it causes stuttering as mentioned. Hence add support
for a custom buffer size so we can revert to stock value used in kernel,
and enjoy no stuttering.
Change-Id: Id4d090bc6cf90782c24f3832a35ddeca43bd72fc
|
|
|
|
|
|
| |
Signed-off-by: Michael Bestas <mikeioannina@gmail.com>
Change-Id: Iaf1d36db1787e6cebecf31eb2c0d2050c530e208
|
|
|
|
| |
Change-Id: I0a1d8c4216654abeb3de9882637ad15bc9c23dc9
|
|
|
|
| |
Change-Id: I6bf0c7fa0b9b86ed56d8f974fe49564c02e6b47d
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ica43a42f6ec6e25671b22536c768140469fb9824
|
| |
| |
| |
| | |
Change-Id: I5d6dedbb9ba03fc313ab27f91bf83376fa20a7a9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
http://review.cyanogenmod.org/#/c/32358/ was intended to fix
issues with OMX Components failing on ME722 (OMAP3).
This patch was working fine on OMAP3 devices and was required
to fix issues DSP MMU FAULTS. It has been reverted with patch
http://review.cyanogenmod.org/44486 which again broke OMX on
OMAP3.
Implement a Workaround for OMAP using OMAP_ENHANCEMENT
Log for this issue observed on P970 (OMAP3) during Gallery
Thumbnail Generation: http://pastebin.com/qRTpm7RN
DmmMap():1600 DSPProcessor_ReserveMemory() failed - error 0xfffffffb
Change-Id: Ifd0c784e354c6c00401686cc0f2188842df9496c
|
|/
|
|
| |
Change-Id: Iefc64cf477fd58a29984a9c198d84e876dbcf1c5
|
|
|
|
|
|
| |
Google Edition
Change-Id: I67968ea749dec0bf3810110f99bccdd3edee3428
|
|
|
|
|
|
| |
http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h=exynos-jb&id=da4104e5f934633b4ba7fda06bc9ef3ba0f85a31
Change-Id: I14931cad92df48e1233c5a8a704bb18585b1795a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
portFormat.nIndex is being incremented which is not
trustworthy since the nIndex value could be overriden
by the OMX Component, which causes an indefinate loop
which inturn causes a memory leak and crashes the system.
OMX Component on encore and p970 exhibits this behaviour
(OMX.TI.720P.Decoder). This patch prevents stagefright
freezes when QueryCodec is called during Gallery Thumbnail
generation for videos and Adobe Flash playback.
Change-Id: I825c99ddecacbb927e22ac7d1a53facb26d95ff2
|
|
|
|
|
|
|
|
| |
This reverts commit 9a814ad626233ff02dd2d393929f32225bc94b68.
This is wrong. kPortIndexInput is defined as 0, the original value was correct.
Additionally, it breaks android.media.cts.MediaCodecListTest
Change-Id: Ib273cde69a4c622daf239bab5d12c5e7d568af2f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Brings us current with AU_LINUX_ANDROID_JB_2.5.04.02.02.040.367
Camera: Fix deadlock due to mLock in pcb and takepicture
In non-zsl case of takepicture, we do streamoff for preview
stream which is waiting on preview callback thread to exit.
By that time the lock has already been acquired by takePicture.
So preivew callback will not exit until it acquires lock and
takePicture cannot continue until PCB call back is returned.
Fix: Avoid the mLock at services when both Preview cb &
Compressed cb are enabled.
Change-Id: I6c264928bf1540c7b51f1add65f9c3e968506e15
CRs-fixed: 479419
audioflinger: Fix the LPA-AudioEffects crash issue
- Issue:crash is observed during LPA playback on enabling
effects followed by plug-out->plug-in of wired headset
- Rootcause: while deleteing the effectchain in deleteEffect
EffctChain is being unlocked after clearing the chain
which leads to accessing the lock which might already deleted.
- Fix: first unlock the effectChain and then call clear
CRs-Fixed: 491774
Change-Id: I518ff086c5ad71486cd29142563145137ebc15b6
libstagefright: Fix for crash in sound recorder during device switch
-Crash seen in sound recorder during frequent insertion and removal
of wired headset
-During device switch some time Codec's input buffers are too small to
accomodate buffer read from source. Omx codec doesn't read the fix size
buffer from source, during device switch scenario sometime buffer read
from source exceeds input buffer size so it goes in error state which
leads to crash.
-Increasing the input buffer size fix this issue
Change-Id: Id15378670880d0c3c0bd4408841b28be963549a0
CRs-Fixed: 488449
libstagefright: Fix for FPS drop issue during A-V playback.
Issues:
-The AAC decoder was not updating the timestamp when EOS is reached.
-Logic to smoothen the real time update in AudioPlayer uses system
time. This introduces corrupt timestamp during EOS.
Fix:
-Update the timestamp in AAC decoder when EOS is reached.
-Extrapolate realtime using system time in AudioPlayer when EOS is
reached. Cap the value to realtime if extrapolated time becomes greater
than realtime.
CRs-Fixed: 384183
Change-Id: Ice54501436431d2527fcd3d710d65d9732fcffdd
libstagefright: Reset buffer size value with SurfaceTexture
- OMXCodec explicitly sets the decoder output buffer size using the
native window perform API. (to accomodate extra-data)
- This size is reset only when the SurfaceTexture is destroyed.
- Unless reset, this size will be assumed for all output buffers
if the SurfaceTexture is re-used.
CRs-Fixed: 337660, 432309
Change-Id: I28aed12ad02adeac61caffbb00e3082640a5f6d4
audio: Add support for tunnel mode recording
- Add support for tunnel mode recording.
Change-Id: I95cdfff729affd784141487521c9f2f714221d11
audio: Add support for non-pcm VOIP vocoders
- Add support for non-pcm VOIP vocoders
- non-pcm vocoders use AUDIO_SOURCE_VOICE_COMMUNICATION
as inputSource. Add check to verify inputSource and
then configure framecount accordingly
Change-Id: Ia38da4f6ba0ee40c794d3c97325327cdb7dcb32a
CRs-Fixed: 467850
frameworks/av: Add metadata mode changes to LPAPlayer
-Seek to EOS was causing playback to hang for 3 seconds before
switching to the next clip.
-This is because the lpa driver works on period size. Partial
buffers are not handled.
-Add support for metadata mode changes to LPAPlayer to support
partial frames.
CRs-Fixed: 458904
Change-Id: I8673756b54ae7bca18855d326c85ae1064652514
libstagefright: Add support for WMA in ACodec
- WMA support is not there in ACodec
- In the case of wma format, since not getting the complete information of
wma version so instead of allocating the component in onAllocateComponent
function it will create in onConfigureCompoenent function.
bitspersample is find as "bsps" from AMessage while configuring the
WMA10PRO and WMALOSSLESS format
CRs-Fixed: 453951
Change-Id: I98baa701dbf8a5c012f4be5e83831c0be2111dcc
libstagefright: Flush the pending buffers when EOS is received
For the use case where the first frame in the buffer is EOS, decode
the aac config frame buffer to update the sample rate and channel
mode and flush out the buffer.
Change-Id: I0354802cdbf61ac1ba0fecbbdf616705806b0f4a
CRs-Fixed: 459334
audio: Fix The Linux Foundation copyright
- Fix copyright format based on The Linux
Foundation copyright template
Change-Id: I100a5c86302d1a1a3d79543d95e242734daae746
media, audioflinger: check for divide by zero possibilities and err
When output stream is not available to audioflinger due to any reason
, sampleRate and frameCount have zero values when trying to create
new Audiotrack. This might result in divide by 0 situation.
Change-Id: Ic13cb51facb8497e68ab596abb027b44f496b907
CRs-Fixed: 478480
framewroks/av:Fix ANR at the end of video recording
- While doing video recording, when the recording
ends ANR observed while doing stress test for
many hours
- When the recording is stopped, audio HAL receives error
from driver and audio HAL propagates this error to
AudioFlinger. But AudioFlinger is not sending error
status to audio source to stop recording. Because of
this audiorecord thread keeps on waiting for buffers
which is resulting in ANR.
- To avoid indefinite wait, a timeout of 1 sec is set for buffer
in audioSource and after timeout, -ETIMEDOUT is returned
to recorder thread.
CRs-Fixed: 479968
Change-Id: I91aba6922086e711992d9d991dea9c35d33eaee9
audioflinger: Integrate SRS TruMedia
Change-Id: If61ae91556120ddd5f5ebcc6dbbfe6583c7df67d
audioflinger: Fix apply SRS effects if tones diabled in tunnel mode
For the use case of SRS post processing in Tunnel mode, the API's
of SRS are called only from write. With the huge buffering for
tunnel mode, once EOS is received there would not be further write.
With system tone enabled, the SRS API's are called during the
check for Parameters change through normal mixer thread.
With system tones disabled, SRS will not be applied after EOS as
no write and mixer thread would not be active.
Fix the issue by adding the Effects Thread for SRS in Tunnel mode.
Fix the compilation issue with ALOGV messages enabled
Change-Id: Ic7e62894840f786119dfe8ae471c5d24812917d7
audioflinger: Enhance LPA-effect logic to handle rapid config.
-Issue:Rapid Config events cause pops/glitches, raw data
playback.
-Rootcause1:Raw data leakage to DSP: applyEffectsOn() applies
effects chunk by chunk in a loop, if effects change during
this time the loop exits and this results in creation of
a buffer in which part of it is effects processed and rest
raw, this causes raw data to leak to DSP.
-RootCause2:Effectsthread directly works on the DSP buffers,
while DSP is rendering from there, so that effect application
is instantaneous and for this it gives the DSP buffers as
output to effects chain, this means that all the effects in
the chain update the DSP buffers one after the other, this
can create unpredictable rendering patterns.
RootCause1 and 2 combined seem to fragment memory with
parts of it with effects and parts with raw data etc.
-Fix1:Dont update DSP mem unless the effects are applied
completely on a buffer.
-Fix2:Effectschain will work on a temp scrath buffer
instead of DSP mem and when effects are applied
completely on this scrath buffer, memcpy this to DSP mem
with this DSP mem is updated in one shot.
-Remove repetetive logs which clutter the logcat if
msgs are enabled in audioflinger.
Change-Id: I9051e7b8531aa5c8cb3dcfafe0be3136a2cf0f9d
CRs-Fixed: 463880
frameworks/av: Update framecount and buffersize values
-framecount should be calculated based on mMaxBufferSize
returned from HAL
-update the buffersize with the value returned from HAL
CRs-Fixed: 482744
Change-Id: I90dd9c3ebbbc8a9f1f2f92c5347ae9cb01719e13
audioflinger: Fix the LPA-AudioEffects dead lock issue.
- Issue:Deadlock occurs when the LPA clips are subjected to
rapid next from BT device and simultaneously on/off the
audio effects.
- Rootcause:some times flinger thread processing
LPAPlayer/directtrack next deadlocks with the thread
working on effect configuration as both of them
contend for the audioflinger::mlock and effectmodule::mlock.
- Fix1:AudioFlinger::deleteEffectSession() not to acquire
audioflinger:mLock instead take the mLPAEffectChain.mlock.
- Fix2:ThreadBase::effectConfigChanged() not to acquire
audioflinger::mlock.
Change-Id: I056c8297802f81644fa1371836db42bdbd3825fd
CRs-Fixed: 477511
libstagefright: Add support for High Frame Rate Encoding
- Based on kkeyhfr key value from meta data, add support in OMXCodec and
MPEG4Writer for HFR mode
- Assume normal mode recording if kKeyHfr is absent
- Increase bit rate for high frame rate (HFR) recording feature to reflect
the corresponding increase in frame rate
Change-Id: I0a69f8d9322a768677781d08dd910dc5772c5292
libstagefright: Support some userdefine properties
- support property to disable audio
- support property to change recorder profile mode
- support b frame encoding
Change-Id: I175decec83f6027cbd7988caf680f7fec2836f83
CRs-Fixed: 443327
libstagefright: Add support for H/W AAC decoder
- Currently, only software AAC decoding is supported.
- Add support for H/W AAC decoding by including it in the
list of available decoders and use it for decoding only
if the property 'media.aaccodectype' is set to 0.
Change-Id: I4bb9df1bd10bd8ee91e63dadd6c473fc4e29813a
CRs-Fixed: 449145
libstagefright: Move checks for creating new extractor to ExtendedExtractor
- Move all the checks and creation of the extended extractor
into ExtendedExtractor.
- Restrict creation of new extractor to the following conditions
o default extractor is NULL
o default extractor says the content is video only
or has an unrecognized audio stream
o the audio stream is a amr-wb (plus).
- This change is being added to avoid unnecessary creation of
two extractors thereby improving the startup latency.
CRs-Fixed: 462087
Change-Id: Ia87eca73c4f81d37697fa85fd4f7c8cc8d406104
[StageFright] Enable 4 channel support
This patches enables 4 channel WAV audio support and fixes invalid
data size in WAV header field if it exceeds the actual source size.
This patch is needed to support WebAudio in WebKit as some of the
chrome demos use 4 channel WAV audio and bogus header information.
Change-Id: I307026107ab4e4342b1c0d7bb64761a416fb2c65
audioflinger: Fix crash on LPA shutdown
* Decrement the refcount after unlocking the mutex
Change-Id: Ic3210700e0aaf5e8df78f85f501621a455058e24
libstagefright: Accept vendor specific NV12 colorformat from component
- Accept OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m color format
which is NV12 + 32 aligned stride and slice.
- This is different from vanilla NV12 which is 16 aligned.
Change-Id: I6de2ec3a78215dbcc28a6006b746e3e0afe69c3c
libstagefright: various fixes for avc_utils
- skip seq_scaling_matrix_present_flag assertion if checking for
interlaced property.
- correct interlace check to outside of if-block
Change-Id: Ia5854110feb1c56ddc86b312d2ba2dbb73d37804
CRs-Fixed: 445527, 445692
libstagefright: print stats at end of playback
- prints statistics before reset at the end of playback onto
logcat
- print statistics after each pause and seek
Change-Id: I68edcc3153a04209e7382e4d3fba0bf734f3e33f
CRs-Fixed: 457926, 447109
frameworks/base : Fix to play a specific Mp4 clip due to SYNCH_LOST_ERROR.
-Unable to play a Specific Mp4 clip.
-Mp3 playback is stopped if the Decoder errors out with SYNCH_LOST_ERROR.
-Ignore the frame with SYNCH_LOST_ERROR and play silence instead.
Change-Id: I6b94a83cf89e8bc6792d8ee3804042d629aa505b
Add checks before removing an active buffer in OMXNodeInstance
With this change, OMXNodeInstance will remove a buffer from it's
active list only if OMX_FreeBuffer returns successfully.
Change-Id: I685b39ac7ba762a2fc1b64d7f6c1efd391513598
libstagefright: Add interlaced video support
- Adds call to set output buffer size on the native window
Change-Id: If4a67b3f877bef557c46bb67b29d1e7051553335
audio: fix for AMRWB param overwritten issue
- Overwrite AMRWB params with default value only
when setParameters is not invoked
CRs-Fixed: 456459
Change-Id: I3fa6b56101ca408ed5b5b82707c6dc75a9d9f17b
audio: fix encoder parameters for AMRWB format
- AMRWB encoder only accepts SampleRate 16k and channel count 1.
Always overwrite AMRWB SampleRate and channel count to default values.
- AMRWB encoder accepts BitRate from 6.6k to 23.85k, only overwrite
AMRWB BitRate to default(23.85k)if setParameters() is not invoked
Change-Id: I75a96b54ef04bc59dab9074ec112071e62fd51aa
CRs-Fixed: 460931
stagefright: Add QCOM_BSP ifdefs for interlaced video handling
Change-Id: I856ae4a97f1bf13ab18d386b3486e742a4804b2a
Camera : Changes to support camcorder profiles.
Change-Id: I9c4bf14f273839fd36d5f52db0f215873e8291a0
av: Ifdef all the things!
Change-Id: If9dd6c6442e9d2ac9e55e48369f2da85f5f951f7
Camera: Add profiles for camcorder.
Change-Id: Icdaf1fae0018de1fb04f41125cfbe34a91b5eda7
libvideoeditor: use vWidth and vHeight for buffer allocation
- video editor detects crop information from decoder, crop
width and height will override metadata width and height.
- decoder is capable of sending crop information where
crop width and height are smaller than actual resolution.
- use actual metadata width and height for calculating
buffer size.
Change-Id: Id1d77c316e3892e6d51a00418052f256629f495f
CRs-Fixed: 452511
Add ifdefs around enhanced media types
Change-Id: I64b8853660ac4fe90ddb218b237f63b635cdb47b
|
|\
| |
| |
| | |
Change-Id: I6a7a91d930f7789ca78370f0c0e0e306dad87028
|
| |
| |
| |
| |
| |
| |
| | |
- Metada mode video recording is enabled by default.
- use setprop debug.camcorder.disablemeta 1 to disable metadata mode recording.
Change-Id: I422c49c0ace0c3a3e1f4459c7e4bf29e70af763a
|
|/
|
|
|
|
|
|
|
|
|
|
| |
When audio sample rate which set to audio track is not the same with
the actual pcm data, noise will be heard. Fix the bug when write 8 bit
pcm samples.
AOSP commit: https://android-review.googlesource.com/#/c/59837/
Change-Id: Idcb0d7b0e9aaa250dd22b758c8337e23d1706049
Signed-off-by: Ming Zhou <b42586@freescale.com>
Signed-off-by: guoyin.chen <guoyin.chen@freescale.com>
|
|
|
|
| |
This reverts commit ae57fbc021cfc8b018cfb23b90112b1b17173d1b.
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Seek to EOS was causing playback to hang for 3 seconds before
switching to the next clip.
-This is because the lpa driver works on period size. Partial
buffers are not handled.
-Add support for metadata mode changes to LPAPlayer to support
partial frames.
CRs-Fixed: 458904
Change-Id: I8673756b54ae7bca18855d326c85ae1064652514
|
|
|
|
| |
Change-Id: Iee0086e8a7319ada09f5191092c314c099e0d66a
|
|
|
|
| |
Change-Id: I1456e5af22d1cb68fd19626a136fef68c5573074
|
|
|
|
|
|
| |
* Values end up NULL on some drivers, don't crash.
Change-Id: Ic897dbd4629cf3af98c85f93be202c382dde806b
|
|
|
|
|
|
| |
Fixes camera for some HTC msm7x30 devices
Change-Id: If6975e3a5470fdeb603bf8ad9c164c9a000309ef
|
|
|
|
|
|
| |
Use BOARD_HTC_3D_SUPPORT to enable.
Change-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb
|
|
|
|
|
|
| |
Needed for Samsung legacy camera libs.
Change-Id: If03d8525b55181ea20dc934dbcbfef85402c42c7
|
|
|
|
|
|
|
| |
Support is already there, but is not in the codec quirk reading list.
Re-implement it as required by Broadcom's OMX
Change-Id: I1beac06af8118dcf0c248b631bc8e6dbbab2c1d5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Causes issues with MortPlayer (LPA). Track starts/resumes playing, but volume is forced to zero, until a track-change occurs.
4-17 21:41:51.492 D/ALSADevice( 256): setHardwareParams: reqBuffSize 262144 channels 2 sampleRate 44100
04-17 21:41:51.492 D/ALSADevice( 256): setHardwareParams: buffer_size 1048576, period_size 262144, period_cnt 4
04-17 21:41:51.492 W/AudioFlinger( 256): There was no effectChain created for the sessionId(283)
04-17 21:41:51.512 E/AudioFlinger( 256): setting observer mOutputDesc track 0x40c598a0, obv 0x40c598b0
04-17 21:41:51.512 D/AudioSessionOutALSA( 256): setLpaVolume(0)
04-17 21:41:51.512 D/AudioSessionOutALSA( 256): Setting LPA volume to 0 (available range is 0 to 100)
04-17 21:41:51.512 D/ALSADevice( 256): setMixerControl:: name LPA RX Volume value 0 index 0
04-17 21:41:51.512 D/AudioSessionOutALSA( 256): setLpaVolume(0)
04-17 21:41:51.512 D/AudioSessionOutALSA( 256): Setting LPA volume to 0 (available range is 0 to 100)
Change-Id: I6e0ee8cd7c2f577ca5b4cb834c7a83703db4b167
|
|
|
|
| |
Change-Id: I8f84e06771338d992521e69704d21cd113201b4b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating Camera parameters, and service with several
compatibility patches:
1., QCOM legacy CameraParameters and functions:
Adding these will make ICS qcomm camera blobs work on JB 4.2.
Use BOARD_USES_QCOM_LEGACY_CAM_PARAMS := true in BoardConfig
to use this.
Also fixes the problem of legacy qcom
camera blobs with recent libcameraservice QCOM_HARDWARE changes,
where the orientation is messed up on first
preview: the fix is leaving out setPreviewWindow(window) for
legacy qcomm cam blobs.
2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes.
3., Adding adding the set orientation patch:
Always set buffers orientation when setting the qcom camera preview window
Fixes the rotated preview on TouchPad
https://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a
4., camera: Full support for HTC camera switch
5., Adding more parameters for HTC Explorer
Change-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libstagefright: Return seek position until seek has been processed
If it so happens that the client to TunnelPlayer (e.g. AwesomePlayer)
queries for the current time before data from the new seek position
is given to the compressed driver, we need to return the seek position
Change-Id: If709e61f67cc8e81d34c14d19145dc61ecd82c2b
CRs-Fixed: 454825
libstagefright: Use 64 bit offsets only when needed.
For enabling >2GB recording, 64 bit offsets are
needed for file writing. So, this feature was turned
on by default. This in turn increased the file size.
With this change, by default this feature will be
off and turned on only when required.
- Use 64 bit offsets for resolutions >= 720p.
- Limit maximum file size for recording to 4GB.
- Set max file size only if no value is set from the client.
- Fix MPEG4Extractor to use 64 bit offsets
CRs-Fixed: 273144, 285785, 288319
(cherry picked from commit 04476a3fb89dfbb025f7852dd4d62cae72385f1a)
Change-Id: I00af2c7cddbbf86c566fe4bb989fe728ca06dd19
libstagefright: TunnelPlayer sync fix
- Allow close on the AudioSink to be called from
the extractor thread and the application thread.
- This fixes a race condition where an onPauseTimeout
event scheduled from the main thread closes the
audio sink while the extractor thread was about
to issue write() on audio HAL. (note: on HAL, not audio sink)
Change-Id: I22a5c655dfcb40f3cbda3765dc23ad8e6f99c9bb
CRs-Fixed: 443205
Frameworks/av: Fix to prevent deadlock in AudioEffects
-Write is blocked waiting for effect chain lock and this causes
decoder thread to wait indefintely.
-Sometimes it is observed that effectschain is locked before
mLPAEffectChain is initialized and but unlocking is skipped if
mLPAEffectChain is initialized in between.Due to this LPA
silence and framework reboot issues are observed as
applyEffectsOn() cannot acquire lock to progress further.
-Use flag to check if all effects have been locked and unlock
accordingly to prevent the deadlock scenario.
(cherry picked from commit 011db22abf565dfbe7f9d0a5c7af7564587b3b48)
Change-Id: I82cfdab045ecf077f0ba0185fc693fc623fa10db
CRs-Fixed: 435661, 435664, 435680, 430309
audio: Use tunnel player only for music stream
- Check stream type before creating tunnel player to
use tunnel player only for STREAM_MUSIC
Change-Id: I6e4b58524e61441ad2e09499bd9187c6dd56cd3d
framework/av: Fix for audio recording test through CTS
- Issue: Failure in stop is observed with the audio recording test
through CTS.
TestScenario: When the audio record test is initiated in the CTS
console, the recording session is force closed with a notification
File Size limit exceeded. Further, the stop fails with the same
message(notification of the File size exceeded error).
- Cause: The calculation of nTotalBytesEstimate for the recording
session exceeds the limit 95 percent of mMaxFileSizeLimitBytes.
As a result of size deficit, the recording is stopped at the
beginning of the recording session notifying
MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED.
- Fix: The factor size used in the calculation of nTotalBytesEstimate
has been updated properly for 64bit file offset setting. The
setParam64BitFileOffset in StagefrightRecorder::prepare() is executed
based on two additional validations so that the factor size is updated
appropriately.
Change-Id: I4749ce8f9735ccc9e1d9e49718c36470837ab27f
CRs-Fixed: 396057
audioflinger: apply volume on direct track when track is active
During back to back tunnel playback, we encounter a race condition
where setVolume can be called when the track is not updated to
active state. Fix to apply the volume on direct track only when the
track is in active state.
Change-Id: I70c289fbf8a9266bae0bd01b04be9f43ad32c70d
CRs-Fixed: 464148
LPAPlayer: Update condition to ignore seek
- Reject seek if the new seek time is greater than the current
position and within an empirical limit (default 60ms).
- This limit must be measured for each target.
Change-Id: I86b44679fb5fe442bb5adb510c62514f6be3d304
CRs-Fixed: 453067
audioflinger: for DirectAudioTrak, call startOutput before stream is active
For LPA and Tunnel playback, when resume is done in paused state, before
starting actual playback, volume should be set through AudioPolicy command
thread.
Change-Id: I7ee1098058c01a35a3e7181d3b291304abf3cac1
CRs-Fixed: 464348
|
|
|
|
| |
Change-Id: I9e5c22af1a5cf916b0efaec7ca1c5f48f6d0c82a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Completely ignore directories with .noscanandnomtp files
in them. Placing a .nomedia file will still scan a
directory but exclude it from the media database. This
is so the file may still be presented for MTP purposes.
Placing .noscanandnomtp completely prevents the scan,
which saves considerable processing power and battery
life on systems with numerous media files, but prevents
them from being seen over MTP.
Change-Id: Ibff2a9f2525255a2ac34132eeee36734962fbdd7
|
|
|
|
|
|
|
|
|
|
| |
Change-Id: Idd5c7a0364710d54809ef5d4c7b2404b22dc4cf6
Conflicts:
include/media/IAudioFlinger.h
media/libmediaplayerservice/StagefrightRecorder.cpp
media/libstagefright/Android.mk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Handle new ADSP status parameter
- media/libmedia: Add new ADSP status audio parameter
- framework/av: Add handling of new key-pair value in
Audio Flinger
- Handle Tunnel mode SubSys Restart
- framework/av: Post SSR event to Audio Flinger
- media/libmedia: Post SSR event to AudioTrack
- media/libmediaplayerservice: Post SSR event to
MediaPlayerService
- media/libstagefright: Post SSR event to TunnelPlayer
Change-Id: I8c8385af45be91caf7d7160ab2e0236d6591b159
|
|
|
|
| |
Change-Id: Id6319774806e152333d468b9ff62d148e476555a
|
|
|
|
|
|
|
| |
The query index is wrong, it will make a death loop in
my ME722 when get resource thumbnail for MPEG4 video.
Change-Id: I64532156e762b847a8eae59560fb828549c29519
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libstagefright: Exceptions in using Tunnel mode decode
- Accumulate all known exceptions to a separate function
Change-Id: I61bbc288c9a087559db210e76141b8c57e67fff0
CRs-Fixed: 432080
libstagefright : Stability fixes for Tunnel Player (part 2)
- Synchronize b/w reset() and onPauseTimeout
- Synchronize b/w seekTo() and onPauseTimeout
Change-Id: Ia5cfc6b4dcc326ead440fba35d809d4f3f1b5a81
CRs-Fixed: 449122
Revert "Revert "libstagefright: Convert mono to stereo for LPA clips""
This reverts commit 0db8a19fb3216a8a83d5d6cbd5f1ccbf997a20d8.
libstagefright: Port Tunnel mode fixes to LPA
- Miscellaneous fixes for seek, pause/resume, EOS handling
- Miscellaneous fixes for synchronization between the decoder thread,
TimedEventQueue and the player thread.
- This change is a port of a similar set of changes made for
TunnelPlayer
Change-Id: I82c2904f7aedfb9c4f03200419fcba8b038e3d54
libstagefright: Avoid use of extra bytes to signal seek processed
- A few bytes were reserved in the buffer sent by Tunnel/LPA
player to audio HAL to indicate a seek has been processed and
there is no need to skip it.
- We won't need this method anymore as this can be fixed instead
by synchronizing seekTo() and the extractor/decoder threads.
Change-Id: Ic02ae1699bb59e2f6b8d9fb599d0fa43fd3f19e3
libstagefright: LPAPlayer synchronization fixes
- synchronize b/w seekTo() and onPauseTimeout()
- synchronize b/w reset() and onPauseTimeout()
Change-Id: I29a4ccf02e28fe7b7c00e35a679ff2b5271ffb6f
libstagefright: TunnelPlayer performance tweaks
Some tweaks when TunnelPlayer is used for audio/video playback
- Keep the extractor thread at ANDROID_PRIORITY_NORMAL
- sched_yield() after reading a frame to give the video thread(s)
(CallbackDispatcher and/or TimedEventQueue) to be scheduled
Change-Id: If0d86d629fd0e15aff917af8589472578cd28bf4
CRs-Fixed: 444041
|
|
|
|
|
|
|
|
|
| |
- duration = 0 can cause divide by zero and for this clip duration
is indiacted as 0.
- check for duration > 0 rather than duration >= 0
Change-Id: I58ccacbf7ede892dff9626715162ea7b1f2ddbc6
CRs-Fixed: 451855
|