- 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
- 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
This change removes dependency on IMediaExtractor/Source binder
interfaces from MediaExtractor implementations. Wrapper classes,
RemoteXXX and CallbackXXX, have been added to convert the
implementations to binder objects or the other way around.
Test: build, boot, and play mp4 video file
Bug: 65851881
Change-Id: I351fb7bbaf8e0154295ccf258f85b8b2f2a4b8fb
1) Fix the CSD handling due to missing timestamp in CSD buffer.
2) Remove the concatenation of audio frames and write out every audio frame
immediately to unblock the video frame write out.
3) Unblock audio track thread after geting CSD.
Bug:21620607
Change-Id: I4926ef7202e1692a2c50a5e8158a9cfb19d9ed3f
Run extractors in a separate process. Currently all data is copied through a
binder transaction, and WVMExtractor is still run in the mediaserver process.
Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
MediaPlayerService can't open files (it needs an already opened
file descriptor), so these were just wasting space.
Change-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03
If writing encoded data from an OMXCodec, the last buffer can be
an empty buffer (with the EOS flag set, which isn't propagated to
MediaBuffer). If we don't retry reading, we won't ever get the
EOS error and thus won't properly signal that the source is done.
Change-Id: Ibe01dbcd0637fbf0c2529a277e9f208c48e0e8ab
This makes a remuxed file play without any decoding warnings,
while there still were some occasional warnings with the previous
version.
Change-Id: I31d73446ded1eeb3da10783c5ef841270563ca12
Have not found any concrete bugs related to these calls yet, but we should avoid
calling virtual functions in destructors, regardless.
Change-Id: I2d47b79d3fb2d29f418619bee83aa147d232a5d4
commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 12:01:32 2010 -0700
Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).
Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84
commit f4dec4c3899f3be393508e180d6c07e249d3335e
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 10:36:31 2010 -0700
More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks.
Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7
commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 08:23:39 2010 -0700
test code
Change-Id: I16560a17661407d06497f99ff88230724bb898af
commit 64d988b24f49f179a90fa677be11c823959e734b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 23 14:42:52 2010 -0700
First shot at supporting writing to an MPEG2 transport stream.
Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74
Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc