• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libstagefright/include/media/stagefright/
History log of /frameworks/av/media/libstagefright/include/media/stagefright/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
79c49ae0bdaaee24d7dc26b6658acfab27274b22 25-May-2018 Lajos Molnar <lajos@google.com> stagefright: pass HIDL backed persistent surface cross binder

Bug: 67591367
Change-Id: I20b70813a96c65822c35240448fafa9e5c749ae1
ersistentSurface.h
d3663c97fb8bd44877e07a753a12b838a780b69c 25-May-2018 Lajos Molnar <lajos@google.com> stagefright: allow plugin to create persistent input surface

Bug: 67591367
Change-Id: Iad90113513a19ecaefeb33c891a94265c93f59e9
odecBase.h
ersistentSurface.h
99745d1c3017e9ac25f8bb2c91cc47bb432d5248 15-May-2018 Chong Zhang <chz@google.com> Write Exif data block for HEIF files

Pass in Exif data block as a muxer data sample on each
image track. Add support in MPEG4Writer to write it out.

Allow grid to be used even when there is only 1 tile,
as some encoders can't encode very small images, using
grid allows them to encode in a supported size then apply
a crop to final size.

Also be more strict on esitmating the file level meta
size, since we now have to also reserve for Exif items.

bug: 79476308

Change-Id: I4b7d3af18cfb55a52f7218d9e7b6ad6f85f34343
PEG4Writer.h
ediaCodec.h
f97b081857e2dc5c1e448d4f60295ee28e29d049 10-May-2018 Lajos Molnar <lajos@google.com> stagefright: add SDK constants in MediaCodecConstants.h

Bug: 79493409
Change-Id: Iea9aaa80764c897e78263e2559a9a07dff46031d
ediaCodecConstants.h
4fdc4ce9d1a9d94801faf904ebf4f11e009fdec7 07-May-2018 Chong Zhang <chz@google.com> Support 10-bit YUV in color converter for thumbnails

Handle 10-bit source YUV in convertYUV420Planar(), drop to
to 8-bit and convert to RGB.

Also drop to 8-bit in SoftwareRenderer if the dataspace is
not BT2020 and PQ, in this case surfaceflinger will not
treat the buffer as Y410 and we have to send in YV12.

Bug:77892138

Test:
- Temporarily disable USE_LIBYUV in ColorConverter (force
convertYUV420Planar), test HEIF decoding to ARGB/RGB565 works
- Disable HW VP9 decoding in media_codecs.xml, push test clip
in bug and check playback as well as thumbnail in Photos.
- Check VP9 HDR playback in ExoPlayer with SoftVPX path enabled.

Change-Id: I8fd2a34c9d52a9a5b1160f42b7a6226d5c5f608c
olorConverter.h
b5d268eb3a68147bc562ddb74e471dbd345c5830 27-Mar-2018 Jean-Michel Trivi <jmtrivi@google.com> AAC decoder: add support for xHE & DRC effect type

Bug: 71430241
Test: CTS DecoderTest and DecoderTestAacDrc
Change-Id: I4d0b2948772fbbe6a22f2d5e436d795ac2bb45f3
Codec.h
79d2b28f3a04d7914bb932a65d87117c0c7c11cf 17-Apr-2018 Chong Zhang <chz@google.com> Request cpuset change for 1080p HDR using soft decoder

Keep track of cpuset change requests in ResourceManagerService,
and request changing of cpuset via SchedulingPolicyService.

Bug: 72841545

Test:

1)Using modified Youtube/Exoplayer (that uses softMediaCodec
to decode VP9 profile2), manually verify the following:

- media.codec is put into top-app cpuset playing VP9 1080p HDR
- media.codec is put back into foreground after done
- media.codec stays in foreground cpuset playing other content
- kill the app process, verify media.codec is put back to
foreground until new instances request top-app
- kill mediaserver process, verify media.codec is put back to
foreground until new instances request top-app
- kill media.codec process, starting playback again, verify new
media.codec's cpuset can be changed correctly
- kill system_server process (using 'adb shell stop &&
adb shell start'), verify media.codec is put back to
foreground. Restart playback and verify the cpuset can be
changed correctly.

2) CTS post submit tests

Change-Id: Iba50ede1c08b695821fe4f56dbfc5694eab54e7b
ediaCodec.h
deb14ec33bc481809b465959882736e2262b667a 06-Apr-2018 Chong Zhang <chz@google.com> Fix crash when OMX decoder returns wrong crop rect

When decoder returns wrong crop with zero width, height,
following crop rect calculation underflows. We need to
fail it properly.

Also, for HEVC, when profile is set to Main10/Main10HDR10,
verify if the decoder supports it before proceeding. Soft
HEVC doesn't handle 10-bit, it will skip the non-support
bitstream until the entire stream is consumed.

bug: 77583227
Change-Id: I9e46d5f54b10a3a46179e683f227acca9c7c5a30
Codec.h
ef3dbdbf730a1921aa387eec81f0cd0d46f9260b 05-Apr-2018 Dongwon Kang <dwkang@google.com> Merge "Add OnMediaTimeDiscontinuity notification" into pi-dev
01c5c9f4c7a71bf3ead90b5d7e8e679d930b4f02 22-Mar-2018 Ray Essick <essick@google.com> metrics on latency through codecs

track the latency for frames to go through the codec and return to the
caller. Provide min/max/avg/N information for the total and for the
last couple hundred frames. Histogram data is collected, but not yet
emitted.

Bug: 64022743
Test: dumpsys media.metrics
Change-Id: I954f0048997c8f65931c4faa678666eec59aaf86
(cherry picked from commit 44ecf0521fd4ed27089d88bad050f0430139d3ff)
ediaCodec.h
47afe0a1a6f37e7807a81acb21ef588aec0a3518 28-Mar-2018 Dongwon Kang <dwkang@google.com> Add OnMediaTimeDiscontinuity notification

Test: MediaPlayerTest
Bug: 63934228
Change-Id: I7efb58d00dc86b17b9d97775d1a2672e40e841d3
ediaClock.h
f334e17df4b8758e65923a17ae154a7bdbc6f07a 22-Mar-2018 Chong Zhang <chz@google.com> Merge "heif: report Exif offset and size in file meta" into pi-dev
01a7601f753fb80e89202fc0b115e263581fc3f4 15-Mar-2018 Chong Zhang <chz@google.com> heif: report Exif offset and size in file meta

bug: 73978990

Change-Id: I64e9b7e4535e7f1560e31f0302eeaf70db323dd7
uMediaExtractor.h
e1cf6e342df782fbd7e338ab81ef23b772a05465 16-Mar-2018 Wonsik Kim <wonsik@google.com> Move CCodec and c2.google.* components out of framework

Bug: 74403547
Test: builds
Change-Id: Ie45ea8ee0ec902483c7c299790a0b7bfa00b9618
Codec.h
odec2InfoBuilder.h
bc3ad96efdfca9ceaa5ff31b27f7571b32903fde 15-Mar-2018 Wonsik Kim <wonsik@google.com> Decouple libstagefright from Codec 2.0

And load CCodec as a plugin.

Bug: 74403547
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: adb shell setprop debug.stagefright.ccodec yes
Test: adb shell stagefright -S -N c2.google.avc.decoder /sdcard/a.mp4
Change-Id: I42f4a3d8dde0e1ae9fc2dbeab11be3dc3a8576fb
odec2InfoBuilder.h
odecBase.h
ediaCodecList.h
ediaCodecListWriter.h
mxInfoBuilder.h
3f21345e16b77c49042f5c13ceb62b0c35699561 15-Mar-2018 Chong Zhang <chz@google.com> save codec info during codec construction -- DO NOT MERGE

