Current make files builds only shared libraries for extractors
Enable building static libraries for MediaTesting
Test: builds
Bug: 144965408
Change-Id: I4f05cfed60ac19b21aaeab396895b7b94eedee12
for some ogg content, the mp3 extractor would slide along looking for a
resynchronization point. and find one. Then it reported the same
confidence as the oggextractor. Bump the confidence returned by the
oggextractor so that it won't lose such a tie.
Bug: 137525449
Test: POC in bug
This reverts commit 784bfac0b0.
Reason for revert: decided to use device which matches to the test suite.
Bug: 131869673, Bug: 125914810
Change-Id: I5738a5303f3368f63fcd51074ee9b2db7344d518
The test APEX is built with aosp_x86_64 where first ABI is 64-bit.
But the test APEX can be installed to 32-bit target like cf_x86_phone.
The lack of 32-bit extractor libraries in the 32-bit target can cause
problem. So, install both ABIs of the extractor libraries to the test
APEX.
Bug: 125914810
Test: choosecombo to aosp_x86_64 and build test_com.android.media
Check that the test APEX has both lib and lib64 directories.
Change-Id: Ib073f61838fea0b823c870c8c71b49a7ecc9346e
This key could be useful to query if a file contains haptic channels or
not.
Test: test with files (not) containing haptic channels
Bug: 128012181
Change-Id: I5f0a9ca9fde23ce7d6f48921acc9a1074a6a1601
instead of "test, advance 1, test", look at the 4 bytes that we
used in the test to see the soonest our test could possibly succeed
(e.g. where do we find the right leading character) and advance that
far instead of just 1.
Bug: 124238340
Test: manual
Problem: When play an ogg file and seek to begin, the packet
which send to vorbis decoder might be not integral and it
would cause noise issue.
Solution: Return first data packet when seek to begin.
Bug: 122921499
Test: Play ogg file and then seek to begin
Change-Id: Idb89913262ff21add86b1eae75f72a1e390632e9
Make each extractor plugin export a list of file types it supports,
so we no longer need to hardcode such a list in the framework.
Test: manual
Change-Id: I1e41a5d477ea56960ad3e4bc35f5183c03c3fe3a
Remove support for intermediate extractor format versions
and leave only the 'V3' format, but remove 'V3' from the
names of the classes and structs involved, and reset the
version number back to 2 (version 1 is the C++ interface
shipped in P, which is no longer supported).
Bug: 111407253
Test: build
Change-Id: I702080e6bbfbac265967a93945ee97191d463125
Add a key "haptic" in Ogg file metadata, which indicating the haptic
channel count of the Ogg file. When it is present as a valid number,
OggExtractor will set haptic channel mask accordingly to support haptic
playback via audio. This is part of haptic playback support.
Bug: 111454766
Test: Manually test
Change-Id: I9f9ba22358b7c538382f23f24143057970f6d7ad
Remove diagnostics mode from CFI across the board. This should reduce
performance overhead and also allows the minimal runtime to work when
other ubsan sanitizers are enabled. CFI stack dumps should include a
cfi related function, so it should be apparent when a crash is CFI-related.
Bug: 117417735
Test: make -j
Change-Id: Id2cb6cb64425c4c89c031d93156fb1a20be5fa7b
Support secondary plugin API that uses AMediaFormat so plugins can be gradually
changed over to it.
Bug: 111407253
Test: CTS, manual
Change-Id: I25de3cb9463ca3b91370cecd16c80915d6407daf
Add a C API for DataSource/Base, and a helper so extractors
can continue using a C++ API.
Bug: 111407253
Test: build, boot, play some files
Change-Id: I1c8b2990e17d18eee53c9abf7ebef2ced0e8b7fd
Define a C extractor plugin API, along with some helpers
so extractors can still be implemented in C++ if desired.
Bug: 111407253
Test: build, boot, play some files
Change-Id: Iba947381441769d77929b4235cdb4a4cd5d4f606
Removes external dependencies on things like RefBase and Vector, with
minimal code size increase.
Bug: 67908544
Test: manual
Change-Id: Iee05844db83fc8e55f63ec1a7a7fa466ac09345c
- 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
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
- 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
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
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
Symbols from static libraries included in dynamic libraries are exported from
the dynamic library by default, and the usual "-Wl,--exclude-libs,ALL" doesn't
work for 64-bit libraries, so use a version script instead to ensure we only
export the necessary symbols.
This prevents applications from accessing the libraries outside of the
provided API, and reduces total size of extractor libraries by over 20%.
Test: build, run
Change-Id: I0aa1bd5fdc638960e66f59c867731a0aad255896
- Statically include libvorbisidec in OggExtractor
- Statically include libstagefright_flacdec in MatroskaExtractor
- Statically include libsonivox in MidiExtractor
- Include MidiIoWrapper as a static lib in MidiExtractor
Test: build
Bug: 65851881
Bug: 67908539
Change-Id: I1406f86e7a64fe96a1fdbcaeaa47912dfe34f33a
- 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
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