| 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>
|
|
|
|
|
|
|
| |
- Set decoder in frame-by-frame mode always, except for interlaced
content, for which arbitary mode should be set
Change-Id: I8195a40549898b43a0e03d65663c7148f458c448
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
auido: Add amr-wb+ codec to ACodec.
-Add an entry for amr-wb+ decoder in ACodec.
-amr-wb+ non tunnel will be enabled by default.
Change-Id: Ied8902eb83da29a3164eb99e88630570a43f681e
libstagefright: Create MP3 decoder libraries without OMX layer
- With the current MP3 OMX SW decoders, the decoding time
is increased w.r.t the libraries without OMX layer that are
present in GB. This increase in decoding time results reduction in
power savings in LPA mode.
- This commit is to remove OMX layer for MP3 to reduce the
power consumption in LPA mode
Change-Id: I835ab6d013a326f111e513586f884bacd5f7106a
audioflinger: EffectModules are updated with device change
Issue: Effects modules are not updated with the device change
information
Fix: 1) Add setDevice information to mLPAEffectChain
2) Remove the return after sending the device route information to
Direct track so that mixer thread is also aware of the device
change for EffectsChain
Change-Id: I82936cd47290946a5e4772e448669d81e0e4d6f5
libmedia : Add a NULL pointer check
- Print frame count in AudioTrack::dump() only if the control
block is valid
Change-Id: Icf594eb721b48795c43d7bd165f6086031ce6efd
CRs-Fixed: 435050
libstagefright: Query AudioSystem for suggested record mute duration
- AudioSource mutes a pre-defined duration (defined by kAutoRampStartUs)
at the beginning of a recording.
- Instead, query the audio system for any ongoing playback streams
and use its output latency to calculate the duration to mute the incoming PCM stream.
- This assumes all current playback threads will be paused once recording
is started.
Change-Id: Ie9b1d62e7be803ef1d8a59127b95c73e03fa5ce6
CRs-Fixed: 438149
libstagefright: Convert mono to stereo for LPA clips
- Sound effects are not supported for mono clips
- Repetative calling of effects_configure and effect_process for
mono clips is resulting in crash in the sound effects library.
- So, Mono clips are now converted to stereo by copying the left
sample to right.
- This is same as what Resampler does in Non-LPA Playback.
This commit is a port of fcc0647fab20ceaf1c07bc10bb243f14c48b114c
CRs-Fixed: 421639
Change-Id: Ie579c8d11afe3db8d42a35956e8bf23eeb88cfe6
audioflinger: Fix to set volume from MediaPlayer in Tunnel mode
Issue: MediaPlayer.setVolume does not have effect on Playback
volume in TunnelPlayer mode
Fix: the left and right volume parameters of setVolume are
hardcoded and defaulted in DirectAudioTrack. Updating the
parameters from the input arguments fixes the issue
Change-Id: I8a107ce57284b225b17d95fed0f69e3adc5fb131
CRs-Fixed: 441849
libstagefright: Enable Tunnel Decode for select formats
- Enable tunnel mode decode only if the audio mime type
matches a supported list.
Change-Id: I32afd83e5fda1e90cb671dd747f17cb83bb84fc1
CRs-Fixed:437651
framework/av:: Add support to decode mp3 data in mp4 container
- Added support to decode mp3 data in mp4 container packed as mp4a
atom and .mp3 atom as well.
Port of 8fa3774adf9259b33ee721cfaeff26da42c29928
Change-Id: I1a04022f30a9f6516575440aba7652986ab7dc58
CRs-Fixed: 439897
audiomixer: Use High Quality resampler
Use very high quality resampler to upsample to 48KHz sample
rate.
Change-Id: I1ba5b839f1e74ae71b405538d970e6a966bd1d47
CRs-fixed: 416730
audioflinger: Fix a deadlock
- A deadlock will happen if the obit recipient
registered by the DirectAudioTrack is called.
- Fix this by moving the lock acquisition in DirectAudioTrack::clearPowerManager()
to after DirectAudioTrack::releaseWakeLock() is called.
- Also synchronize use of mPowerManager in the DirectAudioTrack
destructor with DirectAudioTrack::clearPowerManager()
Change-Id: Ib127db1406c4a61a4054ca0cf30f4c7347a5c92a
CRs-Fixed: 444093
libstagefright: TunnelPlayer: update condition to send SEEK_COMPLETE
- If the client tries to seek to 0 (e.g as a result of LOOPING)
without ever calling getPosition(), we will always sent an immediate
seek notification without seeking.
Change-Id: Id2b9d00c611278d0521cb6fd402710f0ec37bbdd
CRs-Fixed: 441411
libstagefright: Remove unnecessary code from TunnelPlayer
- TunnelPlayer tries to mimick AudioPlayer when trying
to delete the extractor source.
- It is needed for AudioPlayer as the OMXCodec object
is referenced by the CallbackDispatcher as well as AudioPlayer.
- This condition is not true for TunnelPlayer, so why do it.
Change-Id: I79c4e17d01910e73ad01c5640ef374626313a18e
CRs-Fixed: 442365
Add MediaDebug header from CAF
Change-Id: I68dbe72f86a49685b82b64927d1aa80231647a7a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libstagefright: Add QC specific media format
- Add QC specific media extensions
- Add QC specific media definitions
Change-Id: I7dca90be3b977701d9537f5e017117790a030f1f
audio: Compile AudioParameter as shared library
- AudioParameter as shared lib is needed by BT
support in WFD source.
Change-Id: I464b428ace0cbb57ce6bf7bf3b57d51a7d56f032
libstagefright: Send flush on both i/p and o/p ports together
- ANR occurs in music due to race condition in OMX component if
flush is issued separately for i/p and o/p ports as DSP only
handles simultaneous flush on i/p and o/p ports.
Change-Id: I5b16cd5a9b57c857dc8bed489d2663b8f54769e3
libstagefright: Enable extended A\V format
- Add new files to support extended A\V format
Change-Id: I1e61d78d35b868d55fd8e99f95de8cab9c465db4
libstagefright: Framework to plug-in propritory parser
- Extend the current framework to plug-in propritory
parser
Change-Id: Ia586a3048420ddf1515261f20035589447263b7b
audio: add support for QCOM audio formats
- Add support for EVRC, QCELP, and WMA formats.
Change-Id: Iaf80f982fc8b08617132dbd7d524a1748866745c
frameworks/av: Support Tunnel Playback
- Implement DirectTrack and DirectTrackClient
- DirectTrack exposes API to client so it can create a direct
output.
- DirectTrackClient allows notifications to be sent to the
client from DirectTrack
- DirectTrack is being used for Tunnel Audio
Change-Id: I2fbb18a781d8e44b8d65da9a357f6e39375f063a
frameworks/av: Support LPA Playback
Add support to enable Playback in LPA mode
Change-Id: I1b8ac4904f4735017d62f3757ede7bbb56e62fd3
audio: Send correct channel mask in voice call recording.
-Using popCount function to get channel count gives incorrect value on
voice call recording.
-Only STEREO and MONO bits to be considered to count
channels on input
Change-Id: I04c2c802422e868bdba0538ff8623dbf9eb659fe
libstagefright: Thumbnail mode initial commit
- use sync frame decoding mode when kClientNeedsFrameBuffer
is set for hardware decoders
- hardware decoder will only expect I frames, OMXCodec will
set EOS on first ETB to stop more frames from being pulled
- skip EOS check on FTB so that the first frame will be
handled
Change-Id: I0e8974e088fdcc468e27764861c128cfe291499f
audio: Add support for QCOM's VOIP solution
Change-Id: I1150f536fa204b535ca4019fdaa84f33f4695d93
audio: define QCOM audio parameters
- Define QCOM audio paramters for FM, VOIP,
fluence, SSR, and A2DP
Change-Id: I29d02e37685846f6d4f00dee02e2726b015eaae7
Add ifdefs for QCOM enhanced features
Change-Id: Ic8e5fe6ecc058466ced71030883b1af6c2bc055c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure to clear out the mean/name/data state when parsing
apple-style metadata from tracks every time we have a full set, not
just when we find an iTunSMPB set.
AAC tracks encoded from WAV by Nero tend to put in an additional apple
style metadata tag (cdec) before the iTunSMPB tag. The sequence in
the file goes something like
mean : "com.apple.iTunes"
name : "cdec"
data : "ndaudio 1.5.4.0 / -2pass -br 320000"
mean : "com.apple.iTunes"
name : "iTunSMPB"
data : " 00000000 00000A40 000000B8 <etc...>"
If the internal state was not cleared after the first set, then when
the second instance of "name" is encountered, an attempt is made to
parse the previous data entry as an iTunSMPB tag when it is actually a
cdec tag. Afterwards, mean, name and data are all cleared, and when
the second data is encountered there is no current mean or name
present, so the gapless metadata gets skipped. By clearing the
metadata state every time we have a full set of mean/name/data, we
make sure that we are always interpreting the data field as the proper
type.
Change-Id: I196e2e3f83e434f15d5ee55ae40a74a92d5a1845
|
|
|
|
|
|
|
| |
Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.
Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
|
|
|
|
| |
Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
|
|
|
|
|
| |
Change-Id: I72474c17757dba5867f55b0e99e76e9e4e32ce7b
related-to-bug: 6217289
|
|
|
|
| |
Change-Id: I4c83d4e12e996dc29708268e68a4bb74b368c6f3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Goal
1. Removed dependency of TimedTextPlayer on AwsomePlayer.
2. Generalized TimedTextParser to TimedTextSource and its subclasses.
Summary
1. Introduced TimedTextDriver, TimedTextPlayer (new implementation),
TimedTextSource (and its subclasses).
2. Removed TimedTextParser.
Remaining TODOs
1. Revise VideoVidew, Gallery3D app, AwesomePlayer to check if
'pause' and 'resume' works well.
2. Consider revising MediaPlayer APIs such as setParameter() ->
addTextSource(). Need more thoughts.
Change-Id: Ie0c4f15b9690102de755cef6940f8c31ccf78e27
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
|
|\
| |
| |
| | |
Change-Id: Idb56996f7c1b78d96e3d3d3f08419c4d122db0b1
|
| |
| |
| |
| |
| |
| |
| | |
the extractor without blocking (and therefore be able to abort).
Change-Id: Id2acdde897e02baaeabadae70b7c95b66c9041b3
related-to-bug: 5666532
|
|\ \
| |/
| |
| |
| |
| |
| | |
information in mp4/3gpp files" into ics-mr1
* commit '510180f162dee3ae5416a98caa07f58a754f4b3f':
Add support for retrieving location information in mp4/3gpp files
|
| |
| |
| |
| |
| | |
Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
|
| |
| |
| |
| | |
Change-Id: I16d2c5d9aeb087b958e28052f266ca0ef42ea7f1
|
|/
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/143865
Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
|
|
|
|
|
|
|
| |
files.
Change-Id: If6531b4a1ff45460cfcdcc04764c5c63a2f5a749
related-to-bug: 5418914
|
|
|
|
|
| |
Change-Id: I2dfbc3e6017b5cd264e4cccfa47d19047b2e7f31
related-to-bug: 5178976
|
|
|
|
|
|
|
|
|
| |
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager
Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
|
|
|
|
|
|
|
|
|
| |
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata
Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
|
|
|
|
| |
Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
|
|
|
|
| |
Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
|
|
|
|
|
| |
Change-Id: I16dd3dcb93a50b3c808ae710d0ba4757c89ab9c8
related-to-bug: 4406745
|
|
|
|
|
|
|
|
| |
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever
Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
|
|\ |
|
| |
| |
| |
| |
| | |
Change-Id: I2618946b242b581fb8ed5de9a13ede23a4191b11
related-to-bug: 4173290
|
| |
| |
| |
| |
| | |
Change-Id: I8e30c586048d38334fd4366959a124a99d8efe28
related-to-bug: 4267147
|
|/
|
|
|
|
|
|
| |
make sure that findSampleAtTime uses composition time instead of decoding time,
at the expense of extra memory.
Change-Id: I67d09389b3df7ed265f614bdd0b142ca7f19f86a
related-to-bug: 4294536
|
|
|
|
|
|
|
|
| |
Audio and video samples must be reasonably close by at any given timestamp,
for now we define "reasonably" as "their offsets must not be more than 1MB apart".
related-to-bug: 3509977
Change-Id: I4c3a2a239bf911306833f3b17b73c9e2f76ab901
|
|
|
|
|
|
|
|
|
|
| |
In this case, the MediaExtractor returns ERROR_UNSUPPORTED since our
software MP3 audio decoder may not be able to handle packetized
MP3 audio.
bug - 3377570
Change-Id: I8bb6b3813716b5fa019e318842e8e1908b3c8bf8
|
|
|
|
|
|
| |
bug - 3482703
Change-Id: Id6fdf9d1f4a304954c018b67d50bd79a07164687
|
|
|
|
|
|
| |
bug - 3446863
Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
|
|
|
|
|
|
|
|
| |
not decoding timestamps. Obviously there is no difference between them if the
content in question does not involve frame reordering.
Change-Id: Iac4d06cfeb8a136f735c1148e98cac340d3ef893
related-to-bug: 3398314
|
|
|
|
|
|
| |
bug - 3362483
Change-Id: Ifcbb75c1e8b80cb06c4b8fe7f5ff99bc6f18af69
|
|
|
|
|
|
|
|
| |
image resolution of the video.
bug - 3352413
Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
|
|
|
|
|
|
|
|
|
| |
support for two common ways of specifying album artist in ogg files.
b/3311831
(cherry-picked from GB because of weird automerger failure)
Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
|
|
|
|
|
|
| |
header is invalid
Change-Id: Ib573ededb9c73285822fa238120faa484402bcf7
|
|
|
|
|
|
| |
bug - 3278240
Change-Id: Ifd1b1f3e5dd55dbf2c33bbad9dd51998c25bfc15
|
|
|
|
| |
Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
|
|
|
|
| |
Change-Id: I9ac90871269c5e132e98a9bf3ad8cae00f329f17
|
|\
| |
| |
| | |
Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback
Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
|