Save the codec info used to create the codec for use
when get caps is called.

bug: 74073607
Change-Id: Id12a5b96f5a00226f8cf1e71f32655a14aeac014
ediaCodec.h
ediaCodecList.h
816e5eb2e9f9f18e001bbf7eab36654a1db2b168 01-Mar-2018 Chong Zhang <chz@google.com> heif: omx image encoder changes -- DO NOT MERGE

bug: 74073607

Change-Id: I8809b70e60ae19dab0c3b6f5f7e951a4dc24e8d6
(cherry picked from commit f3fcd4e458acd908fe00cb175722d5a7260fd792)
Codec.h
bb644123966bfa2f44c60710faaafa8fa6f0e920 13-Mar-2018 Wonsik Kim <wonsik@google.com> DO NOT MERGE Separate libstagefright_{ccodec|codecbase} from libstagefright

Bug: 74403547
Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: I2f57f08a17f1a14d431dd6aa1904bf50d1c6c378
Codec.h
ediaCodec.h
dde4221a4bd289a85770cadba3d06661de255efa 13-Mar-2018 Robert Shih <robertshih@google.com> Merge "NdkMediaExtractor: add disconnect API" into pi-dev
08eb908098436ce8cc1faf0f009ced1a8fa32c9a 09-Mar-2018 Robert Shih <robertshih@google.com> NdkMediaExtractor: add disconnect API

Bug: 63934228
Change-Id: I89c57fae387958d204df9c736e89654868ee5941
uMediaExtractor.h
a1a005fc01118685c92e723c8dcf7afeffc9d59c 06-Mar-2018 Marco Nelissen <marcone@google.com> Remove 6 out of 8 RefBase references from mkv extractor

Bug: 67908544
Test: CTS DecoderTest
Change-Id: I04b6cda83861e70f1de70abc671dd791327be159
(cherry picked from commit ba1f0ab5ce8aa3a96578f6fb372d28d56a687aef)
etaDataUtils.h
d8c248902cd7f58d6fa909dd4adb24a0532aa577 12-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "heif: fix rotation info writing" into pi-dev
56eab8ec67058fe06d6014c56600021e2b965c9e 09-Mar-2018 Chong Zhang <chz@google.com> heif: fix rotation info writing

bug: 63633199

Change-Id: I7095c87e109f979a6df9b137e6c961b3e2314237
PEG4Writer.h
ae9e2acb4847594ef9747264f5d092d8fa251119 01-Mar-2018 Wonsik Kim <wonsik@google.com> CCodec: fix corner cases

- Catch invalid createInputSurface requests.
- Move buffer allocation from setComponent() to start().
- Reset input surface at stop().
- Ignore flushed work.

Bug: 74073134
Test: adb shell setprop debug.stagefright.ccodec yes
Test: adb shell setprop debug.stagefright.omx_default_rank 1000
Test: adb shell killall mediaserver
Test: atest android.media.cts.MediaCodecTest
Change-Id: If95d3050e14fa9592d7eff4136a57326008455a0
(cherry picked from commit e1c3b395209f2c03a290bf0c91c4d96dff5edf00)
Codec.h
c2c0aabfef24cbf48cdf6755f8627386971abdd3 27-Feb-2018 Dongwon Kang <dwkang@google.com> Merge "Revert "Remove IDataSource dependency from DataSource.""
4c96b75c87bc3f8dd2da7f76b08a81333b43ce22 26-Feb-2018 Marco Nelissen <marcone@google.com> Merge "Remove RefBase from the extractor API"
78165d3f45797079b06c876042b9b78039378121 24-Jan-2018 Wonsik Kim <wonsik@google.com> codec2: list c2.* components in MediaCodecList

- Set proper media type for component interface and read them in
CCodec instead of current hack.
- Define debug.stagefright.omx_default_rank to override default OMX.*
rank value (currently set to be preferred over c2.*)
- Move MediaCodec::CreateByType logic from ACodec to MediaCodec.

Test: am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Test: setprop debug.stagefright.ccodec yes
Test: killall mediaserver
Test: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.MediaCodecListTest
Change-Id: I55bd10d2d8c65867eae654e5bd64ef545689e699
Codec.h
odec2InfoBuilder.h
ediaCodec.h
ediaCodecList.h
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/libmediaextractor/include/media/stagefright/MetaDataBase.h
nterfaceUtils.h
etaDataUtils.h
emoteMediaSource.h
e885915204f252c93a072ba1a8802f5811e40b3d 15-Feb-2018 Marco Nelissen <marcone@google.com> Removed unused class and its test

SurfaceMediaSource wasn't used by anything except its test.
Test: build

Change-Id: Ibd2a01a6b380ccc5682d4311e28b97b241b423c1
urfaceMediaSource.h
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
emoteMediaExtractor.h
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/libmediaextractor/include/media/stagefright/MediaBufferBase.h
udioPlayer.h
udioSource.h
allbackMediaSource.h
ameraSource.h
ameraSourceTimeLapse.h
PEGSource.h
ediaAdapter.h
ediaCodecSource.h
uMediaExtractor.h
emoteMediaSource.h
impleDecodingSource.h
urfaceMediaSource.h
6969da62b068aff2aee650d57590532f8fc8de69 13-Feb-2018 Dongwon Kang <dwkang@google.com> Revert "Remove IDataSource dependency from DataSource."

This reverts commit 514674257ef6954a7479ac93a26a07061f54462d.

The original change Iaba6d9be is no longer needed since we
separated out DataSourceBase from DataSource. Now, DataSource
may have a method relying on a class from libmedia, IDataSource.

Test: checked the correct wrapping path with 'dumpsys media.extractor'
Bug: 72869975

Change-Id: Ib0d5ca863fa70a4a96f97b3377c209e1f288f443
ediaExtractorFactory.h
emoteDataSource.h
57c91e1e527e271fb8fc385d672922c4c8261424 13-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove String8 and AMessage from extractor plugin interface."
6c17751f5f85303e4300b11a716d2c7e009a1452 13-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I7ea9f150,Idd98a522

* changes:
CCodec: Episode VI --- Set Persistent Surface
CCodec: isolate input surface buffer passing from CCodec
c91ac47d242dc269f342edb470d738447fe25486 13-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Ndk wrapper: wrap new Ndk datasource/extractor APIs"
d4faf9e7cec12cf85e5901e81b7e05301012351c 22-Jan-2018 Robert Shih <robertshih@google.com> Ndk wrapper: wrap new Ndk datasource/extractor APIs

Bug: 63934228
Change-Id: Id6200b5b5be3c7fa22cfb0233f749fc0e8ef2bc4
dkUtils.h
dc31017ea51ee7ba0db2068f82305eb86e2967a2 31-Jan-2018 Wonsik Kim <wonsik@google.com> CCodec: Episode VI --- Set Persistent Surface

- Implement CCodec::setInputSurface().
- Introduce InputSurfaceWrapper to handle both IInputSurface and
IGraphicBufferProducer.
- Create C2OMXNode to wrap codec 2.0 component in IOMXNode, so that
it can be used in IGraphicBufferPrdoucer::configure().

