History log of /frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cfa93539db72fd12cf1cf13ef5f09f86f1253cf9 05-Jun-2018 Robert Shih <robertshih@google.com> MPEG4Extractor: ignore unknown crypto schemes

Bug: 109664294
Test: MediaPlayerDrmTests
Change-Id: I4b4815588a863581a1e2fc9d57c58f1df89493c9
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
8c66cf58054d705c3b169eaf830f793adb8d4019 01-Jun-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MPEG4Extractor: reduce buffer size for audio tracks" into pi-dev
c1e24ce7fe17981e80f85d2345c53599ba5f850d 31-May-2018 Marco Nelissen <marcone@google.com> MPEG4Extractor: reduce buffer size for audio tracks

We don't need 3.4 MB buffers for audio, and also don't need 8 of them.
Reduce the size of audio buffers, and allocate fewer buffers initially,
but leave the limit at 8.

Bug: 79420581
Test: manual, Camera, CTS
Change-Id: I180c42c59735b9f04eeeea4f4bd5976da50f5ec6
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
7b78bfd448028aeeb642cb35d46cc96b205f24f9 27-Apr-2018 Robert Shih <robertshih@google.com> MPEG4Extractor: support CryptoInfo for cbc1, cbcs, cens

Bug: 31215085
Test: com.google.android.media.gts.WidevineMp4TempTests
Change-Id: I0b5d53bfaeaab716e9ff8f79e77170fbf711d070
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
c666687f67d1d00beb88c63f90cefc708cbe8500 20-Apr-2018 Chong Zhang <chz@google.com> Tuning of buffer dequeue code to reduce stalls

Queue as many inputs as possible without blocking, then
block on output. Also change the blocking time to 10ms
but allow a little more retries.

Finally, assign a non-zero pts to the image samples to
suppress warnings from MediaCodec about 0 pts.

bug: 78475896

Change-Id: I57c4096a93bc5de0a413968224843a69df667df8
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
6225516c8512741fe659ede6eeae37806c35314c 17-Apr-2018 Marco Nelissen <marcone@google.com> Don't CHECK for unknown fourcc

Bug: 69924180
Test: manual
Change-Id: I47c8e16dbe3ba5ec9ee44de6901c4916d9e79773
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
15033bd29308cf8d6a177ed871b5b35eda65e8c0 04-Apr-2018 Chong Zhang <chz@google.com> Fix thumbnail track skipping

Thumbnail tracks are identified by 'tref' box with a 'thmb'
type reference in it. We can't skip a track as soon as a 'tref'
box appears, need to actually parse it and look for 'thmb'.

bug: 77556099

Test: playback of audio files in bug, playback of image sequence
file (bird_burst.heic) with thumbnail reference.

Change-Id: I7d6ec8af218de2f0cba258f8eaaac9b62f9cb020
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
01a7601f753fb80e89202fc0b115e263581fc3f4 15-Mar-2018 Chong Zhang <chz@google.com> heif: report Exif offset and size in file meta

bug: 73978990

Change-Id: I64e9b7e4535e7f1560e31f0302eeaf70db323dd7
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
0c9906db23f03fc021ac00ca145043f6222e3d08 08-Mar-2018 Marco Nelissen <marcone@google.com> Remove some ABuffer uses from libmp4extractor

Bug: 67908544
Test: CTS MediaPlayerTest
Change-Id: Ia32002afb48445ea55be9eb33ebc09bccb5acb5d
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0 16-Feb-2018 Marco Nelissen <marcone@google.com> Remove RefBase from the extractor API

- Add MetaDataBase base class that MetaData derives from, but which
does not derive from RefBase.
- MediaBuffer::meta_data() now returns a MetaDataBase& rather than an
sp<MetaData>
- Rename MediaSourceBase to MediaTrack.
- MediaSource no longer derives from MediaSourceBase (or MediaTrack)
- MediaTrack::getFormat(), MediaExtractor::getTrackMetaData() and
MediaExtractor::getMetaData() all take a MetaDataBase& parameter that
they fill out, rather than returning a MetaData directly (the
corresponding methods on MediaSource and RemoteMediaExtractor continue
to return MetaData)

Bug: 67908544
Test: CTS MediaPlayerTest, DecoderTest, EncodeDecodeTest, manually record video

