Based on some usecase, outputing in float is not an option.
Should allow a property to select the behavior
Bug: 140952553
Test: NativeDecoderTest#testExtractor
Test: MediaExtractorTest#testFlacIdentity
Change-Id: Idf2bf382f50d12c00a85aa7bb5582fb0439c6ea1
Signed-off-by: Jean-Baptiste Théou <jb@essential.com>
Without trunksize as restriction, function parseClearEncryptedSized()
can read the rest of file. If the file has a large number of saiz trunk,
large number of bytes will be copied, which can lead to high cost of
CPU time.
Bug: 124777526
Test: please see #3 and #8 in b/124777526: push senc.mp4 to devices's
sdcard, play with photo app, manuly print log. Also need to verify if
Dexter app (b/152531488) not crash.
Change-Id: I87f215cf04c5d002076e145f21c10556773f4bb2
Instead of allowing ID3 parsing to read entire buffer,
pass a buffer with only relevant chunk_data_size bytes
Test: atest android.media.cts.MediaMetadataRetrieverTest#\
testID3v2Metadata
Test: poc in bug
Bug: 123237930
Change-Id: I2d6997d16e18d595c5bced02194eb20ab11184e6
Bug: 152541934
Bug: 152531488
This reverts commit bce9a57e0f.
Reason for revert:
This change aims at fixing b/124777526, but it has led to two new bugs: b/152531488 and b/152541934.
Change-Id: I812c64a68c15542dec2521b985e987f5329a1320
media time and segment duration entries from 1st edit list entry only is
used for gapless playback, hence don't process the same from second edit
list entry.
Bug: 152372048
Test: atest android.media.cts.MediaMetadataRetrieverTest
atest android.media.cts.MediaMuxerTest
atest android.media.cts.MediaExtractorTest
Gapless playback files played as expected.
Change-Id: I79ce7c69c65f71440e0ba6552e150586fab64aac
Without trunksize as restriction, function parseClearEncryptedSized()
can read the rest of file. If the file has a large number of saiz trunk,
large number of bytes will be copied, which can lead to high cost of
CPU time.
Bug: 124777526
Test: please see #3 and #8 in bug report:
push senc.mp4 to devices's sdcard
open photo app
manuly print log
Change-Id: I854765c82d02d541b92f2658673aa4ce61fb5412
(cherry picked from commit aa15fefa185278a549fd72dd1b79ae73ca5e4436)
Among the many changes that went in as part of CL ag/9501009, reading empty edit list entry was
also added in MPEG4Extractor. Code modifications for seek functionality with the same is done
now.
Bug: 150956121
Test: atest android.media.cts.MediaMetadataRetrieverTest
atest android.media.cts.MediaMuxerTest
atest android.media.cts.MediaExtractorTest
atest android.media.cts.MediaRecorderTest
Change-Id: I3ec065f56259eaf1d923c6701713c6a445e4e2f4
Due to some reason, for example bad file, readAt header fails
in AACExtractor(...) and the variable mMeta is not initialized.
Then exception happens when to delete mMeta in ~AMRExtractor().
Bug: 142630125
Test: MTBF test and make sure
no assertion in AMediaFormat_delete(mMeta) of ~AACExtractor()
Change-Id: Ie04989f20170391961c8a6d12e1882262be18d7f
This is intended to recover from cases when the MIDI extractor gets
stuck in an infinite (or very long) loop.
The extractor code is 3rd party and hard to harden - this gives us
at least an eventual recovery.
Change-Id: I8d2fd85f91d1d2749c5620cf8518583076d2f6d7
Bug: 127313764
Bug: 127313537
Bug: 127313223
Bug: 127312550
Bug: 127310810
Bug: 126380818
Empty, since the functionality was moved to libbinder/libhwbinder to
remove extra lib dependency.
Bug: 148692216
Test: N/A
Change-Id: I8a1fd821c200f94bd500eed477d7e4ae9f8541d2
When memory is not enough, it will fail to allocate mSampleTimeEntries
and it will return NULL. So memset will set 0 to address 0x00, and
exception occurs.
Bug: 143057966
Test: this is a seldom issue and we analyze this exception by callstack
Change-Id: Ia69884a984c8d38e58b325b4043977e6e196e6a2
Avoid making MPEG4Extractor read from negative data source offsets,
but also make FileSource::readAt() handle them gracefully.
Bug: 141242340
Test: poc, manual
Change-Id: If82dcaec43a63b71d24a5572eeea5e0685fb4a1c
1) Handle tracks (video with bframes and without bframes) starting with different start
offsets through edit list entries. Empty edit list entries for positive offsets.
Normal edit list entries for negative offsets.
2) Handle audio tracks with start timestamps < 0, without affecting gapless playback.
3) Replaced the logic of adjusting first sample's delta/duration for video tracks
without B-frames and non-video tracks inorder to maintain AV sync with edit list
entries.
4) Adjusted CTTS offsets to reflect only the offset needed for BFrames reordering.
To maintain AV sync start offset of tracks with BFrames were added to these offsets
earlier.
Bug: 135030072
Bug: 142580952
Bug: 141653301
Test: 1) atest CtsMediaTestCases -- \
--module-arg CtsMediaTestCases:size:small
2) atest android.media.cts.MediaMuxerTest
3) gapless playback clips are playing fine.
Change-Id: If3fa71431de199b02a17323a05af46759b20b905
Current make files builds only shared libraries for extractors
Enable building static libraries for MediaTesting
Test: builds
Bug: 144965408
Change-Id: I4f05cfed60ac19b21aaeab396895b7b94eedee12