Test: setprop debug.stagefright.ccodec yes
Test: screenrecord --codec-name c2.google.avc.encoder /sdcard/record.mp4
Test: screenrecord --persistent-surface --codec-name c2.google.avc.encoder /sdcard/record.mp4
Change-Id: I7ea9f150ae06996f03a78645d6e748d265b975df
Codec.h
0fa28dcc1198d14b6bf34fb673c5603d225bcba5 26-Jan-2018 Wonsik Kim <wonsik@google.com> CCodec: isolate input surface buffer passing from CCodec

Input surface implementation now live in pseudo-HIDL implementation.

Test: setprop debug.stagefright.ccodec yes
Test: stagefright -S -N c2.google.avc.decoder /sdcard/a.mp4
Test: stagefright -ao -N c2.google.aac.decoder /sdcard/a.mp4
Test: audioloop -N c2.google.aac.encoder -M audio/mp4a-latm
Test: screenrecord --codec-name c2.google.avc.encoder /sdcard/record.mp4
Change-Id: Idd98a522ae9e38eefa005d08fd64f804e53c05d9
Codec.h
82832ceb96670bf95013c7b42e22f32f58050131 27-Jan-2018 Wonsik Kim <wonsik@google.com> Move WGraphicBufferProducer from omx to bqhelper

In addition, make TWGraphicBufferProducer a template so that it can
inherit from any descendants of IGraphicBufferProducer so that it's
possible to avoid diamond inheritance while reusing the
implementation.

Test: adb shell am instrument -e size small -w 'android.media.cts/android.support.test.runner.AndroidJUnitRunner'
Change-Id: Iad5479735af1ae83f2175b1968a3e040d77a3bc0
Codec.h
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
ediaExtractorFactory.h
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
nterfaceUtils.h
ediaExtractorFactory.h
emoteMediaExtractor.h
4b8dbfc9e85ca7c2cc4acdcddca997f197fee718 01-Feb-2018 Lajos Molnar <lajos@google.com> Merge changes from topic "c2-more-adjustments"

* changes:
Codec2/AUtils: rename nom to num for 'numerator'
Codec2: C2ParamDescriptor fixes
Codec2: use std::list only for C2Work/C2Worklet
Codec2: codec2_vndk is now a shared lib, plus, add internal headers
54f957b1d0ee1050218bb1f7569afa1d0b5cae91 01-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support query active microphones in MediaRecorder."
d18270d1909765938524df171913283549091184 01-Feb-2018 Lajos Molnar <lajos@google.com> Codec2: use std::list only for C2Work/C2Worklet

Use std::list for these as these are managed in lists.
onWorkDone now returns std::list<C2Work>
SettingsResult now contains std::vector<C2ParamFieldValues>
C2WorkOutline now contains std::vector<c2_node_id_t>

Bug: 64121714
Change-Id: Ibda75aad004be542c960cd190e19c168c5e3f724
Codec.h
7dc218e17800cc3ac95551e3280820f407adf7b5 29-Jan-2018 Dongwon Kang <dwkang@google.com> Move MetaData from foundation to libmediaextractor

Test: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg
Change-Id: I2c5e05f83f039813cb4c862e929315e623d5d7fa
CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice
Bug: 67908544
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
etaDataUtils.h
84415e084da7a7f8af8984cc603b04b209fca1f8 27-Jan-2018 Dongwon Kang <dwkang@google.com> Use forward declaration for Parcel in MetaData.h

C2SoftAvcEnc.h and FrameDecoder.h were updated since they
were using stl by relying on Parcel.h which was included
in MetaData.h.

Test: build
Bug: 67908544
Change-Id: I992aefdc137a23b34f07e29be72e2a38bd7ac36a
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
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
nterfaceUtils.h
emoteMediaSource.h
7d880c31d2079299000b036c6ae742dc695a5b19 25-Jan-2018 Marco Nelissen <marcone@google.com> Remove RefBase from MediaExtractor

Bug: 67908556
Test: build, boot

Change-Id: I9cc0f1bdb89c2da52f89a28471d4b86f30500abb
nterfaceUtils.h
emoteMediaExtractor.h
emoteMediaSource.h
609850df59219845a8c4ebe18a2687447ea570cc 23-Jan-2018 jiabin <jiabin@google.com> Support query active microphones in MediaRecorder.

This is part of device enumeration. With the new add API, developer
could get the active microphones information for each channel.

Bug: 64038649
Test: Run cts and check the print log.
Change-Id: I01941d8d1ca0f49d0af48210ef8b1149de31676a
udioSource.h
49ce671c4efa4c5d038351ca441e34c5afa5241f 24-Jan-2018 Dongwon Kang <dwkang@google.com> Remove unused includes and forward declarations in libmediaextractor/include

Test: make checkbuild
Bug: 67908556
Change-Id: If840305af5c043bb8014590eb208cf11c99e61ee
allbackMediaSource.h
nterfaceUtils.h
ediaExtractorFactory.h
emoteMediaExtractor.h
bc8f53b8c1c220d9ce01526b6e3834f14af98ed5 26-Jan-2018 Dongwon Kang <dwkang@google.com> Revert "Revert "Move MediaBufferXXX from foundation to libmediaextractor""

This reverts commit 95a8bfab98a73a75eb60ecf2cc8683f4a1f04b35.
Plus, keeps 'virtual' keyword for ~MediaBuffer which has a child class.

Test: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg
CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice
Bug: 67908542
Change-Id: Ib94d574d6bbd6245c174dd1c9bcca379015724cc
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
6e075b43b0ba324a97fc0f89ef65196ed25be671 26-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Move MediaBufferXXX from foundation to libmediaextractor""
dd6c17fb1a409f1f0797ca76541957ccdfd07e7c 22-Jan-2018 Robert Shih <robertshih@google.com> NuMediaExtractor: add sample size API

Bug: 63934228
Change-Id: I3229cc9ca6abba06367de3ac0797a5e1255bba77
uMediaExtractor.h
4b780702948d19caef60617666c69b6d7f64aa29 25-Jan-2018 Dongwon Kang <dwkang@google.com> Revert "Move MediaBufferXXX from foundation to libmediaextractor"

This reverts commit f03606d9034730bea1a394e6803f9ebc36f3d2eb.

Test: build and plays the file attached in the bug.
Bug: 72479511
Change-Id: Ifdb8225a7140480649cecd52668ac7dcdd489252
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
047b5872d4278ee0426db3ba78d0f3fefabaaabd 25-Jan-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "hdr: fix dataspace range"
227d7bd4a05039a06db70513c55e0b658a2eb86a 25-Jan-2018 Chong Zhang <chz@google.com> Merge "stagefright: handle constant quality mode"
5343bc86119430e55fe43e132242291a74164f27 24-Jan-2018 Chong Zhang <chz@google.com> hdr: fix dataspace range

Only set range to rull range when converting to rgb.

bug: 64227585
Change-Id: I001fe4a56a0074251a25459d72dd7a69b16a5be3
olorConverter.h
3184abdd4f164cbc66221818db1243399d20cfa0 23-Jan-2018 Wonsik Kim <wonsik@google.com> CCodec: Episode III --- Video Encoding

- Implement createInputSurface()
- Handle RGB format in C2AllocatorGralloc
- Define picture type mask and handle it
- Process onWorkDone_nb() callbacks in a separate thread
- Add an unofficial option to take component name directly in screenrecord
- Force array mode for allocation latency; to be removed once proper
buffer pool is in place.