Change-Id: Ib531ab309061290be33d40d6100c9a8127e22083
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
81be7d85ab3e1a5897be623d040a26d4d9ede207 16-Feb-2018 Dongwon Kang <dwkang@google.com> Merge "Add MediaBufferBase and use it in MediaSource and MediaBufferGroup."
8ff8cab83dacf0263d7675d265c30bc1b8fd5dfd 13-Jan-2017 Marco Nelissen <marcone@google.com> Remove dead code

Remove code that was unreachable or never called.

Test: build

Change-Id: I82da1a3a046a7fe66bf012aa749d5a2de669d807
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
1889c3edad32995c0cf26ae2248fe7c957b7ec84 01-Feb-2018 Dongwon Kang <dwkang@google.com> Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.

MediaBuffer class exposes internal classes, ABuffer and IMemory, which
we don't want to expose to plugins. This change introduces
MediaBufferBase which does not expose any classes from system library.

Test: build and post-submit media cts tests
Bug: 67908556
Change-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
17e172b4c3c87ecaa7c87eecc42b4dc47e3e9734 30-Jan-2018 Dongwon Kang <dwkang@google.com> Remove String8 and AMessage from extractor plugin interface.

- mime(String8): is dropped from the interface since it was only used
for debug message. debug message is replaced with MediaExtractor::name.
- meta(AMessage): is replaced with an opaque pointer, void *, in addition
to an additional function pointer to free the object.
(In MPEG4Extractor case, AMessage with "meta-data-size", which was
introduced in Id2acdde89, is removed since the use case had been gone
with AwesomePlayer.)

Test: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg
CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice
Bug: 67908556
Change-Id: I242944332bf0ff7dd4ad2106fe8f68e97264010b
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
2a243f08193fe9ff1afe018e9953f01c44ced9de 30-Jan-2018 Marco Nelissen <marcone@google.com> Remove RefBase from plugin-side DataSource

Extractor plugins now use DataSourceBase, which is not refcounted.
Framework-side DataSource derives from DataSourceBase and RefBase.
Also remove MediaExtractor::release, because it is not needed
anymore due to the way the extractor/track/datasource lifecycle
is managed now.
Also add source and target pid to CallbackDataSource name, to
make the extractor dumpsys more useful.

Bug: 67908556
Test: build, boot, CTS, skia test app for heif
Change-Id: I6b9cbe903f76b0cf27ba87f4a456f424803efd08
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
3085dbc1d9e8253cbc7a291c17c7906ec33f8a48 31-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "heif: allow files without valid image sequence track to extract"
cb30d8477cbd16dcef6acee1e07dedfa246e9456 27-Jan-2018 Marco Nelissen <marcone@google.com> Remove RefBase from plugin-side MediaSource

Extractor plugins now use MediaSourceBase, which is not refcounted.
Framework-side MediaSource derives from MediaSourceBase and RefBase.

Bug: 67908556
Test: build, boot

Change-Id: Ie33ca07f0d0ba783a504d7b7bf1a75ca4acdd745
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
af1da8561beda2a8f9959a15808c9b4f404942b3 26-Jan-2018 Chong Zhang <chz@google.com> heif: allow files without valid image sequence track to extract

Some heif files advertise 'hevc' brand but don't have valid
image sequence tracks. These are technically non-compliant,
but allow the still images to extract as long as some still
images are found.

Also fix a type in the format conversion code.

bug: 72363209
bug: 63633199
Change-Id: I5b6c486cdccb06c6d45090967650791eb9b513cf
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
7d880c31d2079299000b036c6ae742dc695a5b19 25-Jan-2018 Marco Nelissen <marcone@google.com> Remove RefBase from MediaExtractor

Bug: 67908556
Test: build, boot

Change-Id: I9cc0f1bdb89c2da52f89a28471d4b86f30500abb
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
661e6990bf0fc4174f43cea928d80fcdcc623ff6 05-Jan-2018 Dongwon Kang <dwkang@google.com> Remove libmediametrics dependency from libmediaextractor

- Removes media metrics related methods in the extractor plugin.
- Puts metrics related code in one place, RemoteMediaExtractor.

Test: build & pass android.media.cts.MediaExtractorTest
Bug: 67908556
Change-Id: I5e06e6b6b5c047a3c68d90479e55f1df9061da45
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
25333a4763d363b403a00b4850743335dc0fe002 19-Dec-2017 Wonsik Kim <wonsik@google.com> Merge "fix elst calculations" am: c10a3e93cc am: ee4079a30e
am: 73eaa54c87

Change-Id: I27c37ebb1ccc25618c5955d2d4db70c314f3a2d2
fbc97c5266ec4e9fbe98db944f7aa99452299ae8 10-Nov-2017 Chong Zhang <chz@google.com> heif: add muxer support for adding still images

