History log of /frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.cpp
d23ab3ae2248781640e9a10659c9ad0a78941acc 30-Jan-2018 Dongwon Kang <dwkang@google.com> Remove std:vector from MediaExtractor::setMediaCas()

The layout and implementation of std::vector may be different depending
on the compile environment. Now MediaExtractor uses plain c pointer to
pass the token while framework side, IMediaExtractor, keeps using
std:vector.

Test: build
Bug: 67908556
Change-Id: I9614426e1d3318ee6ead5f8f78d5d0120d8c605d
/frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.cpp
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/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.cpp
45d54c6ec48761b75f92cee4618c4fbffa6be24a 26-Jan-2018 Marco Nelissen <marcone@google.com> Explicitly use AnotherPacketSource where possible

Instead of using MediaSource and casting to AnotherPacketSource.

Bug: 67908544
Test: build
Change-Id: I14f3ff755e74b11e858941662d7965607b8a7976
/frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor.cpp
15d02f84351eaca14099bde11cfbf6f124bea71f 15-Dec-2017 Dongwon Kang <dwkang@google.com> Define constants in IStreamListener in MediaKeys.h

Currently, constants in IStreamSource are being used in ATSParser while
they are separate entities. This defines those constants in MediaKeys.h
so that ATSParser can be used without depending on IStreamSource.

This removes libmedia dependency from libmpeg2extractor.

Test: build.
Bug: 67908537
Change-Id: I503a4cdb530825b1932463efae999d120b839e56
/frameworks/av/media/extractors/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.cpp
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/mpeg2/MPEG2TSExtractor.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/mpeg2/MPEG2TSExtractor.cpp