Test: setprop debug.stagefright.ccodec yes
Test: stagefright -S -N c2.google.avc.decoder /sdcard/a.mp4
Change-Id: Iba225350e2eb2a1e6f4d45a02628d0f7ba188df3
Codec.h
456dec2be004ef90fb271d413f3bd26b39de0487 23-Jan-2018 Chong Zhang <chz@google.com> stagefright: handle constant quality mode

Handle constant quality mode from MediaCodec, and pass the
quality to encoder.

bug: 63633199
Change-Id: I4183e44bb5c11b7bd93ce7ade1859e6f774b97fd
Codec.h
254d783c0db9d7af6b863ad1819f5c4a543a939d 24-Jan-2018 Dongwon Kang <dwkang@google.com> Merge "Move MediaBufferXXX from foundation to libmediaextractor"
f03606d9034730bea1a394e6803f9ebc36f3d2eb 24-Jan-2018 Dongwon Kang <dwkang@google.com> Move MediaBufferXXX from foundation to libmediaextractor

Removed MediaBufferBase in favor of MediaBufferHolder
which contains a MediaBuffer inside. Instead of set/getMediaBufferBase,
now it set/finds MediaBufferHolder in ABuffer->meta().

Test: build. pass MediaPlayerDrmTest and EncodeDecodeTest.
Bug: 67908542
Change-Id: Icb4f7ac350a7876f5e4596bae8be2a9e95956c2f
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
eba88ebd6b59b5380acd2bffa5946835d8e57ced 23-Jan-2018 Marco Nelissen <marcone@google.com> Restrict access to MetaData parceling functions

Only the MediaExtractor and MediaSource binder classes should be using these.
Bug: 67908544
Test: build

Change-Id: I36aa8f4eca1ae4cc5a09fbdb64405c88fb91234f
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
389f0fe447df97005a35e33bde1c6ab386e8bc2b 23-Jan-2018 Marco Nelissen <marcone@google.com> Hide MetaData internals

Bug: 67908544
Test: build, boot, record and playback video
Change-Id: I9d76bf3613c73d7680faf4419e11fbe638605951
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
ab7429b4cec5e619f0ed77d13363da4167212874 23-Jan-2018 Marco Nelissen <marcone@google.com> Merge "Remove unnecessary includes and forward declarations"
74065036f03cb9f96acb43c6e4f105ec91132395 23-Jan-2018 Marco Nelissen <marcone@google.com> Remove unnecessary includes and forward declarations

Bug: 67908544
Test: build
Change-Id: I824625940ba562571b16ed21e351ee17807d7d30
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
ACWriter.h
MRWriter.h
PEG4Writer.h
ediaCodecSource.h
ediaWriter.h
tils.h
767456dfce275fbe2d0bea227c271fcbd4c5be19 20-Jan-2018 Dongwon Kang <dwkang@google.com> Load system extractor plugins from /system|vendor/lib[64]/extractors.

Plugins will be placed under /system|vendor/lib[64]/extractors and the
device will include a stub MediaComponents apk for later update.

Test: boots and play mp4 files
Bug: 67908547
Change-Id: I5ab30093d9dd50324ba327baa8270a204e10f8a5
ediaExtractorFactory.h
c96ca4397cca129afd6b111f61f98dcfc2c1e3a7 19-Jan-2018 Marco Nelissen <marcone@google.com> Show list of loaded extractors in dumpsys

Bug: 67908547
Test: build, boot, dumpsys
Change-Id: Ib398dd000979b6b5d85db5e446946c0c8ded1793
ediaExtractorFactory.h
e18835269d8e875297603d889b3f928a13f93d6c 18-Jan-2018 Chong Zhang <chz@google.com> Merge "hdr: enable VP9 profile2 in SoftVPX"
2d2a2967ce29281816b9ddb9434b3c0084e4ce52 27-Oct-2017 Chong Zhang <chz@google.com> hdr: enable VP9 profile2 in SoftVPX

- enable highbitdepth in libvpx use 16bit for 10-bit YUV

- hook up metadata retrieval in SoftVPX

- send metadata to native window

- pack 10-bit YUV into RGBA_1010102 format in soft renderer

bug: 64227585

Change-Id: Id900a1a8ee5cc2e5c19eef0f46419ad9b8eb587b
Codec.h
olorConverter.h
urfaceUtils.h
3e6d245e154f8a382fd88529c2572d1117685511 30-Jun-2017 Dongwon Kang <dwkang@google.com> Load extractor libs directly from update APK

Test: play MP4 file. install and uninstall media update apk.
Bug: 67908547
Change-Id: I80c7772e25ba010be468834ce238f0fb86bc8d14
ediaExtractorFactory.h
5e1897bbd25d8353d9567b746ce50d4b80d30564 30-Jun-2017 Dongwon Kang <dwkang@google.com> Keep the in-use extractor plugins when updating.

To track usage of extractors and close the so handle when they are
destroied, MediaExtractorPlugin/RefBase class is introduced.

Test: play MP4 file. install and uninstall media update apk.
Bug: 67908547
Change-Id: I24926f943bc7247627e62d38edafd13d9c305a51
nterfaceUtils.h
ediaExtractorFactory.h
emoteMediaExtractor.h
emoteMediaSource.h
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
emoteMediaExtractor.h
307f6056aea8f2ec98e7451742e307d2fc7acb35 22-Nov-2017 Dongwon Kang <dwkang@google.com> Remove unused MediaSource::setBuffers

Originally added with Ie03b285265099db, but the use case was gone with
OMXCodec.

Test: make checkbuild
Bug: 67908542
Change-Id: I6c4953126ab80f876a6dca258e112bb2eaee440d
allbackMediaSource.h
emoteMediaSource.h
impleDecodingSource.h
3d2c309be468a0a66fad3a6dd35525bf059a35ac 19-Dec-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unused methods in Media(Source|Buffer)"
bfe745ef567329ab42e2533dce6c213a26c707b4 19-Dec-2017 Dongwon Kang <dwkang@google.com> Merge "Remove unused code DataSource::getDrmInfo"
92541a351d8c5ca6aa0c1b3b0d40023ff2385645 16-Dec-2017 Dongwon Kang <dwkang@google.com> Remove unused code DataSource::getDrmInfo

The method in question was added in I4b9ef19 with DRMExtractor.
The only use case of getDrmInfo(), in DRMExtractor, has been removed
with I4dd3f07ca.

Test: build. post commit media cts test.
Bug: 65851881
Change-Id: Ieb4d9d36c74efcfbfe690bcd09e1cd7e08ee3f1a
ileSource.h
ediaHTTP.h
573ebe40b005690f797ac4d90ed1ff49f9fdb2b7 12-Dec-2017 Ray Essick <essick@google.com> dump state string vs state number

for media.metrics codec errors, we want to dump the string
(e.g., "RUNNING") instead of a numeric value "4". This is easier
to consume AND is robust in the face of any changes to the
numeric values of the states.

Bug: 70525617
Test: manual
Change-Id: Ic0c8a9b6e77f33dad0a9738077355287e882d6a0
ediaCodec.h
514674257ef6954a7479ac93a26a07061f54462d 08-Dec-2017 Dongwon Kang <dwkang@google.com> Remove IDataSource dependency from DataSource.

The logic for requesting file data source to media extractor service
moved to MediaExtractorFactory from GenericSource.