This change adds basic support for adding still images to a
heif container.

bug: 63633199

test:
Locally built test app that adds more than one still images
and video sequences to a heif container. Verified the muxed
file can be played by locally built heif viewer app that
uses MediaExtractor/MediaMetadataRetriever/MediaPlayer apis.

Tested media post-submit CTS on Pixel2XL.

Change-Id: I185bbbbed3dbb4e76d64bcf7323ee44a42cc8623
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
d3e0d861aa68a7ef129fe228595bff734448ebc8 03-Oct-2017 Chong Zhang <chz@google.com> heif: fixes for image sequences and dual-function files

Adding support for two new sets of APIs on MediaMetadataRetriever:

- getImageAtIndex() and getPrimaryImage()
- getFrameAtIndex() and getFramesAtIndex()

Outline of changes:

- Proper indexing of all displayable still images, so that they
can be retrieved by getImageAtIndex()

- Exposing still images as "image/x.android.heic" tracks in
MediaExtractor with necessary descriptive keys (such as "grid-*")

- Support to retrieve video frames by absolute index instead
of timestamps, as image use cases mostly are interested in
getting the images and care less about timing.

- Support to retrieve video frames in batches because retrieving
one frame at a time is inefficient.

- Refactor image / frame decoding code into FrameDecoder, and split
still image decoding and video sequence decoding into to sub
classes to facilite future development.

bug: 63633199

test:
cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice

Change-Id: I2fe8519fb6907f315a8b513921fc1cc7f436e28d
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
2acf1a9e3f4d49304d8353d5dc96ea6499c14144 19-Oct-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leaks" into lmp-dev am: 3e913a793c am: 0ae16eb779 am: cf520f4f9e am: 22b4aa34ea am: a4856a624a am: 64fa39c01c am: ffb8750131 am: f2131eb33e am: da750ecced am: 2e88fb1b72 am: 546cc40a5a am: f777cb29a7 am: 5a6520b002 am: 6a79afc410
am: 39674b2ff9

Change-Id: Idbd912e4c7fdbf0bc45fccbdfd540ee53db29805
08a5a3a473354c965c32190f8b68549d19e08912 18-Oct-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic "remove-dep"

* changes:
Remove libmedia and libstagefright dependency from extractors
Clean move of files to keep the git history
Sort shared libs in Android.bp for extractors
d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3 10-Oct-2017 Dongwon Kang <dwkang@google.com> Remove libmedia and libstagefright dependency from extractors

- MediaSource, DataSource and MediaExtractor are moved to
libmediaextractor so that they can be used by extractor
implementations without depending on libmedia and libstagefright.
- XXXFactory classes has been added in order not to expose CreateXXX
methods in libmediaextractor.
- avc_utils is moved to libstagefright_foundation since most of
extractor implementations are relying on that.

Test: build + post submit media CTS tests
Bug: 65851881
Change-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
e06ec66ecef0086d36bacf20e085982f27b59d92 17-Oct-2017 Lajos Molnar <lajos@google.com> stagefright: MP4Extractor: allow 10% overhead on default sample size am: d7d6df849c
am: 3206e347d1

Change-Id: Ib8c1ee37e1f47e9dad54628d2654aba12e152601
92b01549f05ab42c1bc5e1f11aa13d5cf95b7817 15-Oct-2017 Masaichi Toki <masaichi.x.toki@sonymobile.com> Merge "Fix ERROR_MALFORMED return in bool method, BetterSniffMPEG4" am: 67b97497e5 am: 0ac1279131 am: 6319db1d31
am: 27f4a784ab

Change-Id: I0f64810dccd1ca380a82edd1e1751a771374cb2b
607612858f3afad1ade51a098aafa2a41523b5f7 09-Oct-2017 Dongwon Kang <dwkang@google.com> Move UXX_AT families to libstagefright_foundation

Byte handling utilities moved to libstagefright_foundation so that
they can be used in extractors without depending on libstagefright.

Test: build
Bug: 65851881
Change-Id: If72d8befadf3e63a93396f08efac0d6e3f4e273e
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp
75226177f20a176d50e3e53bbb34067cb49112c3 16-Nov-2016 Marco Nelissen <marcone@google.com> Make extractors separate libraries

instead of being integrated into libstagefright

Test: thoroughly
Change-Id: I11cdfde6d2daf248c8e0f99237db1c74be260eb0
/frameworks/av/media/extractors/mp4/MPEG4Extractor.cpp