Bug: 65851881, Bug: 63934228
Test: MediaCts post commit tests
Change-Id: Iaba6d9bec560f0cd8a826f47d74bf491a34c83e9
ediaExtractorFactory.h
emoteDataSource.h
fde0931ffe3ceeb06bb61f90a4289691da9380a8 07-Dec-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Stagefright: remove binder dependency on IMediaHTTP*"
73feb8cda587e02f1ff68095b17d47e1d6e37c70 05-Dec-2017 Wei Jia <wjia@google.com> Stagefright: remove binder dependency on IMediaHTTP*

use non-binder version of MediaHTTPService and MediaHTTPConnection in
source related components
Test: media continuous CTS tests
Bug: 63934228
Change-Id: Icfc0b18eb3dfadb8d94979e398a9b94c062c62ed
ataSourceFactory.h
ediaHTTP.h
uMediaExtractor.h
4f87426e12f5f12e0724519e77f8237a6b2d5dac 13-Sep-2017 Wonsik Kim <wonsik@google.com> CCodec: Episode I --- Barely Decoding Video

- Implement CCodec and CCodecBufferChannel: video decoder only
- Modify stagefright command line tool to take component name
- Fix C2SoftAvcDec around EOS and flush

Bug: 69376489
Test: setprop debug.stagefright.ccodec true
Test: stagefright -S -O codec2.google.avc_decoder /data/local/tmp/a.mp4
Change-Id: I36d5f476099b5c055c0be0244e99bdf9dd28441e
Codec.h
odecBase.h
ediaFilter.h
impleDecodingSource.h
fec2f93fae282ad10bbb5e3fcce9f60eff2cfb48 24-Oct-2017 jiabin <jiabin@google.com> Add AudioRouting interface in AudioRecorder.

Bug: 64038649
Test: Run cts in RoutingTest
Switching input device when using MediaRecorder

Change-Id: I53f22974f8c3dacaef6044ea742e62951961c1fd
udioSource.h
2efe43d3a8fa1dcc6d1253baafb09b3d6e71329a 22-Nov-2017 Dongwon Kang <dwkang@google.com> Remove unused methods in Media(Source|Buffer)

Test: make checkbuild
Bug: 67908542
Change-Id: I56346f75a8c5f87b7090c02e6248fedcd5a19cf9
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
720e24cfe430e1719c5defb9a1f41a6b63b02eaf 21-Nov-2017 Chong Zhang <chz@google.com> heif: renaming MPE4Writer in-memory cache related variables

After previous patch, in-memory cache is used for both moov
and file-level meta. No functional change.

bug: 63633199

Change-Id: I56c91a28a25867e0fd75c4d8f33f7485a5dacf02
PEG4Writer.h
1d5f93d24444ded52a0daf36cb8471a38c88638f 22-Nov-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "heif: add muxer support for adding still images"
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
PEG4Writer.h
ediaMuxer.h
e7b894297aebc24939ddfa632ea3dd2d405d9f93 17-Nov-2017 Pawin Vongmasa <pawin@google.com> Remove dependency on non-Treble OMX

This essentially reverts commit ba40190c5e8d9bfe5b814984c6861809fea064bd,
which was made originally for b/69110957.

The change in addition to reverting is the reordering of calls in
main_codecservice.cpp. This CL makes the call to SetUpMinijail() come
before the call to ProcessState::self()->startThreadPool().

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Test: make vts -j123 && vts-tradefed run commandAndExit vts \
--skip-all-system-status-check \
--skip-preconditions -m VtsHalMediaOmxV1_0Host \
-l INFO

Bug: 67990472
Change-Id: Ic62acf3ae1aa3f9249e5c3ce542fb4f95689704e
Codec.h
MXClient.h
ba40190c5e8d9bfe5b814984c6861809fea064bd 17-Nov-2017 Pawin Vongmasa <pawin@google.com> Revert "Revert "Revert "Remove unused modules made for non-Treble OMX"""

This reverts commit 620e4667dc41e17e365615fda4507fa9f7267ca0, which was
made originally for b/67990472.

Bug: 69110957
Codec.h
MXClient.h
620e4667dc41e17e365615fda4507fa9f7267ca0 27-Oct-2017 Pawin Vongmasa <pawin@google.com> Revert "Revert "Remove unused modules made for non-Treble OMX""

This reverts commit 85e88d9b45d4a9b0b012f81ac068d216f588caac.

Also, this fixes the crash that would happen on devices that do not have
full Treble enabled.

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Test: make vts -j123 && vts-tradefed run commandAndExit vts \
--skip-all-system-status-check \
--skip-preconditions -m VtsHalMediaOmxV1_0Host \
-l INFO

Bug: 68340092
Bug: 67990472
Change-Id: I6d96cecb8eaa8691c4c0f15fe0c8e60d0c74b440
Codec.h
MXClient.h
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/libmediaextractor/include/media/stagefright/MetaData.h
1d8e458f0e816a6bee5f75a7fcd4cf503ab8d7c7 07-Oct-2017 Wei Jia <wjia@google.com> NuMediaExtractor: support track switch

Also use optimized readMultiple to reduce binder calls.
Test: MediaExtracotr cts tests passed
Bug: 66952371

Change-Id: I669a9613baa73c56c0077a09b0a4caba55a17e95
uMediaExtractor.h
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
udioPlayer.h
udioSource.h
allbackMediaSource.h
ameraSource.h
ataSourceFactory.h
ataURISource.h
ileSource.h
nterfaceUtils.h
PEGSource.h
ediaAdapter.h
ediaCodecSource.h
ediaExtractorFactory.h
ediaWriter.h
uMediaExtractor.h
emoteDataSource.h
emoteMediaExtractor.h
emoteMediaSource.h
impleDecodingSource.h
urfaceMediaSource.h
04ce1be860b40e18ca7f5fdf64ecb82567d7fe24 17-Oct-2017 Dongwon Kang <dwkang@google.com> Clean move of files to keep the git history

Test: No. This is just intrim change. Build will be fixed by
the following change.
Bug: 65851881

Change-Id: I8285b3b79eeaf76fadc2242c71e999434f467c12
ataSource.h
ediaExtractor.h
ediaSource.h
284aa3014feb77fc89143caa00fc8f31c1300f0f 07-Oct-2017 Pawin Vongmasa <pawin@google.com> Fix dependency on IOMX in OMXClient.h

Change-Id: I5bc970c770f6e603b2e1cf27a705fdf7fe266329
MXClient.h
e7a8a637a019d67983bdc858ba5e879431619d5a 09-Oct-2017 Dongwon Kang <dwkang@google.com> Move MediaDefs from libmedia to libstagefright_foundation

This is needed to remove the libmedia dependency from extractors.
Other remaining dependencies like IMediaSource::ReadOptions will be
addressed with a separate change.

Test: build
Bug: 65851881
Change-Id: I4460e960360db4847a0784732accd0cfe28a9ec0
ediaDefs.h
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
tils.h
75226177f20a176d50e3e53bbb34067cb49112c3 16-Nov-2016 Marco Nelissen <marcone@google.com> Make extractors separate libraries

instead of being integrated into libstagefright

Test: thoroughly
Change-Id: I11cdfde6d2daf248c8e0f99237db1c74be260eb0
ediaExtractor.h
17648f365e5914fa772bbfebaf9f5c6a37ddfb99 19-Sep-2017 Wei Jia <wjia@google.com> NuPlayerRenderer: use timer for video rendering

MediaClock: timer can be adjusted by system time offset
Test: plays many media files
Bug: 65204641
Change-Id: Icd73a06d9b2fe720224ed951db94136f399d82f8
ediaClock.h
7145cfd45b7b62fd18e116e66a39d0bd019a7372 22-Sep-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove direct dependency on libbinder from extractor impls"
ba8128f9db82da66f28c6e6740d4721d80da954e 08-Aug-2017 Dongwon Kang <dwkang@google.com> Remove direct dependency on libbinder from extractor impls

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
ACWriter.h
MRWriter.h
udioPlayer.h
allbackMediaSource.h
PEG2TSWriter.h
PEG4Writer.h
ediaExtractor.h
ediaSource.h
ediaWriter.h
emoteMediaExtractor.h
emoteMediaSource.h
impleDecodingSource.h
e25f3e5cae0f60846f8a17663b6610825649375d 21-Sep-2017 Ray Essick <essick@google.com> Merge "add media.metrics tracking of fatal codec errors" into oc-mr1-dev am: 086926cc05
am: 9de9236d57

Change-Id: Ia3468428b29dd1ca84dc37115cff6052c1e90a3c
9de9236d5707e801458f22c619665ea8c072e016 21-Sep-2017 Ray Essick <essick@google.com> Merge "add media.metrics tracking of fatal codec errors" into oc-mr1-dev
am: 086926cc05

Change-Id: Iea4fe8c5f61d7e308b2fd493af28b2f489fa9b8e
82b7fe8aa03558bf90769a3d88536e6105db371b 19-Sep-2017 Ray Essick <essick@google.com> add media.metrics tracking of fatal codec errors

add error code tracking to media metrics records for codecs.
So we can learn what's going wrong (bad data, chopped data, bad code,
etc).

Bug: 65250664
Test: ran good/bad media through codecs, read 'dumpsys media.metrics'
Change-Id: Ia46bdff865fb6c965f669e4189c7be5dbc1598fe
ediaCodec.h
7eaae5b788b37f5e19ca9b03d79ef32bd8b0df8a 18-Sep-2017 Martin Storsjo <martin@martin.st> Merge "Remove a stale, unused header" am: d6a74eb9e0 am: 0a083987ff am: e4275ffc6e
am: 1757e7b74d

Change-Id: I7d3183b60a4ae0507c8dcac87a988043b1814d5a
1757e7b74d1ffc1d004c7c6546e064447d0a12bf 18-Sep-2017 Martin Storsjo <martin@martin.st> Merge "Remove a stale, unused header" am: d6a74eb9e0 am: 0a083987ff
am: e4275ffc6e

Change-Id: I58beae5c5ab302301c767c5a3da0aa2278326d10
0a083987ff75fc90dc86663666a4747172d32742 18-Sep-2017 Martin Storsjo <martin@martin.st> Merge "Remove a stale, unused header"
am: d6a74eb9e0

Change-Id: I00b92b66b1d358f0406fdb6e0a8b1b9c1d7947f1
d6a74eb9e0ca49ca53c6d12a96d9f376583d21d7 18-Sep-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Remove a stale, unused header"
e8a88b1b0522d1fc761a449cbe9356a0c52cb851 08-Sep-2017 Chong Zhang <chz@google.com> Merge "stagefright: explicitly release extractor in StagefrightMetadataRetriever" into oc-mr1-dev am: 0faac73f3f
am: 27bb975140

Change-Id: I89fd791144eb3bd3992102a48a444df5c637ed64
0faac73f3fc3a5327675507fb28dffe0425b8bce 08-Sep-2017 Chong Zhang <chz@google.com> Merge "stagefright: explicitly release extractor in StagefrightMetadataRetriever" into oc-mr1-dev
4c6398b1f8f0525c9ff9a53484b3b9b601bca35b 08-Sep-2017 Chong Zhang <chz@google.com> stagefright: explicitly release extractor in StagefrightMetadataRetriever

Extractor dtor on media.extractor side happens asynchronously with the
dtor of StagefrightMetadataRetriever. If the extractor calls back into
the DataSource after mediaserver side released the reference to it, the
binder transaction could get stuck.

Adding an explicity release() and call it before StagefrightMetadataRetriever
continues to destruct the DataSource. Only implement it for MPEG4Extractor
to avoid impacting other extractors at this stage.

Also adding some code to aggressively release the extractor and data
source in HeifDecoderImpl to free up memory.

bug: 65463215

Change-Id: I84c442a1e010dd37a976af5453a353e43f672e22
ediaExtractor.h
c74217673708b2efba97301b1c4455b8fd872a7f 07-Sep-2017 Lajos Molnar <lajos@google.com> Merge "Implement IOmxStore"
7b6f67d18a4a4e94fddb836de1176b609968643a 25-Aug-2017 Wei Jia <wjia@google.com> MediaClock: add timer

Test: compiles
Bug: 65204641
Change-Id: Id80a41481255a8f8a9adce40cf10f629f996c6aa
ediaClock.h
cbdeea977b79c41910b004cffcb80d81265853e8 27-Jul-2017 Pawin Vongmasa <pawin@google.com> Implement IOmxStore

Separate out MediaCodecsXmlParser and implement IOmxStore and IOMXStore.

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Test: make cts -j123 && cts-tradefed run cts -m \
CtsMediaTestCases -t android.media.cts.MediaCodecListTest

Bug: 37657124

Merged-In: I8c5a3a8fe6defab4f17c8a49bce57452879193dc
Change-Id: I8c5a3a8fe6defab4f17c8a49bce57452879193dc
Codec.h
odecBase.h
rameRenderTracker.h
ediaCodec.h
ediaCodecList.h
MXClient.h
mxInfoBuilder.h
fbe70ae7f251d159ed83ab61587a88003f20d44b 27-Jul-2017 Pawin Vongmasa <pawin@google.com> Implement IOmxStore

Separate out MediaCodecsXmlParser and implement IOmxStore and IOMXStore.

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice

Test: make cts -j123 && cts-tradefed run cts -m \
CtsMediaTestCases -t android.media.cts.MediaCodecListTest

Bug: 37657124

Change-Id: I8c5a3a8fe6defab4f17c8a49bce57452879193dc
Codec.h
odecBase.h
rameRenderTracker.h
ediaCodec.h
ediaCodecList.h
MXClient.h
mxInfoBuilder.h
06e98369b3db1d5d93d582d4d5b49c9d2a3ae455 15-Aug-2017 Lajos Molnar <lajos@google.com> CodecCapabilities: advertise constrained profiles for decoders

Also, use a SortedVector in builder to prevent duplicates for both
colors and profile/levels.

Bug: 64691727
Change-Id: I7a70f8e39fab9c9c139f3de421b916ada32e3a8b
Codec.h
6ec6a109df033925554ac2e5f3c9de085864989c 24-Aug-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MPEG4Writer: Save container metadata during switching file output" into oc-mr1-dev
ee079fe295c41f89c2ac6316e99ee10847fb78fd 23-Aug-2017 Chong Zhang <chz@google.com> heif: fix decoding of image size different from full tiled area

Bug: 64077740

Change-Id: I57ee7e1bc05e320be723d224b9328526543cad25
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
5ba45163872df39427cf18b3d640e1cd26c228bb 14-Aug-2017 Hangyu Kuang <hkuang@google.com> MPEG4Writer: Save container metadata during switching file output

Bug: 63090931
Test: Slow motion recording to exceed file size limit and check the recorded files.
Change-Id: Iae8f183de6159572b1012fde18fbca0bc3996dd1
PEG4Writer.h
b51ca280e6aaace44ec1d80837439b825c6fce82 27-Jul-2017 Chong Zhang <chz@google.com> stagefright: add HEIF support

- add HEIF support in MPEG4Extractor.

- decode HEIF image or tiled image in StagefrightMetadataRetriever's
getFrameAt() api and convert to requested color format.

bug: 64077740

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

Change-Id: Id4b26f1584ca6219073ffb0167f208e1c3bf8aa2
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
ataSource.h
026d520295b52d136a6962a05882a696fe620725 26-Jul-2017 Chong Zhang <chz@google.com> stagefright: misc preliminary fixes for HEIF support

- Support 32bit RGB in ColorConverter.

- Allow dst crop to be not the entire dst frame buffer.

- Also has a minor fix in CallbackDatasource to use left over
cache first before reading from source. This helps to reduce
backward reads to the source.

bug: 64077740

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

Change-Id: Ia7bdb9a48b27a312af7cbe4a97f14382a8cb6278
olorConverter.h
tils.h
255735a38b9d5c3755c7b819bdc8fdaf4357d860 19-Jul-2017 Pawin Vongmasa <pawin@google.com> Organize header dependencies

Header files that are exported are moved to a specific place for
exporting.

Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice
Bug: 63821829

Change-Id: Ia578e3c0dd1ff157335b3a49af896acb922586e8
ameraSource.h
urfaceMediaSource.h
8fc2dcfa375bbdd4133cfbb3ec1b2c41866c912a 01-Jul-2017 Hangyu Kuang <hkuang@google.com> Merge "Revert "Revert "media: Globaly adjust timestamp to make sure all tracks' time are align""" into oc-dr1-dev am: 6ec18f8ce3
am: be2a4194a3

Change-Id: I5d977739b936fb6796ae90b1208655536a32fa1b
230b680d02e32898d90bddabe27295b753f9fbb3 30-Jun-2017 Hangyu Kuang <hkuang@google.com> Revert "Revert "media: Globaly adjust timestamp to make sure all tracks' time are align""

Test: Video Recording.
This reverts commit 59f57541aee1221dd552a202c8a35d799d34979c.

Change-Id: I38e6252743235900d0cff3408d8f7f4690a2ae77
PEG4Writer.h
8b43fd31a39afd8365243f175d1b98f4b79c0a21 29-Jun-2017 Zhijun He <zhijunhe@google.com> Merge "Revert "media: Globaly adjust timestamp to make sure all tracks' time are align"" into oc-dr1-dev am: 5f1b1e7c18
am: 27ee1373f2

Change-Id: I5685dd9c1cb773ef28c22da2b857b7abf571998f
59f57541aee1221dd552a202c8a35d799d34979c 29-Jun-2017 Zhijun He <zhijunhe@google.com> Revert "media: Globaly adjust timestamp to make sure all tracks' time are align"

This reverts commit 40855085232566727e31de1ca8199275c6e2b393.

Change-Id: If41a07089a36eec95bcf1b2e14a5747f7733b6f5
PEG4Writer.h
8538e15909bae62c0788c7921515b7ccb1d866c6 28-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "cas: convert MediaCas to HIDL"
7e0744f9fb5c0dbb542829b03e912a5d7f1d744d 28-Jun-2017 Martin Storsjo <martin@martin.st> Remove a stale, unused header

This header only differs in case from DataURISource.h (which actually
is used) in the same directory.

This header became unused in bea455c8e.

The two headers with similar filenames that only differ in case ended
up in the same directory in 5b5ea394d.

Change-Id: I904ea927abd2cc15b80b64f11a82527109c0067d
ataUriSource.h
40855085232566727e31de1ca8199275c6e2b393 24-Jun-2017 Hangyu Kuang <hkuang@google.com> media: Globaly adjust timestamp to make sure all tracks' time are align

This workaround should be removed once implement edit list.

Bug:62533717
Test: Camera Recording
Change-Id: Id2eb0c3bcb829bb4e48336fada74c0bfc951b304
PEG4Writer.h
d5a416a49d5074e2966f5fe255561cbaaf31a325 16-May-2017 Chong Zhang <chz@google.com> cas: convert MediaCas to HIDL

- Remove AIDL interfaces.
- Replace usage with corresponding HIDL interfaces.
- Move MediaCasService implementation from frameworks/av
to hardware/interfaces/cas.

bug: 22804304

Change-Id: I56ab22565a43e91481ac2759ce69462bcc194046
odecBase.h
ediaCodec.h
ediaErrors.h
ediaExtractor.h
uMediaExtractor.h
df656622dc2275284a03af6e9b32cb804f24b6ca 23-Jun-2017 Hangyu Kuang <hkuang@google.com> media: Signal no more frames to read in AudioSource

This will unblock the MediaCodecSource on reading the frame.

Bug:62328917
Test: Camera recording.
Change-Id: I4fa67ad6a844c87e2be2733cb2d9a96def336196
udioSource.h
f64ced003d3a4a702a28c0a0784e4104efbca7bc 20-Jun-2017 Jiyong Park <jiyong@google.com> DO NOT MERGE: fix build error caused by incorrect path of RemoteDataSource.h

The header should be under the media/stagefright subdir.

Test: m -j on aosp_fugu
Test: m -j dist platform-java tests on aosp_fugu

Change-Id: I3def467d90173b052a6aec391ca089c091c665b5
Merged-In: Iabcb5469c4fd936c2d7c1f9a1113c557c8beab88
emoteDataSource.h
4c86beec4601907a84db4a704f40e0d879d7de84 27-Apr-2017 Jiyong Park <jiyong@google.com> provide libstagefright_foundation_vendor to vendors

libstagefright_foundation_vendor is a vendor-only variant of the
libstagefright_foundation. Vendor libs and other VNDK libs should link
against this _vendor.so library. This vendor-only variant does not have
dependency to libpowermanager which is not available to vendors.

Headers are moved from the global include dir to module-local include
dir. This is because global include dir (e.g. frameworks/av/include) is
not provided when building with BOARD_VNDK_VERSION=current. Instead the
headers are exported via the module's export_include_dirs directive.

Short summary on the directory movement:

"some" libstagefright headers are moved from libstagefright/include to
libstagefright/include/media/stagefright. This is because the headers
are included as <media/stagefright/HEADER_NAME,h>.

libstagefrigut_foundation headers are moved from
libstagefright/include/foundation to
libstagefright/foundation/include/media/stagefright/foundation. Again
this is because the headers are included as
<media/stagefright/foundation/HEADER_NAME.h>.

Furthermore, in order to prevent sudden breakage, symlinks to the
module-local header directories are added to the global include
directory.

frameworks/av/include/media/stagefright ->
<libstagefright>/include/media/stagefright

frameworks/av/include/media/stagefright/foundation ->
<libstagefright_foundation>/include/media/stagefright/foundation

Bug: 37462569
Test: sailfish builds and boots
Test: BOARD_VNDK_VERSION=current m libstagefright_foundation_vendor is
successful

Merged-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852
Change-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852
(cherry picked from commit 093f0b7ab981049e7a6e6bbcf1e0712e1995ba68)
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation
ACWriter.h
Codec.h
MRWriter.h
udioPlayer.h
udioSource.h
ufferProducerWrapper.h
ameraSource.h
ameraSourceTimeLapse.h
odecBase.h
olorConverter.h
ataSource.h
ataURISource.h
ataUriSource.h
ileSource.h
rameRenderTracker.h
PEGSource.h
PEG2TSWriter.h
PEG4Writer.h
ediaAdapter.h
ediaClock.h
ediaCodec.h
ediaCodecList.h
ediaCodecSource.h
ediaDefs.h
ediaErrors.h
ediaExtractor.h
ediaFilter.h
ediaHTTP.h
ediaMuxer.h
ediaSource.h
ediaSync.h
ediaWriter.h
uMediaExtractor.h
MXClient.h
ersistentSurface.h
rocessInfo.h
rocessInfoInterface.h
enderScriptWrapper.h
impleDecodingSource.h
kipCutBuffer.h
tagefrightMediaScanner.h
urfaceMediaSource.h
urfaceUtils.h
tils.h
ideoFrameScheduler.h
UVCanvas.h
UVImage.h
6d72a93317998951b2fd15072f30200466aa79ad 27-Apr-2017 Jiyong Park <jiyong@google.com> provide libstagefright_foundation_vendor to vendors

libstagefright_foundation_vendor is a vendor-only variant of the
libstagefright_foundation. Vendor libs and other VNDK libs should link
against this _vendor.so library. This vendor-only variant does not have
dependency to libpowermanager which is not available to vendors.

Headers are moved from the global include dir to module-local include
dir. This is because global include dir (e.g. frameworks/av/include) is
not provided when building with BOARD_VNDK_VERSION=current. Instead the
headers are exported via the module's export_include_dirs directive.

Short summary on the directory movement:

"some" libstagefright headers are moved from libstagefright/include to
libstagefright/include/media/stagefright. This is because the headers
are included as <media/stagefright/HEADER_NAME,h>.

libstagefrigut_foundation headers are moved from
libstagefright/include/foundation to
libstagefright/foundation/include/media/stagefright/foundation. Again
this is because the headers are included as
<media/stagefright/foundation/HEADER_NAME.h>.

Furthermore, in order to prevent sudden breakage, symlinks to the
module-local header directories are added to the global include
directory.

frameworks/av/include/media/stagefright ->
<libstagefright>/include/media/stagefright

frameworks/av/include/media/stagefright/foundation ->
<libstagefright_foundation>/include/media/stagefright/foundation

Bug: 37462569
Test: sailfish builds and boots
Test: BOARD_VNDK_VERSION=current m libstagefright_foundation_vendor is
successful

Merged-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852
Change-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852
(cherry picked from commit 093f0b7ab981049e7a6e6bbcf1e0712e1995ba68)
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation
ACWriter.h
Codec.h
MRWriter.h
udioPlayer.h
udioSource.h
ufferProducerWrapper.h
ameraSource.h
ameraSourceTimeLapse.h
odecBase.h
olorConverter.h
ataSource.h
ataURISource.h
ataUriSource.h
ileSource.h
rameRenderTracker.h
PEGSource.h
PEG2TSWriter.h
PEG4Writer.h
ediaAdapter.h
ediaClock.h
ediaCodec.h
ediaCodecList.h
ediaCodecSource.h
ediaDefs.h
ediaErrors.h
ediaExtractor.h
ediaFilter.h
ediaHTTP.h
ediaMuxer.h
ediaSource.h
ediaSync.h
ediaWriter.h
uMediaExtractor.h
MXClient.h
ersistentSurface.h
rocessInfo.h
rocessInfoInterface.h
enderScriptWrapper.h
impleDecodingSource.h
kipCutBuffer.h
tagefrightMediaScanner.h
urfaceMediaSource.h
urfaceUtils.h
tils.h
ideoFrameScheduler.h
UVCanvas.h
UVImage.h
85fb869baf9ecb1349c0c0a66b6660805fea4e55 07-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "Protect sp assignments in RemoteDataSource." into oc-dev am: 318e41b4b3
am: cafbb078e4

Change-Id: I5490e154eb0bd253ac6b6ed7df403b9a506e4163
f2ddc43bf03b7a26d408e1b349b6b0c74dd6c0a3 16-May-2017 Wei Jia <wjia@google.com> FLAC: add flac decoder in omx and support flac in Matroska extractor

Test: play test file in the bug
Bug: 37787245
Bug: 37794552
Change-Id: I16c760cb818e532ac7cb701f96c635ca122cb8c9
(cherry picked from commit 47edb3ac9ef15284a87b0ebd939c1aa9dc9c6858)
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
093f0b7ab981049e7a6e6bbcf1e0712e1995ba68 27-Apr-2017 Jiyong Park <jiyong@google.com> provide libstagefright_foundation_vendor to vendors

libstagefright_foundation_vendor is a vendor-only variant of the
libstagefright_foundation. Vendor libs and other VNDK libs should link
against this _vendor.so library. This vendor-only variant does not have
dependency to libpowermanager which is not available to vendors.

Headers are moved from the global include dir to module-local include
dir. This is because global include dir (e.g. frameworks/av/include) is
not provided when building with BOARD_VNDK_VERSION=current. Instead the
headers are exported via the module's export_include_dirs directive.

Short summary on the directory movement:

"some" libstagefright headers are moved from libstagefright/include to
libstagefright/include/media/stagefright. This is because the headers
are included as <media/stagefright/HEADER_NAME,h>.

libstagefrigut_foundation headers are moved from
libstagefright/include/foundation to
libstagefright/foundation/include/media/stagefright/foundation. Again
this is because the headers are included as
<media/stagefright/foundation/HEADER_NAME.h>.

Furthermore, in order to prevent sudden breakage, symlinks to the
module-local header directories are added to the global include
directory.

frameworks/av/include/media/stagefright ->
<libstagefright>/include/media/stagefright

frameworks/av/include/media/stagefright/foundation ->
<libstagefright_foundation>/include/media/stagefright/foundation

Bug: 37462569
Test: sailfish builds and boots
Test: BOARD_VNDK_VERSION=current m libstagefright_foundation_vendor is
successful

Change-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBuffer.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MediaBufferGroup.h
/frameworks/av/media/libmediaextractor/include/media/stagefright/MetaData.h
/frameworks/av/media/libstagefright/foundation/include/media/stagefright/foundation
ACWriter.h
Codec.h
MRWriter.h
udioPlayer.h
udioSource.h
ufferProducerWrapper.h
ameraSource.h
ameraSourceTimeLapse.h
odecBase.h
olorConverter.h
ataSource.h
ataURISource.h
ataUriSource.h
ileSource.h
rameRenderTracker.h
PEGSource.h
PEG2TSWriter.h
PEG4Writer.h
ediaAdapter.h
ediaClock.h
ediaCodec.h
ediaCodecList.h
ediaCodecSource.h
ediaDefs.h
ediaErrors.h
ediaExtractor.h
ediaFilter.h
ediaHTTP.h
ediaMuxer.h
ediaSource.h
ediaSync.h
ediaWriter.h
uMediaExtractor.h
MXClient.h
ersistentSurface.h
rocessInfo.h
rocessInfoInterface.h
emoteDataSource.h
enderScriptWrapper.h
impleDecodingSource.h
kipCutBuffer.h
tagefrightMediaScanner.h
urfaceMediaSource.h
urfaceUtils.h
tils.h
ideoFrameScheduler.h
UVCanvas.h
UVImage.h