History log of /frameworks/av/media/libstagefright/MPEG4Extractor.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3aaf1671d597c41de6546605148847d4cf640217 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06 am: 18a671762d am: 6ce4126a09 am: 040485c1bc am: 6e5ef73033 am: 9262a0d58f am: 7c70a5482c am: e4c62e4582 am: 1efa35d1f8 am: 55acba9047
am: 3f05d8a9bc

Change-Id: Iaf900312d2517773062f09ae5a19f48b497408d2
1efa35d1f8b9518afda9c6136acf9487f672f025 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06 am: 18a671762d am: 6ce4126a09 am: 040485c1bc am: 6e5ef73033 am: 9262a0d58f am: 7c70a5482c
am: e4c62e4582

Change-Id: I164f086c1902fe315ae08c69b2a6287d4cbeb135
e4c62e4582bf940769a257b2232eb19062beee18 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06 am: 18a671762d am: 6ce4126a09 am: 040485c1bc am: 6e5ef73033 am: 9262a0d58f
am: 7c70a5482c

Change-Id: I975dd858eaf473a3cf9a22c206272c4017e3c95c
7c70a5482c7b1f9f9a501562aaecb30df4929495 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06 am: 18a671762d am: 6ce4126a09 am: 040485c1bc am: 6e5ef73033
am: 9262a0d58f

Change-Id: I8854738e25b4038062cc66b392693792ee3de72d
040485c1bcd8f22ca6f7c45d934a2e90ec48a231 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06 am: 18a671762d
am: 6ce4126a09

Change-Id: Ifebdfcfd50c5167bbce4f4680d426ba69b0cbc6a
6ce4126a09190954a69dfc97f1f340fe9e139431 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev am: d971d18873 am: 2ace148c06
am: 18a671762d

Change-Id: I38d2d1c89bb6662745a77e5f4fc3ed6b81d40331
2ace148c06da2e79234cab43db9a6d3dc9220b7c 17-Jun-2017 Dongwon Kang <dwkang@google.com> Merge "MPEG4Extractor: check size for yrrc box" into lmp-dev
am: d971d18873

Change-Id: I8613293a4bbea17818f873274b80c318a8f3d5b8
6ace94d2952eac82fc4c86aa6d585258248bf18c 12-Jun-2017 Dongwon Kang <dwkang@google.com> MPEG4Extractor: check size for yrrc box

Test: stagefright -s poc_file
Bug: 62133227
Change-Id: Iafefac39764ce01b4dde414b9f152c9ea71810e9
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8ff995a8ae93d19cf7bfa85844ed321de1a403eb 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into klp-dev am: 2f9eacc3ae am: a7602f8339 am: fe7c2700ae
am: cbaad4b189

Change-Id: Ifd9897d7c631c92e756481c3f43f0b4cbca85ca0
cbaad4b189c8566318bdb148cf905fe2b333b8ed 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into klp-dev am: 2f9eacc3ae am: a7602f8339
am: fe7c2700ae

Change-Id: I9c4c5dbe0682992f9e7521ed3bf6a52d8311e00f
fe7c2700aef6c944203f080f21b6761071181c4e 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into klp-dev am: 2f9eacc3ae
am: a7602f8339

Change-Id: I2883ac8221475d5fa73ed34350f199355b541b14
2f9eacc3ae01d17745f8da6ecc198474ecdb4555 02-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix potential leak" into klp-dev
cc12f885a86a25fd28aa1bb449c6ea0d5cc60417 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into mnc-dev am: 167af356fd am: 39336ac84e am: 1adfafdfdb am: 781d2a7521 am: 8c96e87157 am: 015ed4cd36 am: 03c4e00bed am: d2972602ee
am: 60a160510c

Change-Id: I90f762013c9da6d0d991c44b90535ea5a3b8a1da
03c4e00bedf0c7f8631e247569f9851366857146 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into mnc-dev am: 167af356fd am: 39336ac84e am: 1adfafdfdb am: 781d2a7521 am: 8c96e87157
am: 015ed4cd36

Change-Id: Ia00aa35c911f8ce5c5703f1eb3cd6f64f430344b
015ed4cd361b392b94c3b72e7de8ff85e0b2efea 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into mnc-dev am: 167af356fd am: 39336ac84e am: 1adfafdfdb am: 781d2a7521
am: 8c96e87157

Change-Id: I8e207b2ee20bbeacd4a91439ac098304d6ca6748
8c96e87157e7b334be4532fa9f40e28b663db073 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into mnc-dev am: 167af356fd am: 39336ac84e am: 1adfafdfdb
am: 781d2a7521

Change-Id: I3744292b358320f52342a3eb8550ea53afa4be5b
39336ac84e0b2594c33226d708e00d5237ffa003 02-Jun-2017 Marco Nelissen <marcone@google.com> Merge "Fix potential leak" into mnc-dev
am: 167af356fd

Change-Id: I47300ca03662a0b24195ac16e73c2873577a2b55
167af356fd1132d0dbbfae1e18fd9dd8cc894685 02-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix potential leak" into mnc-dev
a0721999eccd22d900eb6dec7e48f835f28ce999 09-May-2017 Marco Nelissen <marcone@google.com> Fix potential leak

Fix potential memory leak introduced with bugfix for bug 31449945.

Bug: 36389123
Change-Id: I5a9a3551692d6cba385b45c4c7a465aa377a62b1
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
38ad5e22885a4b02d0429ecb4c1b4446373a3551 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Modifying MetaData invalidates previous char*" into nyc-dev am: eb36bac938 am: 670ba92946 am: 8bcf9aa2c4 am: e054111199
am: 3be14c2e41

Change-Id: I574e6e2f270b8a1b9bd95e665dce240898e176d6
8bcf9aa2c44efbafaca9aebfab24840a5cd4e78a 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Modifying MetaData invalidates previous char*" into nyc-dev am: eb36bac938
am: 670ba92946

Change-Id: I2890cde112e1b3bd910094774764a658079fb4e9
670ba92946a5b311d5a200f10da719d120ca917a 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Modifying MetaData invalidates previous char*" into nyc-dev
am: eb36bac938

Change-Id: I1a401b30afed8fccdf48c9b41ae414f7410520a9
eb36bac938fdfd45169d42d80309b22afa7122ae 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Modifying MetaData invalidates previous char*" into nyc-dev
65098155a6a193c05368c8e0e83b7e9dd4094627 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388 am: dd2f7e982f am: 00be42f32c am: e4b59cb256 am: 15f2244696 am: 6721b0295f am: 7c3b47540e am: 0967b342f4 am: b47837e3c6 am: cc8ee0ef47
am: 1182c9d9e5

Change-Id: I9b43a2bdafbc5bb86e276ea36cf633ee2c57bffa
b47837e3c6cba0cace96b39cc9ee2bce7c8bfac7 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388 am: dd2f7e982f am: 00be42f32c am: e4b59cb256 am: 15f2244696 am: 6721b0295f am: 7c3b47540e
am: 0967b342f4

Change-Id: I9a41425bbfbb6c71fd2dd91e9d4b9b6abed024b4
0967b342f42a92f52688b804fbcda31b071cbd26 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388 am: dd2f7e982f am: 00be42f32c am: e4b59cb256 am: 15f2244696 am: 6721b0295f
am: 7c3b47540e

Change-Id: I7af91e2469b5e7e3b7a2d4f0e65cb9620bfe037c
7c3b47540e0c942b07a25191a7b1d80dc9b38b7c 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388 am: dd2f7e982f am: 00be42f32c am: e4b59cb256 am: 15f2244696
am: 6721b0295f

Change-Id: I56cc783d993f01ee26df858151d1ee649ee62c51
e4b59cb2560956a891453b71d4ef47020dca0c31 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388 am: dd2f7e982f
am: 00be42f32c

Change-Id: I651a449830219d0e7513417246d0d269cf44fe88
00be42f32cc7f8f74135f3aefc5f393bcc8757dc 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408 am: a2fbd251ca am: 4bd7103388
am: dd2f7e982f

Change-Id: I4cdcb7694baea6c10980860880c4bdcf41905a8f
4bd7103388c9f76dccc78eb6a3120fa630a00250 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6 am: 55057ab408
am: a2fbd251ca

Change-Id: I8a0e99463feb24350f02d5b5ccdc9419ebb2d71d
a2fbd251ca74e2d7ac4f074116eda8a3fb381915 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f am: 60657857c6
am: 55057ab408

Change-Id: I5107a57def4be19aad9dca950cca06bebecad1e8
55057ab40808d6c5a0b0c16d79c68330b06eafb9 16-May-2017 Marco Nelissen <marcone@google.com> Merge "Fix memory leak in error case" into klp-dev am: 5136b7436f
am: 60657857c6

Change-Id: I1564d4e2626a31b7018bae301c50a268ccc79749
423e74647d1b8fd8b2905356af1fc2b1c67a0f3f 16-May-2017 Marco Nelissen <marcone@google.com> Modifying MetaData invalidates previous char*

so don't use those char* after having updated the MetaData

Bug: 36576151
Change-Id: I1430f3151cb929e436fbdac566cf91fc4164b934
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ab34612a31e82b713ca0ac043e14f68f3788fbda 12-May-2017 Marco Nelissen <marcone@google.com> Fix memory leak in error case

Bug: 37239013
Change-Id: Ic33e0f7ed946d0729efa46f69aff1a5d35e81b1e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e077beb91686c4b7e9d645664da59b7b25bd3978 09-May-2017 Marco Nelissen <marcone@google.com> Fix potential leak

Fix potential memory leak introduced with bugfix for bug 31449945.

Bug: 36389123
Change-Id: I5a9a3551692d6cba385b45c4c7a465aa377a62b1
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2bdbb166a4063a91bab75e50170695370004fecc 24-Mar-2017 Wei Jia <wjia@google.com> MPEG4Source: fix fragmented read.

Test: passed CTS test DecoderTest#testDecodeFragmented
Bug: 36571704
Change-Id: I71ad6aaae473b03483f8405899d3178148597bba
(cherry picked from commit ba9af7792dfed6e9b1b216aab91a97e713eec891)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2928d74e1e6ed54ee80778de0fe1c988e2a0f1b5 01-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MPEG4Extractor: ensure returned status is checked."
ff1fb4d5cdd3b2b28c69edd8cd3021e335ca381a 15-Feb-2017 Wei Jia <wjia@google.com> MPEG4Extractor: ensure returned status is checked.

Also fix handling of zero atom size in MPEG4Source::parseChunk.
IDataSource: ensure readAt returns correct status.
Test: manually test with mediaplayer.
Bug: 34718515
Change-Id: I1219ec579aa0876dc1230e36af46b158b84c6d77
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
9b2cd918052fdfda587c45b7b2b9a9e132ce6b7b 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "MPEG4Extractor: allow empty atom in iTune meta."
d20e1f932277eed35f9ec423f134b4a60b8f9b85 17-Feb-2017 Wei Jia <wjia@google.com> MPEG4Extractor: allow empty atom in iTune meta.

Test: can decode mp4 file with empty "name" atom.
Bug: 34718515

Change-Id: I0c4ee85ad9c8a8c31b6c58296f6eca4f62c30fef
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
319c6e98f6c8025674b235659503c5c39eaacf75 14-Feb-2017 Hangyu Kuang <hkuang@google.com> Merge "media: Add metadata mime format parsing support to MPEG4Extractor."
ed1abbfc73d4ade0ef08239fc56ac66d70a00a92 09-Feb-2017 Caroline Tice <cmtice@google.com> Merge "Fix static analyzer warnings" am: 9064b2d12a am: 9924503dfe am: 41194d937c
am: 4b0f2f5150

Change-Id: Ic5ff05b44bcfe9edefff1044c78691d3fd6c9f98
65c954e72a126e4ea59d1fe2859bfb39cb800380 08-Feb-2017 Caroline Tice <cmtice@google.com> Fix static analyzer warnings

It was unhappy about uninitialized values potentially being passed into
calls. The warnings were:

frameworks/av/media/libstagefright/DataSource.cpp:254:22: warning:
Function call argument is an uninitialized value

frameworks/av/media/libstagefright/MPEG4Extractor.cpp:4528:17: warning:
Function call argument is an uninitialized value

(The latter was complaining about both `size` and `offset`)

Bug: None
Test: Still builds; static analyzer is now less unhappy.
Change-Id: If8befe493267a5de20e46787b50d854c49d208a3
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ba13b7bc3d46d958bc4a395f2c162cb112ec1f3a 07-Feb-2017 Ray Essick <essick@google.com> connect APIs to mediaextractor getMetrics()

plumbing so that user level android.media.MediaExtractor.getMetrics()
will get down to where we keep the metrics and then haul them back
to the application. Includes the right hooks so that per-container-type
metrics will also be managed.

Bug: 35094936
Test: monitor dumpsys output, augmented CTS examination
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
26a586c21e26dabbdef72a821a8c9585dbddfa08 20-Dec-2016 Marco Nelissen <marcone@google.com> Merge "Fix potential NULL dereference" am: ccf56a09ee am: 485046c66a am: 473419175f
am: 1b70bf908e

Change-Id: I5e2f0eb5a7acd7cf1d0b30ef70314943e18d8bce
b6f77710f3355f256c831f2465a21a745e8f9a32 19-Dec-2016 Marco Nelissen <marcone@google.com> Fix potential NULL dereference

Bug: 32875080
Change-Id: I9d6808812e735e58e8b477635441fd92f94f8d25
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
d0cb8c76e2e75f315ad35fcdfe636038851696d0 01-Dec-2016 Caroline Tice <cmtice@google.com> Merge "Remove null-ptr deref compiler warning." am: b4d217ed0f am: 1095908b34 am: f5ba22b854
am: f8a57f1934

Change-Id: I280f9e731a4be51d780c9aa30dea9a7e6427258a
1095908b3474ecee22764ec50200aa6d971d26a9 01-Dec-2016 Caroline Tice <cmtice@google.com> Merge "Remove null-ptr deref compiler warning."
am: b4d217ed0f

Change-Id: Iaa009b250224afa46e7220c44054ae1755d897bd
f303d743250d2754209980bb42017b9668cf163f 01-Dec-2016 Caroline Tice <cmtice@google.com> Remove null-ptr deref compiler warning.

This CL removes the following compiler warning:
frameworks/av/media/libstagefright/MPEG4Extractor.cpp:1025:35
warning: Access to field 'next' results in a dereference of a null
pointer (loaded from variable 'cur')
[clang-analyzer-core.NullDereference]

Bug: None
Test: Compiled with change and no warning.
Change-Id: I365843068b098b111c281ac293a0b0b3aa2ec875
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e0d59b3301623c5ae8f7b6f26451179beb84a64b 04-Nov-2016 Hangyu Kuang <hkuang@google.com> media: Add metadata mime format parsing support to MPEG4Extractor.

Test: Manual test.
Bug: 28536560
Change-Id: Ic027539c61010a23ede6f057ea0aeb83c0bace88
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bc08b17c57959110c56030d3d49d338bdd7cd8a6 07-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero

and be stricter about the layout of various boxes in mp4 files.

Bug: 31318219
Change-Id: I935bf2a6f29c5c7990acbb0cc8386f40144b14fc
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bd027c54192eea0c5f4f20533cd86e8d5a61df59 14-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero am: 0d13824315 am: c2aef83feb
am: c31b3b7d3b

Change-Id: I66a130f444fad9703fa94d10aebc91989e1ca739
c31b3b7d3b666fb19c87e022b590d695ca16042d 14-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero am: 0d13824315
am: c2aef83feb

Change-Id: Ib94af4f98542dd11b4f41231031bea2954fb04e2
1b3f61ceaf06da408baf558e30bda0fd08435f40 14-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero am: febbd52cd9
am: 55ce7e5d1e

Change-Id: I792667b35aacfa1b910a332d855f002615041408
f3e1e8c0b1ee32768ee04b308756ef6ac878d8cf 14-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero am: 0d13824315
am: 3fdf964302

Change-Id: I66f18bf3efc32dc2081e0b785d080f50e7dcea1f
3fdf96430241a813a33e53aa62fd1d04d0f9e6da 14-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero
am: 0d13824315

Change-Id: I5f2a6eb52c5abe01467da3e276365c0db30c0ae9
55ce7e5d1e1860220a7a39859c513d67d21f2f66 14-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero
am: febbd52cd9

Change-Id: I229ab9fee73b63493c4e61493de6183857ef886a
c2aef83febfafc8e64c183c342625e9d4e4999be 14-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero
am: 0d13824315

Change-Id: Ic1a3c8e78999c268a330505e92835d8c4733cbf9
52e86acf03cbdb64626c72563fa289e553744f95 14-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero
am: 2e211d38a3

Change-Id: I774eeec61319489b2976d6bd1474c7d8f7ef4e93
12416c4125c4abadf67537d939fda12bbd3240d9 07-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero

and be stricter about the layout of various boxes in mp4 files.

Bug: 31318219
Change-Id: I50034d5b6b1967ca6e88aabeacf49f26ba3c0d32
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8996f41189c63869fa3dbeef3823c15b246ae795 14-Oct-2016 Marco Nelissen <marcone@google.com> Merge "Fix divide by zero" into nyc-dev
ec206acb995d5796e39144847606f3ab9338b86c 14-Oct-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Fix divide by zero" into mnc-dev
2c28e5b1266a12163fed8236d34830f69f8216a2 14-Oct-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Fix divide by zero" into klp-dev
0e81a7be52ee4fa3a39803e765aade9da1ffe2b0 13-Oct-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box. am: fd9cc97d4d am: 7ea893f684
am: 90b26ed8c9

Change-Id: I53eeaf5c71f1ecf222933a9a484cd7a6f426fd3c
90b26ed8c9a49e41371c5c1aec817e759ee0ad0f 13-Oct-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box. am: fd9cc97d4d
am: 7ea893f684

Change-Id: I3251216e254952e7ef044a4cbe0b43b746aa4b7c
f1e84ca8583b365fdfd47366fdea2ee54313a26d 13-Oct-2016 Pawin Vongmasa <pawin@google.com> DO NOT MERGE - MPEG4Extractor: Check mLastTrack before dereferencing. am: de84a76b86
am: 2c76c56d56

Change-Id: I24c8963da1f34e724213bbb896722a06d1eca378
378445adb9b827b7ecb9ae6527df00f3e1ea8dfe 13-Oct-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box. am: fd9cc97d4d
am: 441b53063f

Change-Id: I59ffede80483146bdd734d7780bd8b9bdbee49fc
7ea893f684081253bbc7ff361d091aeeef8732ef 13-Oct-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box.
am: fd9cc97d4d

Change-Id: If5c785d1d26231e71007de13a25d34cdf6eff8f8
441b53063f947cba92871244371a70f700a9c232 13-Oct-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box.
am: fd9cc97d4d

Change-Id: I85a17cebc6613d27e4f327f4ac82654f62098cdb
253b1780556f431526028b23dfefbe4edb8294db 13-Oct-2016 Pawin Vongmasa <pawin@google.com> Merge "MPEG4Extractor: Check mLastTrack before parsing btrt box." into nyc-dev
ea07b85ee0f16ff6ea4f53d375d3e95ef010c8ed 11-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly. am: 55fe26abb4 am: f9279fbd57
am: d664ec34dc

Change-Id: I69b25594c10a45c2c0b2017260795bfe3b5a55db
d664ec34dc50a2ac4b93123b3fe02735ce27f1e3 11-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly. am: 55fe26abb4
am: f9279fbd57

Change-Id: I745cdbbed56521a1babbe01b4d28c886b6a77760
55fe26abb4e3fe701c01b130fee4a5919f8edcbf 10-Oct-2016 Wei Jia <wjia@google.com> MPEG4Extractor: set mime type of fileMetaData correctly.

Bug: 32045229
Change-Id: Iaf165e4731296175d361e30597b03beaa1e6e833
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0d13824315b0491d44e9c6eb5db06489ab0fcc20 07-Oct-2016 Marco Nelissen <marcone@google.com> Fix divide by zero

and be stricter about the layout of various boxes in mp4 files.

Bug: 31318219
Change-Id: I50034d5b6b1967ca6e88aabeacf49f26ba3c0d32
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2e211d38a3124849ef46376256d01e69549c422f 07-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero

and be stricter about the layout of various boxes in mp4 files.

Bug: 31318219
Change-Id: I50034d5b6b1967ca6e88aabeacf49f26ba3c0d32
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
febbd52cd9f8394b113c3771e6a4403e86844e82 07-Oct-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Fix divide by zero

and be stricter about the layout of various boxes in mp4 files.

Bug: 31318219
Change-Id: I50034d5b6b1967ca6e88aabeacf49f26ba3c0d32
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
fd9cc97d4dfe2a2fbce2c0f1704d7a27ce7cbc44 30-Sep-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: Check mLastTrack before parsing btrt box.

Bug: 31449945
Change-Id: I3380d494a57bb81f1a7455c64c3ab78da12c382d
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
de84a76b865d1061cfa9012f91b0aed4595f42cf 30-Sep-2016 Pawin Vongmasa <pawin@google.com> DO NOT MERGE - MPEG4Extractor: Check mLastTrack before dereferencing.

Bug: 31449945
Change-Id: If2708b3006c22393e80a2557f93d8a71e4e7bf16
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0338b14e284ee0b81253cf456d0bf78de08743b1 30-Sep-2016 Pawin Vongmasa <pawin@google.com> DO NOT MERGE - MPEG4Extractor: Check mLastTrack before dereferencing.

Bug: 31449945
Change-Id: Icc5714bd2459c053c0a913b1c27d9ffbef5b2d2a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
25d34cacdea9160f519865517cdc0ce9ae706b7e 30-Sep-2016 Pawin Vongmasa <pawin@google.com> DO NOT MERGE - MPEG4Extractor: Check mLastTrack before dereferencing.

Bug: 31449945
Change-Id: I7fd0bb683819b2e43863b861fb078a6a67fa5317
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
663837d4414bc90c2472e135b21e898db55b648f 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: 2fae4e4cb6 am: 53e3ccc7ec
am: 8e4099234a

Change-Id: I6ba013aa9938270be4934f42da25a004f901d1f0
8e4099234aa47023d211bedb027c1bfeab1fd038 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: 2fae4e4cb6
am: 53e3ccc7ec

Change-Id: Id2bd546137533096dac39b5b43ef0288b06b17b1
fbe7df6dd0a52a42d90a42338e25a7393e7c88bd 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: cb898dca47 am: 3a8c303038 am: 75e5b60ae9 am: 828c7c2c31
am: c80241d9c3

Change-Id: Ie00c1926aa03df8c221ad42a40d0d735ee8c069d
c80241d9c377d00f7935f459095609e33629f661 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: cb898dca47 am: 3a8c303038 am: 75e5b60ae9
am: 828c7c2c31

Change-Id: I28eec82a69d9f29cf5d26ac0f034397e7ffb7343
92eb45488fde45c9eb8a96ce48637656b7aa9e9a 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable
am: 2fae4e4cb6

Change-Id: I3d443e05aef57006511e137eca1d66146e250bd6
53e3ccc7ec43e4985956fba1f3eb8dc8ef3c6d4c 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable
am: 2fae4e4cb6

Change-Id: I94df089a80ee1f4b9c99f3b5fe9c1a84a1ca709e
2fae4e4cb6b3039f28810e827de75b0612fadd83 20-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable

Bug: 28615448
Change-Id: I5916f6839b4a9bbee4388a106e7373bcd4154f5a
(cherry picked from commit 7788f1213095ea8495e40cb4cba30bbe7b989118)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
828c7c2c31837e103a39e4516e52c06b5dc36e6b 22-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: cb898dca47 am: 3a8c303038
am: 75e5b60ae9

Change-Id: Ia8122e73c5157ac2a932c9e7dfdd0f1ed9e94b83
3a8c303038c523b991a3390211237e94cb0cb08e 21-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable
am: cb898dca47

Change-Id: I4aedbf522dfabefbe797d37e3a37160c8f210e90
cb898dca47ac03738db91ddc371207435d2a1526 20-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable

Bug: 28615448
Change-Id: I5916f6839b4a9bbee4388a106e7373bcd4154f5a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
29ccd8c55d12a6fef6528a15c2a113d9a1dcd602 21-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable am: 638c99bad6
am: 569f3db605

Change-Id: Icc063dd70e08fea6320e3d3f64ebbd4ba51d8aa8
638c99bad693a8586a065d93b3d30017208e3067 20-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable

Bug: 28615448
Change-Id: I5916f6839b4a9bbee4388a106e7373bcd4154f5a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7788f1213095ea8495e40cb4cba30bbe7b989118 20-Sep-2016 Marco Nelissen <marcone@google.com> Limit mp4 atom size to something reasonable

Bug: 28615448
Change-Id: I5916f6839b4a9bbee4388a106e7373bcd4154f5a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b18b2069710294ed30fcaf7e58776101e1c2d9a8 23-Aug-2016 Bryan Mawhinney <bryanmawhinney@google.com> Allow parsing of xyz chunks containing altitude am: 23b98e3538 am: dedfb43c7c am: 9e3906cd83
am: 8acb47a973

Change-Id: Iacf3c2e9d341327abc0cfadfc05a3f4803304266
8acb47a973c0b0eecdc36f0bccd513a11be9ccd7 23-Aug-2016 Bryan Mawhinney <bryanmawhinney@google.com> Allow parsing of xyz chunks containing altitude am: 23b98e3538 am: dedfb43c7c
am: 9e3906cd83

Change-Id: I36256600bd2a91bed677a83bc9a992731deb279e
dedfb43c7cb81a82e5266e420e96e21703d96084 23-Aug-2016 Bryan Mawhinney <bryanmawhinney@google.com> Allow parsing of xyz chunks containing altitude
am: 23b98e3538

Change-Id: Id8612b0988016524616d0e5b2a1d01b5a297fb51
23b98e3538529f88cdb758adedeee68408635fcb 22-Aug-2016 Bryan Mawhinney <bryanmawhinney@google.com> Allow parsing of ©xyz chunks containing altitude

Bug: 30993991
Change-Id: I54425ed6f28c001b7eb018eace2082c0fe8bcd1b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
51a0ff56f49faf1a19281f6d786fe18bf84794c6 19-Aug-2016 Hangyu Kuang <hkuang@google.com> media: Fix a typo in parsing nclc atom.

Bug: 30974361
Change-Id: I12a75ed30d3259d863e744fae3ccff79d8a95f39
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0cbdc6e62fe08c883562c1bf56bf94203a295e77 20-Aug-2016 Wei Jia <wjia@google.com> MPEG4Extractor: support version 1 for trun box. am: 44a9bf5b01 am: 00fd9ee71f
am: 657edb6efb

Change-Id: I114143ddf23efdfacf3607ea700574faaf0dd77d
657edb6efbb973fdd85cd3cca74c8e0ce15d050c 20-Aug-2016 Wei Jia <wjia@google.com> MPEG4Extractor: support version 1 for trun box. am: 44a9bf5b01
am: 00fd9ee71f

Change-Id: I3b018d293340ad9b0ddf0299d6ee82f032de3b09
44a9bf5b013641a55d1784da353461e7446ff756 18-Aug-2016 Wei Jia <wjia@google.com> MPEG4Extractor: support version 1 for trun box.

Bug: 30936893
Change-Id: Ibe1d5683d435b6e7b17784d289e9bb94e89379f3
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7d64d30d0dcdb97be921790e2702e5adfe751d92 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master am: 32d6e5f0eb
am: a944197b97

Change-Id: I03472be260cbfdaf436514d319e91063c738b82c
32d6e5f0ebe9e00f80401e5f4fd6e285a474590d 12-Aug-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 6ae8c7b to stage-aosp-master

Change-Id: Iabb5d9b93b98e428c53f0504fbfe832ed24d988d
0d1ed381fde5dac12dd84fcf3da66dac46699378 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
Merged-In: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
40d8899f60c5212af9d727ba0ffaaecf676ebd1d 09-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in stagefright.

* Add explicit keyword to conversion constructors.
* Or add NOLINT to implicit conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I7a15ac1e37973fe2c661f577a6106b913653de40
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6bb2aa2e95384e413b5d2be6b5110056b2927809 19-Jul-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 54276e9 to master

Change-Id: Iec79f36a551159338b1aa9de7c3524a05f38edee
54276e959cf792291cead394d42bd881602cdc3b 19-Jul-2016 Wei Jia <wjia@google.com> Merge \"MPEG4EXtractor: add support of MP4A QT version 1 and 2.\" into nyc-mr1-dev
am: 449c5619bd

Change-Id: I2643a3400127add7a16f40e031c6a963ad1b431a
bb0b734ca158c2129d7c31449a3eedcd76dcd03c 27-Jun-2016 Wei Jia <wjia@google.com> MPEG4EXtractor: add support of MP4A QT version 1 and 2.

Also allow parsing QT wave atom.
Bug: 29500382
Bug: 16162336
Change-Id: Ida05a4e3b6286d4c4d5a07fa18e6a719bd0cca9f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a7edc529e64934aeb2044a6e6e69056f4ccbfea0 15-Jul-2016 Andy Hung <hunga@google.com> Merge \\"GenericSource: Allow multiple buffer reads for video\\" into nyc-mr1-dev am: e98f14ff19
am: 888de371da

Change-Id: I0cb63a7e930acc92408a94fbf2b381f6f1fe2d60
888de371da1b821975506c6013e2013ed6024e02 15-Jul-2016 Andy Hung <hunga@google.com> Merge \"GenericSource: Allow multiple buffer reads for video\" into nyc-mr1-dev
am: e98f14ff19

Change-Id: I8348ecb645e1aef74064bacdbacd8de6c20e4d94
cdeb6603d862cec4adac7c39f3b8b240f2b645dc 29-Jun-2016 Andy Hung <hunga@google.com> GenericSource: Allow multiple buffer reads for video

Bug: 29125703
Change-Id: I23490a65ad3968d7be561805c9fa742320b5c78a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0275063d397cfef5808f38ca96a3323ee490ef29 12-Jul-2016 Wei Jia <wjia@google.com> Merge \\"stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info\\" into nyc-mr1-dev am: 0093efba5a
am: 44fece2cf3

Change-Id: Iee233ea36d574f37fc9ddb4f4eb530c7c7a3dd57
44fece2cf363911efede91f81c7e57236d81f755 12-Jul-2016 Praveen Chavan <pchavan@codeaurora.org> Merge \"stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info\" into nyc-mr1-dev
am: 0093efba5a

Change-Id: Ia1a316c8dfd13bf146e94037a3743cdab88acdfe
4dbff11975e737482537e1636051690188f3fbc4 08-Apr-2016 Praveen Chavan <pchavan@codeaurora.org> stagefright: Enhance MPEG4 writer/extractor to store/retrieve layer info

Store temporal layer-count in MP4 meta-keys.
Enhance MPEG4Extractor to parse layer-count and make it available in
file-meta.
For AVC, parse SVC-extension NALs (if available), to extract
the layer-id and make it avialble in buffer-meta.

Bug: 27596987
Change-Id: I84a8914b470a0aadec0e02692296b1915a6c776e
(cherry picked from commit 09c8bb3d3b01d213fb845cd9c24c5e18443d7626)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5f44938fe991e19dd694a08c5e8911a9ffa2670b 25-May-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10 am: 6b52fd6b67 am: f4285f22bf
am: 87406db29c

* commit '87406db29c09e16df8f0d82dd0547d3fb953ab92':
MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

Change-Id: I6f37992a285efbc2fa08da3b0f6e6f0fecb52b07
87406db29c09e16df8f0d82dd0547d3fb953ab92 25-May-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10 am: 6b52fd6b67
am: f4285f22bf

* commit 'f4285f22bfe47791a1d21eaa28a4afce23f47c8d':
MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

Change-Id: I71b691a769641d3e3137b4fd954d784d073b9074
f4285f22bfe47791a1d21eaa28a4afce23f47c8d 25-May-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 823bd74 to lmp-mr1-dev am: 67ca3caf10
am: 6b52fd6b67

* commit '6b52fd6b673c44afc6fe57e85ef8b6994ea84659':
MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

Change-Id: I0e66a037649b0000c90c91b40af6eb587362c00b
67ca3caf10929022b2b742b49a88ff1238d3bbe7 25-May-2016 Wei Jia <wjia@google.com> resolve merge conflicts of 823bd74 to lmp-mr1-dev

Change-Id: Id8f856591eb2a49bf151a9caa6e15f69e6887e4c
3d1df4f411a531fb30cc8563cb39e732041d22ad 25-May-2016 Wei Jia <wjia@google.com> DO NOT MERGE MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track. am: b016207fc2
am: e2ca751723

* commit 'e2ca7517232e2df2dc16d358809d7e4723827c42':
DO NOT MERGE MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

Change-Id: Ia1dd264fc19f8c82a59a5e2656375f2c2c4403ff
e31eeb4cc65e6b0c98d8476cb89f746ddb79a1b0 28-Aug-2015 Wei Jia <wjia@google.com> MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

GenericSource: return error when no track exists.

SampleIterator: make sure mSamplesPerChunk is not zero before using it as divisor.

Bug: 21657957
Bug: 23705695
Bug: 22802344
Bug: 28799341
Change-Id: I7664992ade90b935d3f255dcd43ecc2898f30b04
(cherry picked from commit 0386c91b8a910a134e5898ffa924c1b6c7560b13)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b016207fc2442420e8d3a8633575ffe4fc29fef3 28-Aug-2015 Wei Jia <wjia@google.com> DO NOT MERGE MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

GenericSource: return error when no track exists.

SampleIterator: make sure mSamplesPerChunk is not zero before using it as divisor.

Bug: 21657957
Bug: 23705695
Bug: 22802344
Bug: 28799341
Change-Id: I7664992ade90b935d3f255dcd43ecc2898f30b04
(cherry picked from commit 0386c91b8a910a134e5898ffa924c1b6c7560b13)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
321ff07dac04f314ae34261d39d4e91aa19e1435 25-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: get profile/level from codec-specific-data" into nyc-dev am: 76016ccf97 am: 517f189671
am: dc0f723fbc

* commit 'dc0f723fbc47ddd19fbdbdae9d5f0bf7673d0c53':
stagefright: get profile/level from codec-specific-data

Change-Id: I64cd3d2031a9697f0624d6dbd57b8448adb5b0f2
dc0f723fbc47ddd19fbdbdae9d5f0bf7673d0c53 25-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: get profile/level from codec-specific-data" into nyc-dev am: 76016ccf97
am: 517f189671

* commit '517f18967128a267c750d3dce78007bf02bae795':
stagefright: get profile/level from codec-specific-data

Change-Id: I60def2ef022db3ed1fce51ea35db5bc38a8e08d8
394040d4377e375477e30496f2ae01dcd9f59eeb 25-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: get profile/level from codec-specific-data" into nyc-dev
am: 76016ccf97

* commit '76016ccf97237b131087651db34bdec9e0c81d43':
stagefright: get profile/level from codec-specific-data

Change-Id: I7c8b65a2e5f9c00df80252f6d015f385ae2a0c7a
07b2fbfb40770f3be0f674596f2e51d257c6d2bd 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: get profile/level from codec-specific-data

- also fix HEVC minimum input buffer size in MP4 extractor

Bug: 28671284
Change-Id: I06d06b9fa0da753333092da16203bdd48d562b0f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
9a255cff1c141ff8930f58e0cf2dcb08ddd5bf91 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks am: 0dc8be97f0 am: c1ae7883b9
am: 9cf8ddda6e

* commit '9cf8ddda6e53059bc4c33d231486524ed975db55':
stagefright: get stream header information from MPEG2 video tracks

Change-Id: I8eed4ae803df03ae7bc402d0d69ee195d89cfbf3
9cf8ddda6e53059bc4c33d231486524ed975db55 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks am: 0dc8be97f0
am: c1ae7883b9

* commit 'c1ae7883b9aeab5ca8563c7d93215f71b1a4f73e':
stagefright: get stream header information from MPEG2 video tracks

Change-Id: I2369bb6e0390f481760ac96e9c78c82e2ee3a7c6
4bd13b794755832253d864faf4ed23ea9aa678c9 24-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks
am: 0dc8be97f0

* commit '0dc8be97f0fbee707b69b24b3a8d914f88c77423':
stagefright: get stream header information from MPEG2 video tracks

Change-Id: I968fe600b13c6f0ba30a016b0c427fce45be1c6b
0dc8be97f0fbee707b69b24b3a8d914f88c77423 21-May-2016 Lajos Molnar <lajos@google.com> stagefright: get stream header information from MPEG2 video tracks

Bug: 28671284
Change-Id: I2367fd49f016b906299137afcabcd5cd1e7af4e3
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
d4fba4867bfd2c770bf6ad1d02ef10530ecf7079 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539 am: 1d45547854 am: 90fe9f1413 am: 3633c0f41e am: bf68540a39 am: 8c6e115c87 am: 5f9925cced am: 606bc6d478
am: 34ba0020e9

* commit '34ba0020e91d6aedda38d41cd1f2d4ee7433a214':
Check malloc result to avoid NPD

Change-Id: I1616c532036b798afba4a883038904177dea98de
34ba0020e91d6aedda38d41cd1f2d4ee7433a214 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539 am: 1d45547854 am: 90fe9f1413 am: 3633c0f41e am: bf68540a39 am: 8c6e115c87 am: 5f9925cced
am: 606bc6d478

* commit '606bc6d478181b9b40ddf650aa2f758199d97c90':
Check malloc result to avoid NPD

Change-Id: Ia9906d638ebee600409d57729bf8adc6a4f3f9b6
dbc61414d73e2ad2ab3923ac45e8c9da0dfabf3c 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539 am: 1d45547854 am: 90fe9f1413 am: 3633c0f41e am: bf68540a39 am: 8c6e115c87
am: 5f9925cced

* commit '5f9925cceda1bafb91add1eae0e6e5cfab698c4f':
Check malloc result to avoid NPD

Change-Id: Icc2f6c972262d7c65d465a1e567bbcc99796dab4
5f9925cceda1bafb91add1eae0e6e5cfab698c4f 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539 am: 1d45547854 am: 90fe9f1413 am: 3633c0f41e am: bf68540a39
am: 8c6e115c87

* commit '8c6e115c87c479999075c785f4c04ec66ad9421e':
Check malloc result to avoid NPD

Change-Id: I56e002bbe453c4c9b4077c4c226c2a82b95c80ea
3633c0f41e134f0673a6b26e613cc3fe3f3bd432 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539 am: 1d45547854
am: 90fe9f1413

* commit '90fe9f14134c1dbec758f0330ac9d11fa8093ecc':
Check malloc result to avoid NPD

Change-Id: I0e8e1265e0f64766eff799ea339d10a489a356b3
90fe9f14134c1dbec758f0330ac9d11fa8093ecc 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2 am: 6d1da7d539
am: 1d45547854

* commit '1d4554785472f478acfbf60479cd662475926c74':
Check malloc result to avoid NPD

Change-Id: I9567052999206511d0e00bc1cdfed7d88fd89609
1d4554785472f478acfbf60479cd662475926c74 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev am: e5734d88ad am: f6e3609de2
am: 6d1da7d539

* commit '6d1da7d53995c1a171eedc99bd9b17d8dfe3d158':
Check malloc result to avoid NPD

Change-Id: I92303d3c07ff920a4c7e2d1a94bd341102035ba1
8fd8bfdfbd930cdc669c4fc33d7d251f12ec7e5e 23-May-2016 Marco Nelissen <marcone@google.com> Merge "DO NOT MERGE Check malloc result to avoid NPD" into klp-dev am: fddbb1a791
am: 9897bd43a6

* commit '9897bd43a614c28e6c52dcbce817d9ef6f201ccc':
DO NOT MERGE Check malloc result to avoid NPD

Change-Id: Ia9f97994af54fff11644f7d59821e8ddf6fb54f1
f6e3609de238b63860d0892b26c76ee35d24cf06 23-May-2016 Marco Nelissen <marcone@google.com> Merge "Check malloc result to avoid NPD" into lmp-dev
am: e5734d88ad

* commit 'e5734d88ad6e4eacf110ed3f9aa4041b8b5598be':
Check malloc result to avoid NPD

Change-Id: I20f011a5a48128f41c9000818df1c2498621657b
1249f4e0f85c8add387247fe9770c62116acbe1c 21-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: fix issues with bitrate handling" into nyc-dev am: 2b1a242470 am: d681f2a041
am: c41e6c8d62

* commit 'c41e6c8d624a7f33f24f98964d067824421f49ee':
stagefright: fix issues with bitrate handling

Change-Id: I7d64b38b365dd5bc839f9dae0856fdfd9c91d05d
c41e6c8d624a7f33f24f98964d067824421f49ee 21-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: fix issues with bitrate handling" into nyc-dev am: 2b1a242470
am: d681f2a041

* commit 'd681f2a041e0fb565e1daacabf2e672f8abfc2d2':
stagefright: fix issues with bitrate handling

Change-Id: Ic2b274331bd4958da01c3a9d13ba62fdc8498700
013ce69d91e05d50d0f6d54943ccc3ba28fbe5e6 21-May-2016 Lajos Molnar <lajos@google.com> Merge "stagefright: fix issues with bitrate handling" into nyc-dev
am: 2b1a242470

* commit '2b1a242470adb3ef4ba3a63c21f5415581324c4f':
stagefright: fix issues with bitrate handling

Change-Id: Ibe48277a28d6cde7c4cd35383f7fb38e126a3153
46f80165c595d81dda68f8f3fea27f4fb04937dd 20-May-2016 Lajos Molnar <lajos@google.com> stagefright: fix issues with bitrate handling

- parse btrt mp4 box
- write max and avg. bitrates into avcc
- fix the use of "bit-rate" vs. the correct "bitrate"
- document ESDS better
- fix some spacing

Bug: 28671284
Change-Id: I94961a095c6d162af38b7999cc946f899a1b1b09
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6a456937c0d42fd8617126afdbf9e41087cf3cbc 11-May-2016 Marco Nelissen <marcone@google.com> Check malloc result to avoid NPD

Bug: 28471206
Change-Id: Id5d055d76893d6f53a2e524ff5f282d1ddca3345
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ad92798cc37677ed14cacf1caf62196612a6b71e 11-May-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Check malloc result to avoid NPD

Bug: 28471206
Change-Id: Id5d055d76893d6f53a2e524ff5f282d1ddca3345
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
da048fbdfe9a835edad8879bda07d80714a9c24f 06-May-2016 Marco Nelissen <marcone@google.com> Merge "Determine frame rate from trex box if stsz box is empty" into nyc-dev am: e0c4cfee54 am: a3e5d028f5
am: 12c8906faf

* commit '12c8906faf44737365b43bce33d8a75b6f486d3c':
Determine frame rate from trex box if stsz box is empty

Change-Id: I36a6b19003638973d11ed6fd6953949c2d914159
a3e5d028f5257f6a81335766672a85da95ff647d 06-May-2016 Marco Nelissen <marcone@google.com> Merge "Determine frame rate from trex box if stsz box is empty" into nyc-dev
am: e0c4cfee54

* commit 'e0c4cfee5429d166abdeb95405f9dbe76615575b':
Determine frame rate from trex box if stsz box is empty

Change-Id: Ifcdfea63a35b3a198bf41e7f9adfc24555271bc1
949d857ea24950ff920820b4ccf78133dcc737d1 06-May-2016 Marco Nelissen <marcone@google.com> Determine frame rate from trex box if stsz box is empty

Bug: 28591845
Change-Id: I7deaa78815c5b1a3f8dac8604f0f236c6a4dc0c5
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7fa2b55d87a4e9123bfe890ebd6ab023929999a9 03-May-2016 Marco Nelissen <marcone@google.com> Merge "MPEG4Extractor: limit recursion depth when parsing"
dd2d81b49d22642b15ac6dcbc5ad59d0c6f5c227 03-May-2016 Marco Nelissen <marcone@google.com> MPEG4Extractor: limit recursion depth when parsing

to avoid stack exhaustion.

Bug: 27456299
Change-Id: Iac61e75066f620a89e42d4f2af3f63e0fb4927fd
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
49ac2a724c82f5670a811ae74551a5e9c529bb69 02-May-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp am: 47734c9509
am: 7e34612e2b

* commit '7e34612e2b5db65ecff13ff65b3816fffb7a0974':
Fix google-explicit-constructor warnings.

Change-Id: I5b1e3eae1348800c288e30845c6eb6d1bf69e72f
47734c9509ecb472c2844cae46e2d916b9358321 02-May-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp

Change-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a
090ef604f81447eab4aa0a5b45d6307482573560 27-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
12054ac3a69fb5209325ad467d7b3128388836e7 22-Mar-2016 Marco Nelissen <marcone@google.com> Merge "Don\'t crash on invalid datestamp" into nyc-dev am: 5e5cdca
am: 79bb449

* commit '79bb449e8dcbad82340af824ea0930f16e9ee734':
Don't crash on invalid datestamp
3724c1c9ab40ce2cc313686cd2532c79c025ca6a 21-Mar-2016 Marco Nelissen <marcone@google.com> Don't crash on invalid datestamp

Bug: 27212093
Change-Id: Icbaf4e55a71b1d2a32da803fc2cf3ddbdfff071c
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bcbd7bce03772a22c2965dab636c1f67b7a655f5 16-Mar-2016 Pawin Vongmasa <pawin@google.com> MPEG4Extractor: add AC3/EAC3 support

Bug: 16847897
Change-Id: Iaf2f379f45aaab372ce6567cb0d60fad1978bfdd
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
58fb7c6e1a9244dd7215a647388c440d8d75851b 15-Mar-2016 Lajos Molnar <lajos@google.com> stagefright: use colr box for color aspects

Bug: 25684127
Change-Id: I105294ce0d41ac58d80a2a4a74d35a9b78536790
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
57374fb97bbdfcfab19d3b6ded4a9e5f69a709b8 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02 am: fc4f739667 am: 2bb66e2541 am: 5371723cf3 am: 9f31a89385 am: 037bdfc7e4 am: 1a9b5e0fa3 am: 3c69e8d5fd am: 8aa22eeac9 am: 23020eade4
am: 9d537cb793

* commit '9d537cb7933729b9114e5bc394d6ab35f906b20c':
Also fix out of bounds access for normal read
8aa22eeac9972de855d9b7b64bd9fb0eece0aaeb 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02 am: fc4f739667 am: 2bb66e2541 am: 5371723cf3 am: 9f31a89385 am: 037bdfc7e4 am: 1a9b5e0fa3
am: 3c69e8d5fd

* commit '3c69e8d5fdddff1230938f7051caf88ae0944999':
Also fix out of bounds access for normal read
3c69e8d5fdddff1230938f7051caf88ae0944999 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02 am: fc4f739667 am: 2bb66e2541 am: 5371723cf3 am: 9f31a89385 am: 037bdfc7e4
am: 1a9b5e0fa3

* commit '1a9b5e0fa3518a00102dac5893e6c479b87bbb36':
Also fix out of bounds access for normal read
1a9b5e0fa3518a00102dac5893e6c479b87bbb36 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02 am: fc4f739667 am: 2bb66e2541 am: 5371723cf3 am: 9f31a89385
am: 037bdfc7e4

* commit '037bdfc7e4bf5ec10e251b6ae6d2b07542291248':
Also fix out of bounds access for normal read
9f31a89385897b1477ede926e858423e7e13d149 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02 am: fc4f739667 am: 2bb66e2541
am: 5371723cf3

* commit '5371723cf39d62c1b7a99054ccb3ab8721e372cd':
Also fix out of bounds access for normal read
2bb66e254111abf2e8e462a44bc2deb2508207ba 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev am: dc17049b02
am: fc4f739667

* commit 'fc4f739667f3eaa06f28a883f72a798db3e98027':
Also fix out of bounds access for normal read
fc4f739667f3eaa06f28a883f72a798db3e98027 24-Feb-2016 Marco Nelissen <marcone@google.com> Merge "Also fix out of bounds access for normal read" into klp-dev
am: dc17049b02

* commit 'dc17049b0294dd6b0b2156783d83333cca37fc4b':
Also fix out of bounds access for normal read
87afa840a40af570278e93251cfc5e55a6a3d92e 23-Feb-2016 Marco Nelissen <marcone@google.com> Also fix out of bounds access for normal read

Previous fix accidentally only fixed the fragmented read case.

Bug: 27208621
Change-Id: Ie16f1920b84c8aba613842659238fcd5925694ad
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
55363176be0ad1fe75d97276547929b4ca971f56 17-Feb-2016 Bill Yi <byi@google.com> Merge commit '813ac23bee5b3519c2b7f410a2b24b3a94075b22' into HEAD
4be8c6d6337c1aa9d80430c3de4fc7251cd52af9 04-Feb-2016 Wei Jia <wjia@google.com> Merge "MPEG4Extractor: cast media time to int64_t in order to avoid check on unsigned integer overflow." am: ee38fad5e9
am: 4ec776ebf7

* commit '4ec776ebf7cc746dca49c81bce884e534b066f3c':
MPEG4Extractor: cast media time to int64_t in order to avoid check on unsigned integer overflow.
4ec776ebf7cc746dca49c81bce884e534b066f3c 04-Feb-2016 Wei Jia <wjia@google.com> Merge "MPEG4Extractor: cast media time to int64_t in order to avoid check on unsigned integer overflow."
am: ee38fad5e9

* commit 'ee38fad5e9109f92b24c0e4d6d0d021b3d20e4e0':
MPEG4Extractor: cast media time to int64_t in order to avoid check on unsigned integer overflow.
608fe1d6b2ea4d88245a109afe2bfba580881a16 03-Feb-2016 Wei Jia <wjia@google.com> MPEG4Extractor: cast media time to int64_t in order to avoid check on unsigned integer overflow.

Change-Id: Iad5ae41f0bbfc5e837b4b78e8acaa3f9462329e6
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
869b7a50b76cf4172c46f660c298114fb54ca178 13-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74 am: fb2eb86102 am: e6bd186c7e am: a8ac8f617b am: e2e46f5fa1 am: 2304c606eb am: 0945199000 am: a39f981875 am: e463301aa4 am: 0dd00d9b19 am: 827e12087d am: 300cd21e59
am: d69128a851

* commit 'd69128a8519e02cbfe5a14220f14f2fa63eec297':
Fix out-of-bounds write
e463301aa44f0ea0ae1a2399bf8800d94cf6ce3e 13-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74 am: fb2eb86102 am: e6bd186c7e am: a8ac8f617b am: e2e46f5fa1 am: 2304c606eb am: 0945199000
am: a39f981875

* commit 'a39f9818759155a2651995d6844f9821d83e3f0d':
Fix out-of-bounds write
a39f9818759155a2651995d6844f9821d83e3f0d 13-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74 am: fb2eb86102 am: e6bd186c7e am: a8ac8f617b am: e2e46f5fa1 am: 2304c606eb
am: 0945199000

* commit '0945199000aaa5a628705de69f17d28a5c04cc36':
Fix out-of-bounds write
0945199000aaa5a628705de69f17d28a5c04cc36 13-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74 am: fb2eb86102 am: e6bd186c7e am: a8ac8f617b am: e2e46f5fa1
am: 2304c606eb

* commit '2304c606eb2eb9e6f21fcca0e6dcd4ac8156779a':
Fix out-of-bounds write
e2e46f5fa1e669fb7f00b3ed2bbc37390e0a5a68 13-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74 am: fb2eb86102 am: e6bd186c7e
am: a8ac8f617b

* commit 'a8ac8f617b2df8f07935d3e1e47189dee2381b88':
Fix out-of-bounds write
e6bd186c7e2a3b948fdd27a4b71048ee85229e7c 12-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write am: 5403587a74
am: fb2eb86102

* commit 'fb2eb8610208d3ad2ea69f57a151ffe436c6c6e6':
Fix out-of-bounds write
fb2eb8610208d3ad2ea69f57a151ffe436c6c6e6 12-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write
am: 5403587a74

* commit '5403587a74aee2fb57076528c3927851531c8afb':
Fix out-of-bounds write
5403587a74aee2fb57076528c3927851531c8afb 12-Jan-2016 Marco Nelissen <marcone@google.com> Fix out-of-bounds write

Bug: 26365349
Change-Id: Ia363d9f8c231cf255dea852e0bbf5ca466c7990b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

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
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
64c67fad3c9ed5e23f3e5932f49277fdc8802286 22-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Fix offset adjustment when skipping off-spec meta chunk" into mnc-dr-dev am: 78c164c238 am: 0935e8d731
am: 570364ddbf

* commit '570364ddbf85ed99ac909d534b1a966de5b20b73':
Fix offset adjustment when skipping off-spec meta chunk
3ad0caffbb78b8fe838c6c8d8c7a2d1bcf1fcc06 22-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Fix offset adjustment when skipping off-spec meta chunk"
am: 7e9b93421e

* commit '7e9b93421ef9b9839320d98887c2cc0ac50b71a1':
Fix offset adjustment when skipping off-spec meta chunk
bedd86772a7cc0529f4231521f96eb86e14f587a 22-Oct-2015 Marco Nelissen <marcone@google.com> Fix offset adjustment when skipping off-spec meta chunk

Bug: 25172843
Change-Id: Ibbfe4369176f2a367eab5a39fd742f425b017288
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8ee368522ca7df126033a05dc3c430182b4495c9 22-Oct-2015 Marco Nelissen <marcone@google.com> Fix offset adjustment when skipping off-spec meta chunk

Bug: 25172843
Change-Id: Ibbfe4369176f2a367eab5a39fd742f425b017288
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8fbf202f7b9fa461f07b49470c2a6afe39ca6afd 21-Oct-2015 Jon Larimer <jlarimer@google.com> Merge "stagefright: MPEG4Extractor: allow \'hdlr\' box before first track" into klp-dev am: b1a13d01dc am: 781cd4f37d am: 8565726f57 am: b44e95da77 am: 699e9b0749
am: 8e4f53159c

* commit '8e4f53159c64996e1617ec589977c290fa233010':
stagefright: MPEG4Extractor: allow 'hdlr' box before first track
699e9b0749bda03d12d6aaea9632b28d2bd9e6fb 21-Oct-2015 Jon Larimer <jlarimer@google.com> Merge "stagefright: MPEG4Extractor: allow \'hdlr\' box before first track" into klp-dev am: b1a13d01dc am: 781cd4f37d am: 8565726f57
am: b44e95da77

* commit 'b44e95da772bb26fa9fc4cdc04cf51b7d42344ae':
stagefright: MPEG4Extractor: allow 'hdlr' box before first track
8565726f5775a6db97a394aa18a1f6b0e1ce69b7 20-Oct-2015 Jon Larimer <jlarimer@google.com> Merge "stagefright: MPEG4Extractor: allow \'hdlr\' box before first track" into klp-dev am: b1a13d01dc
am: 781cd4f37d

* commit '781cd4f37d4b81a8e5af45a3ba6cdd4cdd209a3e':
stagefright: MPEG4Extractor: allow 'hdlr' box before first track
781cd4f37d4b81a8e5af45a3ba6cdd4cdd209a3e 20-Oct-2015 Jon Larimer <jlarimer@google.com> Merge "stagefright: MPEG4Extractor: allow \'hdlr\' box before first track" into klp-dev
am: b1a13d01dc

* commit 'b1a13d01dccbc48ea54aeb4a4ba7fce636ff1daa':
stagefright: MPEG4Extractor: allow 'hdlr' box before first track
b1a13d01dccbc48ea54aeb4a4ba7fce636ff1daa 20-Oct-2015 Jon Larimer <jlarimer@google.com> Merge "stagefright: MPEG4Extractor: allow 'hdlr' box before first track" into klp-dev
017c35af4ab5caabcc81c7869dde58b9d96f86b3 07-Oct-2015 Marco Nelissen <marcone@google.com> am 56b87a46: am 21f633e1: am bf42e44c: am 6f14568b: am f1790258: am 5e92fded: am 64cdd5f2: am f2cf2bd7: am 07395f4c: am 00f5fa82: am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit '56b87a460b7638ac8ec6b03177266d59a3d9c807':
Check NAL size before use
6f14568be83995a0ee0104f521f93e1e4d9902f3 06-Oct-2015 Marco Nelissen <marcone@google.com> am f1790258: am 5e92fded: am 64cdd5f2: am f2cf2bd7: am 07395f4c: am 00f5fa82: am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit 'f1790258494751adc629126666e7dd81bbc8afbd':
Check NAL size before use
f1790258494751adc629126666e7dd81bbc8afbd 06-Oct-2015 Marco Nelissen <marcone@google.com> am 5e92fded: am 64cdd5f2: am f2cf2bd7: am 07395f4c: am 00f5fa82: am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit '5e92fdede2391b77cff5fe914d748e1023d0ef90':
Check NAL size before use
64cdd5f243ffdb9460ae3d17bd2a732560fc8395 06-Oct-2015 Marco Nelissen <marcone@google.com> am f2cf2bd7: am 07395f4c: am 00f5fa82: am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit 'f2cf2bd7448734c6881e3bea2b758f2bf9feeed9':
Check NAL size before use
b8f5d50cd652b4ff6121b9107b5dd7d91ca5929e 06-Oct-2015 Wei Jia <wjia@google.com> am 3674abc0: am fb0d63df: am 62d89908: am df68d9d5: am 60b25aa0: am 9ab9c85e: Merge "MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData." into klp-dev

* commit '3674abc050997e664c3906b8507d9d4b63d52e9d':
MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.
fb0d63df2393a5e20cbb16d90ed5c01295a81836 06-Oct-2015 Wei Jia <wjia@google.com> am 62d89908: am df68d9d5: am 60b25aa0: am 9ab9c85e: Merge "MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData." into klp-dev

* commit '62d89908f6c7e3da9dac36aa439ceb1c2522b86d':
MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.
07395f4cd72cf29d1de2864cde42876db4e54411 06-Oct-2015 Marco Nelissen <marcone@google.com> am 00f5fa82: am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit '00f5fa82d884c0ca41ee08e7a67ab54238109083':
Check NAL size before use
00f5fa82d884c0ca41ee08e7a67ab54238109083 06-Oct-2015 Marco Nelissen <marcone@google.com> am 74d1927e: Merge "Check NAL size before use" into klp-dev

* commit '74d1927e4122a1748f89ca2ef79406fc06ee94b2':
Check NAL size before use
df68d9d5bf5329bc2f7effb6afa1d3904eaf30d8 06-Oct-2015 Wei Jia <wjia@google.com> am 60b25aa0: am 9ab9c85e: Merge "MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData." into klp-dev

* commit '60b25aa0c173854593743dd85588c7449baf87c0':
MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.
74d1927e4122a1748f89ca2ef79406fc06ee94b2 06-Oct-2015 Marco Nelissen <marcone@google.com> Merge "Check NAL size before use" into klp-dev
60b25aa0c173854593743dd85588c7449baf87c0 06-Oct-2015 Wei Jia <wjia@google.com> am 9ab9c85e: Merge "MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData." into klp-dev

* commit '9ab9c85e39f089f355faa9cd9db6d113dc482e61':
MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.
5d101298d8b0a78a1dc5bd26dbdada411f4ecd4d 03-Oct-2015 Marco Nelissen <marcone@google.com> Check NAL size before use

Bug: 24441553
Bug: 24445122
Change-Id: Ib7f025769adbafd5a2cb64fae5562a0a565945c2
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
280ac6b1bd710dac1678cc0bfa75ce6a78a83a27 06-Oct-2015 Wei Jia <wjia@google.com> am 78fd5432: am 0721bec2: am ee481c9b: am 47abfa32: Merge "MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData." into mnc-dev

* commit '78fd543275430b44fe3053d6f57f43655cd7bcb1':
MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.
e6d904fe5f6e7c7fc1d5fca2798dd3512468b118 28-Sep-2015 Wei Jia <wjia@google.com> MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.

Bug: 24346430
Change-Id: I897a724e968841d9160f819d06c0ce22f6d743c4
(cherry picked from commit 5cae16bdce77b0a3ba590b55637f7d55a2f35402)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
302b546bdccc777c1d3100510cd928e8bdf55fa5 01-Sep-2015 Lajos Molnar <lajos@google.com> stagefright: MPEG4Extractor: allow 'hdlr' box before first track

Bug: 21725583
Change-Id: I799c1967759c7e49fb50281a1708188450caac77
(cherry picked from commit cf75af8f76265fb2909028f5dc68c7029dbe5f49)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5cae16bdce77b0a3ba590b55637f7d55a2f35402 28-Sep-2015 Wei Jia <wjia@google.com> MPEG4Extractor: ensure buffer size is not less than 8 for LastCommentData.

Bug: 24346430
Change-Id: I897a724e968841d9160f819d06c0ce22f6d743c4
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0386c91b8a910a134e5898ffa924c1b6c7560b13 28-Aug-2015 Wei Jia <wjia@google.com> MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

GenericSource: return error when no track exists.

SampleIterator: make sure mSamplesPerChunk is not zero before using it as divisor.

Bug: 21657957
Bug: 23705695
Bug: 22802344
Change-Id: I7664992ade90b935d3f255dcd43ecc2898f30b04
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a44ad9cefb0e2ff4091c8f58368c8b94779212aa 04-Sep-2015 Wei Jia <wjia@google.com> MPEG4Extractor: sanity check all conditions before creating MPEG4Source.

Bug: 23532209
Change-Id: I761481293fa963c3e0c4c4ad76b8aa7eac3cddfd
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a968636510ef95246473062c60bfe91eccef5109 03-Sep-2015 Lajos Molnar <lajos@google.com> am f8fcf620: am dcdfe1a1: am d35955dd: Merge "stagefright: MPEG4Extractor: allow \'hdlr\' box before first track" into mnc-dev

* commit 'f8fcf620459fd58834bfbdc1396a0687cb986eeb':
stagefright: MPEG4Extractor: allow 'hdlr' box before first track
cf75af8f76265fb2909028f5dc68c7029dbe5f49 01-Sep-2015 Lajos Molnar <lajos@google.com> stagefright: MPEG4Extractor: allow 'hdlr' box before first track

Bug: 21725583
Change-Id: I799c1967759c7e49fb50281a1708188450caac77
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
452599f23a36207d436f7275ebc7e3ccac6ca76c 29-Aug-2015 Marco Nelissen <marcone@google.com> Prevent infinite loops when parsing files

Bug: 23540914
Change-Id: I5d7c63cbb697c99cc3746e3c96f7c1f720896eba
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a6bafbc5da25db600d7311c0ba47a3fe034b4471 25-Aug-2015 Marco Nelissen <marcone@google.com> am 2c02f5ee: am 719cd33e: am 492bba08: am d18bb120: am 09f71c56: am dedaca6f: Limit allocations to avoid out-of-memory

* commit '2c02f5eeec639825ece4acbca0d1969da192dca0':
Limit allocations to avoid out-of-memory
719cd33e4ebc1c600772f81db28f81ccfe99ec4e 23-Aug-2015 Marco Nelissen <marcone@google.com> am 492bba08: am d18bb120: am 09f71c56: am dedaca6f: Limit allocations to avoid out-of-memory

* commit '492bba08202a601e96a13b26422c85b3fb1a5ee0':
Limit allocations to avoid out-of-memory
d18bb120442fcc04efe269e6a26f83265eea40c8 23-Aug-2015 Marco Nelissen <marcone@google.com> am 09f71c56: am dedaca6f: Limit allocations to avoid out-of-memory

* commit '09f71c5621799e0f030b4a8058d2fb4df5977de0':
Limit allocations to avoid out-of-memory
09f71c5621799e0f030b4a8058d2fb4df5977de0 23-Aug-2015 Marco Nelissen <marcone@google.com> am dedaca6f: Limit allocations to avoid out-of-memory

* commit 'dedaca6f04ac9f95fabe3b64d44cd1a2050f079e':
Limit allocations to avoid out-of-memory
dedaca6f04ac9f95fabe3b64d44cd1a2050f079e 04-Jun-2015 Marco Nelissen <marcone@google.com> Limit allocations to avoid out-of-memory

Corrupt files could cause very large allocations, limit them to something
more reasonable.

Bug: 17769851
Change-Id: Ib0f722fd6fddff873bd7a547aac456e608c34c84
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ddb63b46279a1bb3698cebb6c744013fc3bb17e2 20-Aug-2015 Wei Jia <wjia@google.com> am f8f0e0b7: am 562be234: am f076fabf: am 0af43510: am 2562495d: am a590baca: Merge commit \'6ae815e0\' into HEAD

* commit 'f8f0e0b756b0f96eccc94af89a0087c146232b26':
libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.
f8f0e0b756b0f96eccc94af89a0087c146232b26 20-Aug-2015 Wei Jia <wjia@google.com> am 562be234: am f076fabf: am 0af43510: am 2562495d: am a590baca: Merge commit \'6ae815e0\' into HEAD

* commit '562be234743f7d82f8ee45cf0258e9db8239a817':
libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.
eb10ccbc9dcab8ec3ee22a1c2b2db4a673c6fdc2 20-Aug-2015 Marco Nelissen <marcone@google.com> resolved conflicts for merge of 8a064aa8 to klp-modular-dev

Change-Id: If031955c9edca657401831fbfa5a128f0b4c6d86
8a064aa83ad590b61ddd84e678c59f0d1f68106c 20-Aug-2015 Marco Nelissen <marcone@google.com> Merge "Fail more gracefully on allocation failure" into klp-dev
f076fabff7a518ed5668a9a1be03dd729b8cbfb6 20-Aug-2015 Wei Jia <wjia@google.com> am 0af43510: am 2562495d: am a590baca: Merge commit \'6ae815e0\' into HEAD

* commit '0af43510cc45373614cdfce7d014283100e96cb9':
libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.
2562495de9338e14ca3a3ef74ce07a7b310cd1fb 20-Aug-2015 Wei Jia <wjia@google.com> am a590baca: Merge commit \'6ae815e0\' into HEAD

* commit 'a590baca031199327f6382347625dd232de2c95c':
libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.
a590baca031199327f6382347625dd232de2c95c 20-Aug-2015 Wei Jia <wjia@google.com> Merge commit '6ae815e0' into HEAD

libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.

Bug: 23270724
(cherry picked from commit c51ab7dd82bf4e24666fc72a55e03e2f530204d5)

Change-Id: I44c642548ee6ba3745fb1f46d8645bece231035a
937c6bedd4b6e5c6cb29a238eb459047dedd3486 18-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.

Bug: 23270724
Change-Id: Id7ba55c7bf6860fbfc892bbb6378aac644c82da4
(cherry picked from commit c51ab7dd82bf4e24666fc72a55e03e2f530204d5)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
23565920c34c8163520342c4906b52a0e20aeb67 20-Aug-2015 Nick Kralevich <nnk@google.com> am a598bac2: am a3a29952: am 4b153ff9: am 2f3c04a4: resolved conflicts for merge of 6035c811 to lmp-dev

* commit 'a598bac211012fa1b4bd603f47755781ffb2e38c':
MPEG4Source::fragmentedRead: check range before writing into buffers
c5a1824fce1228ed93aef4d3abe34ffeffd9e663 20-Aug-2015 Jon Larimer <jlarimer@google.com> am ccf0e448: am 6f0b1b3e: am 484ebc81: am a1e462e5: am 0afecdeb: am aa1cc741: Merge "Check buffer size before using it" into klp-dev

* commit 'ccf0e44889f1d4cf5707081556a8b7b62707d62d':
Check buffer size before using it
75f6043574256313de760628806df441566fd114 20-Aug-2015 Abhishek Arya <aarya@google.com> am 527ad688: am 8a83ce9c: am 54ea6c02: am 5ff4bb7a: am 8026ad38: am 6efa86be: Merge "Check vector size before accessing" into klp-dev

* commit '527ad688e8d1e89d903351c5fbf39514da52adbe':
Check vector size before accessing
dc9533064a989ad1726f9f89ed43115fee019fb2 20-Aug-2015 Wei Jia <wjia@google.com> am 4f0ff02b: am 46f7acbb: am 3175ff3f: am 90eee339: am 652926c8: am 74d3170f: Merge "Fix comparison sign warnings." into klp-dev

* commit '4f0ff02b159892bfa5d3d298efc165e96f93288b':
Fix comparison sign warnings.
c51ab7dd82bf4e24666fc72a55e03e2f530204d5 18-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix overflow in MPEG4Source::parseSampleAuxiliaryInformationOffsets.

Bug: 23270724
Change-Id: Id7ba55c7bf6860fbfc892bbb6378aac644c82da4
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3878b990f7d53eae7c2cf9246b6ef2db5a049872 13-Jun-2014 Marco Nelissen <marcone@google.com> Fail more gracefully on allocation failure

Check allocations when the size is read from a file and might therefore
be invalid.

b/14388161

Change-Id: Ia08cc0a6107f275a70e793ef3b50c0ce16ceeee0
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a3a29952f485cd2ebf521273a7b36aac586451cf 18-Aug-2015 Nick Kralevich <nnk@google.com> am 4b153ff9: am 2f3c04a4: resolved conflicts for merge of 6035c811 to lmp-dev

* commit '4b153ff9b5c979684ed0a53d52a3ad90ec7f7d22':
MPEG4Source::fragmentedRead: check range before writing into buffers
2f3c04a4e92aabea09325cd6870d74a705d98dd8 18-Aug-2015 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 6035c811 to lmp-dev

Change-Id: Icf911f31e207c4c658047f6bfe8088d697b04ed6
6f0b1b3e25eb2db2e8465f13268c297fa9070012 18-Aug-2015 Jon Larimer <jlarimer@google.com> am 484ebc81: am a1e462e5: am 0afecdeb: am aa1cc741: Merge "Check buffer size before using it" into klp-dev

* commit '484ebc81263a627b5e24e65373ab0752996ca0c8':
Check buffer size before using it
8a83ce9cf5487921596161c31714ae1a5e8db6b7 18-Aug-2015 Abhishek Arya <aarya@google.com> am 54ea6c02: am 5ff4bb7a: am 8026ad38: am 6efa86be: Merge "Check vector size before accessing" into klp-dev

* commit '54ea6c02570ca87e94b03e0a8468dfc2f20536b7':
Check vector size before accessing
a1e462e5531db20d1dc70c3e24c82879a0a90870 18-Aug-2015 Jon Larimer <jlarimer@google.com> am 0afecdeb: am aa1cc741: Merge "Check buffer size before using it" into klp-dev

* commit '0afecdebaea1982ead120a701ddd24f2b0ff3897':
Check buffer size before using it
5ff4bb7a65f0495c2cd79413ef3001b208ae7e2c 18-Aug-2015 Abhishek Arya <aarya@google.com> am 8026ad38: am 6efa86be: Merge "Check vector size before accessing" into klp-dev

* commit '8026ad3838e2f7367e8ff616f66b2c2f8bc8488c':
Check vector size before accessing
6035c811849a8475697268cf71b5cf923705abe8 18-Aug-2015 Jon Larimer <jlarimer@google.com> am 0d46c937: Merge "MPEG4Source::fragmentedRead: check range before writing into buffers" into klp-dev

* commit '0d46c93785e2c426be11172bec0489b698fea6c3':
MPEG4Source::fragmentedRead: check range before writing into buffers
0afecdebaea1982ead120a701ddd24f2b0ff3897 18-Aug-2015 Jon Larimer <jlarimer@google.com> am aa1cc741: Merge "Check buffer size before using it" into klp-dev

* commit 'aa1cc74139341eb3ae9511af5310b965dbf890f4':
Check buffer size before using it
0d46c93785e2c426be11172bec0489b698fea6c3 18-Aug-2015 Jon Larimer <jlarimer@google.com> Merge "MPEG4Source::fragmentedRead: check range before writing into buffers" into klp-dev
aa1cc74139341eb3ae9511af5310b965dbf890f4 18-Aug-2015 Jon Larimer <jlarimer@google.com> Merge "Check buffer size before using it" into klp-dev
8026ad3838e2f7367e8ff616f66b2c2f8bc8488c 18-Aug-2015 Abhishek Arya <aarya@google.com> am 6efa86be: Merge "Check vector size before accessing" into klp-dev

* commit '6efa86beff54332cbf7bbd4949b0c38c1ec8c5cd':
Check vector size before accessing
6efa86beff54332cbf7bbd4949b0c38c1ec8c5cd 18-Aug-2015 Abhishek Arya <aarya@google.com> Merge "Check vector size before accessing" into klp-dev
46f7acbb3d323a3f67ba1f91494b7466676b7122 18-Aug-2015 Wei Jia <wjia@google.com> am 3175ff3f: am 90eee339: am 652926c8: am 74d3170f: Merge "Fix comparison sign warnings." into klp-dev

* commit '3175ff3f343ecd85700e2029d7709ce960272967':
Fix comparison sign warnings.
90eee3397ad45bdae462f9f2ce0ef7d3b1e2957d 18-Aug-2015 Wei Jia <wjia@google.com> am 652926c8: am 74d3170f: Merge "Fix comparison sign warnings." into klp-dev

* commit '652926c8a37fb904aaa0756a0d0bae0574f308c5':
Fix comparison sign warnings.
652926c8a37fb904aaa0756a0d0bae0574f308c5 18-Aug-2015 Wei Jia <wjia@google.com> am 74d3170f: Merge "Fix comparison sign warnings." into klp-dev

* commit '74d3170ffc02620fcedb5a98c7a66e83ee2faa87':
Fix comparison sign warnings.
f810a8298aea13fa177060cdc10c8297eac69c49 23-Jun-2015 Robert Shih <robertshih@google.com> MPEG4Source::fragmentedRead: check range before writing into buffers

Bug: 22008959
Change-Id: I5f6e188adcc593796455bdaf7b0b8aba672b106e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f11e95b21007f24e5ab77298370855f9f085b2d7 01-Jul-2015 Marco Nelissen <marcone@google.com> Check buffer size before using it

Bug: 21814993
Change-Id: Idaac61b4b9f4058b94e84093644593ba315d72ff
(cherry picked from commit c1a104aaad2d84a57bf5d87dd030d2bef56bf541)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7e9ac3509d72e8dc6f1316b5ce0a0066638b9737 08-May-2015 Dan Albert <danalbert@google.com> Fix comparison sign warnings.

Bug:23213430

Change-Id: I6f2e2b03b968a569b122004b4803c5d17fccfb12
(cherry picked from commit 635bc8f90429b2fdcaf7f8d43f7f59bcd0fe951c)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
073e4f6748f5d7deb095c42fad9271cb99e22d07 24-Jul-2015 Marco Nelissen <marcone@google.com> Check vector size before accessing

Bug: 22388975
Change-Id: I3c157b1029d37f6a22e6302ea7b52077fe27ce53
(cherry picked from commit 529c595b083f8a4c3175e2350fba5547e6008e00)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
94f8150be2041f73c2f185f2c3622a9537d47454 11-Aug-2015 Nick Kralevich <nnk@google.com> resolved conflicts for merge of c86eae32 to klp-modular-dev

Change-Id: I127912aed9c9e57a985c46bee13d111e159d2c6f
c86eae32ebb0cc580a13dde30fe765a96b8e701c 11-Aug-2015 Nick Kralevich <nnk@google.com> am 9d9491f9: am 0dbd0d7b: am c9924410: am 2fe61ed0: am 3b8d3fa0: am 186d1fb9: am f4dfe12e: am 54d88fe2: am aa8dab77: Merge "MPEG4Extractor.cpp: Add check for size == SIZE_MAX" into jb-dev

* commit '9d9491f9fb83523cfe68f2aa26c14f72f70812fc':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
0dbd0d7bfe340ac46271c7f87969431b62a023ed 11-Aug-2015 Nick Kralevich <nnk@google.com> am c9924410: am 2fe61ed0: am 3b8d3fa0: am 186d1fb9: am f4dfe12e: am 54d88fe2: am aa8dab77: Merge "MPEG4Extractor.cpp: Add check for size == SIZE_MAX" into jb-dev

* commit 'c99244105803ac32f4cc698b5b2a85b225d925a2':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
c99244105803ac32f4cc698b5b2a85b225d925a2 11-Aug-2015 Nick Kralevich <nnk@google.com> am 2fe61ed0: am 3b8d3fa0: am 186d1fb9: am f4dfe12e: am 54d88fe2: am aa8dab77: Merge "MPEG4Extractor.cpp: Add check for size == SIZE_MAX" into jb-dev

* commit '2fe61ed032e083dc39265f3b88274fcb8fbeed9b':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
f4dfe12ecd26e7d6965a2abc062709b6d7d942c4 11-Aug-2015 Nick Kralevich <nnk@google.com> am 54d88fe2: am aa8dab77: Merge "MPEG4Extractor.cpp: Add check for size == SIZE_MAX" into jb-dev

* commit '54d88fe2f17b1c5c6e4d0d1d1e36089fea3a1df0':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
9872cdceaf76727e9ccc353ee41957b957b76566 08-Aug-2015 Nick Kralevich <nnk@google.com> am 5aa85d05: am 74cda34a: am 41d93c2f: am c88ddfc0: am 2abbc048: am ba34c2ba: am f59348ed: am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit '5aa85d05aaeb5509597b7876942b6f5e543a451c':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
5aa85d05aaeb5509597b7876942b6f5e543a451c 08-Aug-2015 Nick Kralevich <nnk@google.com> am 74cda34a: am 41d93c2f: am c88ddfc0: am 2abbc048: am ba34c2ba: am f59348ed: am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit '74cda34ac909eb713cec22bebb08ecaeefd8f7dd':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
41d93c2f0a744fc6cd1aafce9a0eef57355bbf0f 08-Aug-2015 Nick Kralevich <nnk@google.com> am c88ddfc0: am 2abbc048: am ba34c2ba: am f59348ed: am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit 'c88ddfc09338969a4c8fc32be1d3dffb9022a237':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
2abbc048837182bda04037f53309cde4c73f017d 08-Aug-2015 Nick Kralevich <nnk@google.com> am ba34c2ba: am f59348ed: am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit 'ba34c2ba414352ed0c1b9188f51c5445b04af2c6':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
ba34c2ba414352ed0c1b9188f51c5445b04af2c6 08-Aug-2015 Nick Kralevich <nnk@google.com> am f59348ed: am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit 'f59348edfc54baa8f6e6532c6484656cf444d199':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
f59348edfc54baa8f6e6532c6484656cf444d199 08-Aug-2015 Nick Kralevich <nnk@google.com> am 0080e03e: am 3ebcce0e: am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit '0080e03e2a69dcb5ecbcb2848f358ca73163714c':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
3ebcce0e3fda1ffae9453ca0cc389ee852e1d0a2 08-Aug-2015 Nick Kralevich <nnk@google.com> am 2c0f9591: am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit '2c0f959112a1d9048e8dc527f2f9dc0cc3e490c9':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
2c0f959112a1d9048e8dc527f2f9dc0cc3e490c9 08-Aug-2015 Nick Kralevich <nnk@google.com> am fea5921b: am 9fff1d37: am d9d35098: am af6b3a6b: am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit 'fea5921b975cf43c88b8f93d4f2500abde6088be':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
aa8dab77aa9ef1bb6e5414ee5e773001de725bef 08-Aug-2015 Nick Kralevich <nnk@google.com> Merge "MPEG4Extractor.cpp: Add check for size == SIZE_MAX" into jb-dev
b3adb709bd278004de5764ce45b51140aefcc4c8 08-Aug-2015 Marco Nelissen <marcone@google.com> am 6323529b: am 2424d28b: am c40ef744: am af3c0475: am 9c67741f: am 2e637bfd: Merge "Extra sanity checks on sample size and resolution" into klp-dev

* commit '6323529b60f29ad1e18757f4aadc08f2aa0e846b':
Extra sanity checks on sample size and resolution
2424d28b42edd66e6806244cddf2a5eb8675f652 08-Aug-2015 Marco Nelissen <marcone@google.com> am c40ef744: am af3c0475: am 9c67741f: am 2e637bfd: Merge "Extra sanity checks on sample size and resolution" into klp-dev

* commit 'c40ef74448ddb09b676cc4c79a202ee73fccad39':
Extra sanity checks on sample size and resolution
af3c0475b9ee8b9e69e435b2bdd11e5c9172b050 08-Aug-2015 Marco Nelissen <marcone@google.com> am 9c67741f: am 2e637bfd: Merge "Extra sanity checks on sample size and resolution" into klp-dev

* commit '9c67741f9f7ccc1007c7ecb44b8037210c733723':
Extra sanity checks on sample size and resolution
9c67741f9f7ccc1007c7ecb44b8037210c733723 08-Aug-2015 Marco Nelissen <marcone@google.com> am 2e637bfd: Merge "Extra sanity checks on sample size and resolution" into klp-dev

* commit '2e637bfd64c59200414130671e32e3e087e9f147':
Extra sanity checks on sample size and resolution
af6b3a6bc44e65e6dbf95c1e5dadf76aa78018d9 08-Aug-2015 Nick Kralevich <nnk@google.com> am bce77a36: am 0e20b209: MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

* commit 'bce77a36125b25ce864b40bd5938ca89becea898':
MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX
0e20b2093aa2bbc93afed8d68d3765d18a431b74 07-Aug-2015 Nick Kralevich <nnk@google.com> MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

chunk_size is a uint64_t, so it can legitimately be bigger
than SIZE_MAX, which would cause the subtraction to underflow.

https://code.google.com/p/android/issues/detail?id=182251

Bug: 23034759
Change-Id: Ic1637fb26bf6edb0feb1bcf2876fd370db1ed547
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2ca9865ea0c8124c6cbb48c023aec267d3e78978 07-Aug-2015 Nick Kralevich <nnk@google.com> am 1a053a0a: am 6f3dc2f3: am c253c1fd: am b449e469: am c5707784: MPEG4Extractor.cpp: Add check for size == SIZE_MAX

* commit '1a053a0ae002cdda31c39d4c7447b1f7e65dfec6':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
1a053a0ae002cdda31c39d4c7447b1f7e65dfec6 07-Aug-2015 Nick Kralevich <nnk@google.com> am 6f3dc2f3: am c253c1fd: am b449e469: am c5707784: MPEG4Extractor.cpp: Add check for size == SIZE_MAX

* commit '6f3dc2f34ed8043d30937f436979ef360dcf3774':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
a1e21653e86d21a4ab0946ee2761b6f0163d5742 07-Aug-2015 Nick Kralevich <nnk@google.com> MPEG4Extractor.cpp: Add check for size == SIZE_MAX

If size == SIZE_MAX, the line:

uint8_t *buffer = new (std::nothrow) uint8_t[size + 1];

ends up allocating zero bytes, which is obviously incorrect.

This is conceptually a cherrypick of commit
b2d33aee5122c91a59c2a676c0b89ad340232450 , but specifically for
Android 4.1 through Android 4.4. In Android 5.0, new code
was introduced which caused the function parseMetaData()
to be renamed.

Bug: 23031033
Change-Id: Ib34e740f3292a484f8a24e513c1cce58f2f33ecb
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c253c1fdfebf6c9f6f7ee8ebbf6e0759c431e947 07-Aug-2015 Nick Kralevich <nnk@google.com> am b449e469: am c5707784: MPEG4Extractor.cpp: Add check for size == SIZE_MAX

* commit 'b449e46904854eccea79a40e16b2ba5132611bf3':
MPEG4Extractor.cpp: Add check for size == SIZE_MAX
c570778430a22b5488cae72982cf9fb8033dbda3 04-Aug-2015 Nick Kralevich <nnk@google.com> MPEG4Extractor.cpp: Add check for size == SIZE_MAX

If size == SIZE_MAX, the line:

uint8_t *buffer = new (std::nothrow) uint8_t[size + 1];

ends up allocating zero bytes, which is obviously incorrect.

(cherry picked from commit b2d33aee5122c91a59c2a676c0b89ad340232450)

Bug: 23031033
Change-Id: I8027247a4e24d2c8a8b4eac88c3643eccda108b9
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
905aae465fa88d6d793c670c08c360900c6cb3f7 07-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am 11c88f66: am 2796ba1c: am a555788d: am 0e33cb2d: am e4ccf3a1: am 3329a19b: am c87faed6: Fix integer underflow in covr MPEG4 processing

* commit '11c88f66205dd9095cbe87f3486ef7262e4d2e22':
Fix integer underflow in covr MPEG4 processing
bcc8e5817fa3dc624f214e58f756098053ac5682 07-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am bb99a362: am 8d60fc3e: am 338bbf53: am fd334e34: am 03d539a7: am a5b9055d: am f1ce97dd: Fix integer overflow when handling MPEG4 tx3g atom

* commit 'bb99a362dc76f9bf040f6256369fabf27ad1c2f5':
Fix integer overflow when handling MPEG4 tx3g atom
a421314f9cc1b061d94a79e2aa1a92916ea4b9bf 07-Aug-2015 Nick Kralevich <nnk@google.com> am 430475da: resolved conflicts for merge of 0b3eca88 to jb-mr1-dev-plus-aosp

* commit '430475da7f0edb86ee6a85378d1583ab07f7f93d':
Prevent integer overflow when processing covr MPEG4 atoms
11c88f66205dd9095cbe87f3486ef7262e4d2e22 07-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am 2796ba1c: am a555788d: am 0e33cb2d: am e4ccf3a1: am 3329a19b: am c87faed6: Fix integer underflow in covr MPEG4 processing

* commit '2796ba1c511517a4904d10d1fdc830c86d161342':
Fix integer underflow in covr MPEG4 processing
bb99a362dc76f9bf040f6256369fabf27ad1c2f5 07-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am 8d60fc3e: am 338bbf53: am fd334e34: am 03d539a7: am a5b9055d: am f1ce97dd: Fix integer overflow when handling MPEG4 tx3g atom

* commit '8d60fc3e3ecd4d7c2b18f25962f0ea42f3644ebd':
Fix integer overflow when handling MPEG4 tx3g atom
430475da7f0edb86ee6a85378d1583ab07f7f93d 07-Aug-2015 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 0b3eca88 to jb-mr1-dev-plus-aosp

Bug: 20923261
Change-Id: I6fe12a7c5768f77454bd0391b07f4c3181607d14
dc21af06560005f5e1cbb29ad60555ea08a5cf93 07-Aug-2015 Marco Nelissen <marcone@google.com> Merge "Check that we have enough bits to read" into mnc-dev
8e0cc331a5b2e24016d8c5b8da11591cdd7c0fc0 06-Aug-2015 Marco Nelissen <marcone@google.com> Check that we have enough bits to read

ABitReader doesn't like running out of bits.

Bug: 23010169
Change-Id: I11fc82834eec19617e63fc7817388391ed7a0634
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
51a87ac31186204090f6e3d6570f7767b0a053a5 06-Aug-2015 Marco Nelissen <marcone@google.com> Merge "Guard against pssh overflows" into mnc-dev
e6f5d47a7f9eab8a0009f8a563de473cd47d3110 04-Aug-2015 Marco Nelissen <marcone@google.com> Extra sanity checks on sample size and resolution

Instead of rejecting the samples later when they don't fit in the
buffer, reject the entire file early.

Bug: 22882938
Change-Id: I748153b0e9e827e3f2526468756295b4b5000de6
(cherry picked from commit beef7e58c1f1837bdaed6ac37414d8c48a133813)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e4ccf3a14beabfeeb6c7df47ae118f3db999c1ce 04-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am 3329a19b: am c87faed6: Fix integer underflow in covr MPEG4 processing

* commit '3329a19b4d11d3c1310bbe9aa54b6a66488ab862':
Fix integer underflow in covr MPEG4 processing
03d539a7a9c8ae7aef9cb8bda9042187327566a2 04-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am a5b9055d: am f1ce97dd: Fix integer overflow when handling MPEG4 tx3g atom

* commit 'a5b9055d7ce1d82ee29ed2f45aa4f8a82ccc76f2':
Fix integer overflow when handling MPEG4 tx3g atom
52d1defcfe51bd3b5f4e191fb70a0a0a406c33dc 04-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> am 9481a101: am a81b3779: Prevent integer overflow when processing covr MPEG4 atoms

* commit '9481a101f8246263d969af66a7b39fad7346772e':
Prevent integer overflow when processing covr MPEG4 atoms
c87faed60483afb2466e03892bda80b72e5822c7 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer underflow in covr MPEG4 processing

When the 'chunk_data_size' variable is less than 'kSkipBytesOfDataBox', an
integer underflow can occur. This causes an extraordinarily large value to
be passed to MetaData::setData, leading to a buffer overflow.

Bug: 20923261
(cherry picked from commit 4a492bf2ac47b9844d2527e1fcdf0064c3d8d52e)

Change-Id: I83490cbaf5b368073fcd8668a9241dfc90bebd90
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f1ce97ddc2f82d844a6fb8341585eb7b2e655f44 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer overflow when handling MPEG4 tx3g atom

When the sum of the 'size' and 'chunk_size' variables is larger than 2^32,
an integer overflow occurs. Using the result value to allocate memory
leads to an undersized buffer allocation and later a potentially
exploitable heap corruption condition. Ensure that integer overflow does
not occur.

Bug: 20923261
(cherry picked from commit e5f0966c76bd0a7e81e4205c8d8b55e6b34c833e)

Change-Id: I3f240f75fd681becbf89cb7e7554388471c28059
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a81b3779cc6f6046c8a9149bf544e9d726c9b2b2 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer overflow when processing covr MPEG4 atoms

If the 'chunk_data_size' value is SIZE_MAX, an integer overflow will occur
and cause an undersized buffer to be allocated. The following processing
then overfills the resulting memory and creates a potentially exploitable
condition. Ensure that integer overflow does not occur.

(cherrypicked from commit 05ddc499b9d50c90f552ed1333110f28a1406e7c)

Bug: 20923261
Change-Id: If09a02738759acdff8d95149bb9cb5f18a0a123e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
beef7e58c1f1837bdaed6ac37414d8c48a133813 04-Aug-2015 Marco Nelissen <marcone@google.com> Extra sanity checks on sample size and resolution

Instead of rejecting the samples later when they don't fit in the
buffer, reject the entire file early.

Bug: 22882938
Change-Id: I748153b0e9e827e3f2526468756295b4b5000de6
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c9b255b7f771f55462cadd34e109bfee3bf80a3a 28-Jul-2015 Marco Nelissen <marcone@google.com> Guard against pssh overflows

Bug: 22796712
Change-Id: Ia6cad09101a7e354f9ced624302ec3af25d81078
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
529c595b083f8a4c3175e2350fba5547e6008e00 24-Jul-2015 Marco Nelissen <marcone@google.com> Check vector size before accessing

Bug: 22388975
Change-Id: I3c157b1029d37f6a22e6302ea7b52077fe27ce53
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6a8995e020e76ee7ffd0f1c9bb8e51d5881cf7e6 14-Jul-2015 Lajos Molnar <lajos@google.com> Merge "Check buffer size before using it" into mnc-dev
da93c7a3bd0da4acb2d920d4549ad9e302690af1 23-Jun-2015 Robert Shih <robertshih@google.com> MPEG4Source::fragmentedRead: check range before writing into buffers

Bug: 22008959
Change-Id: I5f6e188adcc593796455bdaf7b0b8aba672b106e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c1a104aaad2d84a57bf5d87dd030d2bef56bf541 01-Jul-2015 Marco Nelissen <marcone@google.com> Check buffer size before using it

Bug: 21814993
Change-Id: Idaac61b4b9f4058b94e84093644593ba315d72ff
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ca12af3ff5b7b9c37150209f6369ec511e010ffa 01-Jul-2015 Wei Jia <wjia@google.com> am 2d80c0a1: am a549658b: am 7397892d: am 402eaab9: am 370290f4: am bcd5edf9: am 13c925ca: am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev

* commit '2d80c0a13c40f29d2a4b4aca8765705cbb4b2fe8':
Prevent integer overflow when processing covr MPEG4 atoms
402eaab965809c09f1fdbd79533444d8b21b9afa 30-Jun-2015 Wei Jia <wjia@google.com> am 370290f4: am bcd5edf9: am 13c925ca: am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev

* commit '370290f400ff3057a71a192a70dfd69499aa8937':
Prevent integer overflow when processing covr MPEG4 atoms
bcd5edf99867b7bc10a3847d17cfb1e63b3b1764 30-Jun-2015 Wei Jia <wjia@google.com> am 13c925ca: am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev

* commit '13c925cab2decaed6786b0642f2b5a9f8516e71a':
Prevent integer overflow when processing covr MPEG4 atoms
7d3be41436e91a1d79b3a38c651bcd0d2c221f6d 12-Jun-2015 Wei Jia <wjia@google.com> am f475f6c0: am e168bdd2: am f19acf48: am 66b91b34: am e6382cb0: am 115e995c: resolved conflicts for merge of 1f44d837 to lmp-dev

* commit 'f475f6c0cf28f3b4c1ae677febb7590c70865f81':
Fix integer overflow when handling MPEG4 tx3g atom
7e2d436ff3338e42df5f31cf2aea4d0d19886b0c 12-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am 06880580: am 9784b406: am 49029189: am 30b72fcf: am 0773dc37: am 768a8fb4: am f0e1fb59: am 4a492bf2: Fix integer underflow in covr MPEG4 processing

* commit '068805802f78ff82e4ba40adffc33ddcd3b0eb8f':
Fix integer underflow in covr MPEG4 processing
3056e554741facd48cec8247790bb091d574972f 12-Jun-2015 Wei Jia <wjia@google.com> am c1768c9d: am 268b9692: am 9a4da6b1: am c98f2a0a: am e0095a19: am 86174e2c: Merge "Prevent reading past the end of the buffer in 3GPP" into lmp-dev

* commit 'c1768c9dae4e4ad1f92759c9c981d2d6e5bd29d6':
Prevent reading past the end of the buffer in 3GPP
acf52af62fcf14d18e4a557319a7307b7ed02c94 12-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am a2a912a7: am cacf9084: am 534ab954: am 10441a6f: am f02c5c9e: am 4d8ed149: Prevent integer underflow if size is below 6

* commit 'a2a912a71e97b92edd7a73452587e0897026ec1e':
Prevent integer underflow if size is below 6
4a4265e9fc4e72d069eb2de37c8484d67fd3a9fc 11-Jun-2015 Lajos Molnar <lajos@google.com> Merge "Added support for MPEG2 video in MPEG4Extractor" into mnc-dev
66b91b348d66102c8deb652929150446223ec767 11-Jun-2015 Wei Jia <wjia@google.com> am e6382cb0: am 115e995c: resolved conflicts for merge of 1f44d837 to lmp-dev

* commit 'e6382cb0e9e3fcf730faac3be661c9facd939d49':
Fix integer overflow when handling MPEG4 tx3g atom
30b72fcf1fbb4191fb5986eade487becc39cfcd1 11-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am 0773dc37: am 768a8fb4: am f0e1fb59: am 4a492bf2: Fix integer underflow in covr MPEG4 processing

* commit '0773dc374056f46ff2d98f6421e12365968ba423':
Fix integer underflow in covr MPEG4 processing
c98f2a0aa96c07aae6218e9e804ab18e9b50de3e 11-Jun-2015 Wei Jia <wjia@google.com> am e0095a19: am 86174e2c: Merge "Prevent reading past the end of the buffer in 3GPP" into lmp-dev

* commit 'e0095a19666afbab36dd0e8e4544e7f4ec9f890c':
Prevent reading past the end of the buffer in 3GPP
10441a6f3066d9ce279c478062a35a7e4e236e73 11-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am f02c5c9e: am 4d8ed149: Prevent integer underflow if size is below 6

* commit 'f02c5c9e4e13a493adcf39d0cba2a549d8caa4de':
Prevent integer underflow if size is below 6
115e995c6b3fe7ed33e2d5d88872cb87ab4e63f0 06-Jun-2015 Wei Jia <wjia@google.com> resolved conflicts for merge of 1f44d837 to lmp-dev

Change-Id: Id60c2470ec2afebdbc1c0c995b90e294c9c879eb
afd492436efc7f66b958da14659b52232efa5910 04-Jun-2015 Marco Nelissen <marcone@google.com> Limit allocations to avoid out-of-memory

Corrupt files could cause very large allocations, limit them to something
more reasonable.

Bug: 17769851
Change-Id: Ib0f722fd6fddff873bd7a547aac456e608c34c84
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
768a8fb4c05f524c802f8e97c9e07b73d1a196ff 05-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am f0e1fb59: am 4a492bf2: Fix integer underflow in covr MPEG4 processing

* commit 'f0e1fb59f3ea24ce4f7f10d156bf8470a7236445':
Fix integer underflow in covr MPEG4 processing
13c925cab2decaed6786b0642f2b5a9f8516e71a 05-Jun-2015 Wei Jia <wjia@google.com> am 6ff53b96: Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev

* commit '6ff53b96235bf99cdc1023b99d44f1c4cade1c0a':
Prevent integer overflow when processing covr MPEG4 atoms
1f44d837a9273dc86bf0c928c2ead313d71d1464 05-Jun-2015 Wei Jia <wjia@google.com> am 82e90e10: Merge "Fix integer overflow when handling MPEG4 tx3g atom" into klp-dev

* commit '82e90e10481c334bb5f2cecf1621cb8f9308c21c':
Fix integer overflow when handling MPEG4 tx3g atom
f0e1fb59f3ea24ce4f7f10d156bf8470a7236445 05-Jun-2015 Joshua J. Drake <android-open-source@qoop.org> am 4a492bf2: Fix integer underflow in covr MPEG4 processing

* commit '4a492bf2ac47b9844d2527e1fcdf0064c3d8d52e':
Fix integer underflow in covr MPEG4 processing
86174e2c09986b2d2ebcaf95a4a3e614bcf134ef 05-Jun-2015 Wei Jia <wjia@google.com> Merge "Prevent reading past the end of the buffer in 3GPP" into lmp-dev
6ff53b96235bf99cdc1023b99d44f1c4cade1c0a 05-Jun-2015 Wei Jia <wjia@google.com> Merge "Prevent integer overflow when processing covr MPEG4 atoms" into klp-dev
82e90e10481c334bb5f2cecf1621cb8f9308c21c 05-Jun-2015 Wei Jia <wjia@google.com> Merge "Fix integer overflow when handling MPEG4 tx3g atom" into klp-dev
4d8ed149894eff1e21195a29d939f2ec389fe5d7 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer underflow if size is below 6

When processing 3GPP metadata, a subtraction operation may underflow and
lead to a rather large linear byteswap operation in the subsequent
framedata decoding code. Bound the 'size' value to prevent this from
occurring.

Bug: 20923261
Change-Id: I35dfbc8878c6b65cfe8b8adb7351a77ad4d604e5
(cherry picked from commit 9458e715d391ee8fe455fc31f07ff35ce12e0531)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
d89104a3d5a16298742110bff1d10b43d16fef7b 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent reading past the end of the buffer in 3GPP

Metadata processed within the parse3GPPMetaData function may not be NUL
terminated and thus calling setCString may read out of bounds. Ensure
proper NUL termination, but take care not to interfere with other special
cases (ie, albm).

Bug: 20923261
Change-Id: Ie93b3038b534b4c4460571a68f4d734cff7ad324
(cherry picked from commit 5cea0155cfc41f67e91343c342f44251c03fde3a)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
05ddc499b9d50c90f552ed1333110f28a1406e7c 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer overflow when processing covr MPEG4 atoms

If the 'chunk_data_size' value is SIZE_MAX, an integer overflow will occur
and cause an undersized buffer to be allocated. The following processing
then overfills the resulting memory and creates a potentially exploitable
condition. Ensure that integer overflow does not occur.

Bug: 20923261
Change-Id: I75cce323aec04a612e5a230ecd7c2077ce06035f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e5f0966c76bd0a7e81e4205c8d8b55e6b34c833e 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer overflow when handling MPEG4 tx3g atom

When the sum of the 'size' and 'chunk_size' variables is larger than 2^32,
an integer overflow occurs. Using the result value to allocate memory
leads to an undersized buffer allocation and later a potentially
exploitable heap corruption condition. Ensure that integer overflow does
not occur.

Bug: 20923261
Change-Id: Id050a36b33196864bdd98b5ea24241f95a0b5d1f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
4a492bf2ac47b9844d2527e1fcdf0064c3d8d52e 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer underflow in covr MPEG4 processing

When the 'chunk_data_size' variable is less than 'kSkipBytesOfDataBox', an
integer underflow can occur. This causes an extraordinarily large value to
be passed to MetaData::setData, leading to a buffer overflow.

Bug: 20923261
Change-Id: Icd28f63594ad941eabb3a12c750a4a2d5d2bf94b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
814463259cfc0b3c30535e6cba89a736f56c4a16 13-May-2015 Lajos Molnar <lajos@google.com> am 0eb7c793: am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit '0eb7c79398ef04e457c76f117feef6d7bcbbc684':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
0eb7c79398ef04e457c76f117feef6d7bcbbc684 13-May-2015 Lajos Molnar <lajos@google.com> am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit 'b5fbb81157eaab594bb37275176a0a178098dc46':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
bcf2becf206b5d56c89bf2b43356fd7995003302 13-May-2015 Lajos Molnar <lajos@google.com> am c531d995: am 438217a0: Merge "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into lmp-dev

* commit 'c531d9956513b9b82dad84aeb507b866e6b3951a':
Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
a3e8f60f5e409f65f12636df5fad7f20ff736df5 11-May-2015 Robert Shih <robertshih@google.com> am 7acac10a: Merge "DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes" into klp-dev

* commit '7acac10aae34da5ae4d628c5a270e7e3e94f7598':
DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes
635bc8f90429b2fdcaf7f8d43f7f59bcd0fe951c 08-May-2015 Dan Albert <danalbert@google.com> Fix comparison sign warnings.

Change-Id: I6f2e2b03b968a569b122004b4803c5d17fccfb12
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1e51401794ff830c912c21123c321b83c17b491d 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer overflow when processing covr MPEG4 atoms

If the 'chunk_data_size' value is SIZE_MAX, an integer overflow will occur
and cause an undersized buffer to be allocated. The following processing
then overfills the resulting memory and creates a potentially exploitable
condition. Ensure that integer overflow does not occur.

Bug: 20923261
Change-Id: I75cce323aec04a612e5a230ecd7c2077ce06035f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f9d108cec6710dd35baaa8573eb6d38161240b98 08-May-2015 Nick Kralevich <nnk@google.com> Merge "Fix integer overflow when handling MPEG4 tx3g atom" into mnc-dev
dc69f4856187904bfb0d12a72cdf5a563a0deff2 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer overflow when handling MPEG4 tx3g atom

When the sum of the 'size' and 'chunk_size' variables is larger than 2^32,
an integer overflow occurs. Using the result value to allocate memory
leads to an undersized buffer allocation and later a potentially
exploitable heap corruption condition. Ensure that integer overflow does
not occur.

Bug: 20923261
Change-Id: Id050a36b33196864bdd98b5ea24241f95a0b5d1f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f7cd8bfdb48c4237969bc16d25b6bec204073340 08-May-2015 Nick Kralevich <nnk@google.com> Merge "Prevent integer underflow if size is below 6" into mnc-dev
9458e715d391ee8fe455fc31f07ff35ce12e0531 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer underflow if size is below 6

When processing 3GPP metadata, a subtraction operation may underflow and
lead to a rather large linear byteswap operation in the subsequent
framedata decoding code. Bound the 'size' value to prevent this from
occurring.

Bug: 20923261
Change-Id: I35dfbc8878c6b65cfe8b8adb7351a77ad4d604e5
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0d342b9a11557e228d6c94be92579d891ba830d8 08-May-2015 Nick Kralevich <nnk@google.com> Merge "Fix integer underflow in covr MPEG4 processing" into mnc-dev
97d45dbfdfc9018f1cbf72641c1447ff59431ae3 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Fix integer underflow in covr MPEG4 processing

When the 'chunk_data_size' variable is less than 'kSkipBytesOfDataBox', an
integer underflow can occur. This causes an extraordinarily large value to
be passed to MetaData::setData, leading to a buffer overflow.

Bug: 20923261
Change-Id: Icd28f63594ad941eabb3a12c750a4a2d5d2bf94b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5cea0155cfc41f67e91343c342f44251c03fde3a 05-May-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent reading past the end of the buffer in 3GPP

Metadata processed within the parse3GPPMetaData function may not be NUL
terminated and thus calling setCString may read out of bounds. Ensure
proper NUL termination, but take care not to interfere with other special
cases (ie, albm).

Bug: 20923261
Change-Id: Ie93b3038b534b4c4460571a68f4d734cff7ad324
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ae0c0a17e824356eb55a6692ff8dee6cdc050401 06-Apr-2015 Harish Mahendrakar <harish.mahendrakar@ittiam.com> Added support for MPEG2 video in MPEG4Extractor

Change-Id: I70b1c3a07062526fc6d5333f70f4f1d792834e7f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
67a30ebfe785f7cd5ecfb0d2fb487e54536a3d48 02-Apr-2015 Lajos Molnar <lajos@google.com> DO NOT MERGE: Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes

Bug: 19641538
Change-Id: I5aae3f100846c125decc61eec7cd6563e3f33777
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bfed843041b6aaec13ee19996748a7a1476db9c8 02-Apr-2015 Lajos Molnar <lajos@google.com> Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes

Bug: 19641538
Change-Id: I5aae3f100846c125decc61eec7cd6563e3f33777
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ef185e94ce624146e3b1f3cbdb2404e833a0f81d 15-Apr-2015 Chong Zhang <chz@google.com> skip parsing of 'hdlr' atom when parsing QT meta

bug: 20244718
Change-Id: Ifb8a6d450a2f1ad2833301f492dc0ccfe1cd34d4
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8cfad968d5ec429b033caff9743f1ef15090be61 08-Apr-2015 Chong Zhang <chz@google.com> stagefright: metadata retriever changes for capture fps

bug: 19460202
Change-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
98336a769a3a54070c73fa44d7d776a407b55458 10-Apr-2015 Nick Kralevich <nnk@google.com> Merge "Fix multiple division-by-zero conditions in MPEG4 parsing"
d36122b4f10beef6d9f78b5a9b37a5748ba41fa0 10-Apr-2015 Nick Kralevich <nnk@google.com> Merge "Fix null-pointer-dereferences accessing the SampleTable"
0c30a9861244f79bdc95f5c36216acfebb7ac76e 10-Apr-2015 Nick Kralevich <nnk@google.com> Merge "MPEG4Extractor: still more NULL dereference fixes"
e3e82d54c51a3130badcd9e433fe808d965f15c2 09-Apr-2015 Joshua J. Drake <android-open-source@qoop.org> Fix multiple division-by-zero conditions in MPEG4 parsing

Several situations arise processing MP4 atoms that lead to undefined behavior
when dividing by zero. Typically this results in a crash (denial of service
condition).

NOTE: In most cases we simply avoid the division, leaving kKeyDuration unset.
It may be more desirable to bail out, as we do in the parseSegmentIndex case.

Bug: 20139950
Change-Id: I62e1b977f0e5ed0094094a55d300bac76b476c7b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
274f64c7d6367f13c7852256b10339a3b75529f2 09-Apr-2015 Joshua J. Drake <android-open-source@qoop.org> Fix null-pointer-dereferences accessing the SampleTable

While processing various sample table related FourCC values, methods are called
on a NULL mLastTrack or sampleTable object. This leads to undefined behavior
which typically results in a crash (denial of service condition).

Bug: 20139950
Change-Id: Ie2dd8222e702d8bf95faf7d2bd44e6303cd21f68
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f35ff157134456d30f4cd32b463e32bbbf796cc9 09-Apr-2015 Joshua J. Drake <android-open-source@qoop.org> MPEG4Extractor: still more NULL dereference fixes

When processing various FourCC values within MP4 media, mLastTrack is accessed
without first ensuring that a track has been encoutered. Check for NULL and
bail out instead of crashing.

Bug: 20139950
Change-Id: Ie16687024d17348f576a0e13bd60bd4d6898de91
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
31ffe45a22b72ee5d25bb4932d0525e90dbc19fe 09-Apr-2015 Marco Nelissen <marcone@google.com> am f5e63398: am 65b351c9: am 5a5e2f41: am 1c4eddb1: Merge "Fix div zero error in corrupted media file"

* commit 'f5e633989263f03c469d676246fbf003f3bb1acc':
Fix div zero error in corrupted media file
2e81b588f2cc54eaa4f9c83cce279589fb221523 07-Apr-2015 Dan Liang <dan.liang@intel.com> Fix div zero error in corrupted media file

Some corrupted media file has timescale value as zero and shouldn't be used.

Change-Id: I8f6a347f8651cdc7e8c370ab1881e1a5fcb30839
Signed-off-by: Dan Liang <dan.liang@intel.com>
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
928da1e9631bc7f5a5484c4668646c161515aee6 13-Feb-2015 Chong Zhang <chz@google.com> stagefright: stop reading meta data after MDAT or MOOF

bug: 18520722

Change-Id: I213e4bde92a7830543c1815b324164b27d853049
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
882ffba6a98dbe97a07f094ce87d9b81b756971e 23-Jan-2015 Robert Shih <robertshih@google.com> am d8aff827: am ddc1216d: Merge "MPEG4Extractor: more NULL derefernce fixes in parseChunk" into lmp-mr1-dev

* commit 'd8aff827c3c7d1396b624b1462c81e415ef3c160':
MPEG4Extractor: more NULL derefernce fixes in parseChunk
do not use paused postition if it's not available
Use aligned width and height to compute size.
202fbed96db40ec5fb43d633fc97601a15a6dd7a 21-Jan-2015 Robert Shih <robertshih@google.com> MPEG4Extractor: more NULL derefernce fixes in parseChunk

Bug: 18771789
Change-Id: Ie0511ed3a885dbf64a7472e8fa74d15b0e87778d
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
fd923e98c0f63c67fa8972dcc733951b9aa85da1 19-Dec-2014 Robert Shih <robertshih@google.com> am 9dcc312a: am 1391f933: MPEG4Extractor: null check in MPEG4Source::parseChunk

* commit '9dcc312a98288b5456d3322d8393cc25c795032c':
MPEG4Extractor: null check in MPEG4Source::parseChunk
1391f933b49cfb56da9aa63f723de83b076cf888 18-Dec-2014 Robert Shih <robertshih@google.com> MPEG4Extractor: null check in MPEG4Source::parseChunk

Bug: 18771789
Change-Id: Ic12bf565be23eba39b49930c7ce43372fce4f826
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e1b2ccf317301af42bb4b6631a3bcd7d8f519d00 09-Dec-2014 Chih-Hung Hsieh <chh@google.com> Fix wrong int argument of FOURCC.

Clang compiler reports error for aosp_x86-eng target:

.../MPEG4Extractor.cpp:1538:14: error: case value is not a constant expression
case FOURCC('\xA9', 'x', 'y', 'z'):
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..../MPEG4Extractor.cpp:1538:14: note: left shift of negative value -87

Change-Id: I3ef1aa710cd1ce84ca46cdfbe37876bb9a1140bd
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2d0ac425564ff9882ebaac5267d1a04d4af67d00 27-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix build with clang in C++11 mode

This removes the deprecated register keyword in many places, fixes one
instance of passing '\0' where a char* is expected, and 2 switch type
narrowing issues.

Change-Id: Ie265ac26ff6a61267ad6406dfe237226d97ca9ac
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
942481eee58cb1e81853bc79e25359a7ee8a59e1 16-Oct-2014 Marco Nelissen <marcone@google.com> Fix freed memory references

MPEG4Source references memory owned by MPEG4Extractor, and therefore an
MPEG4Extractor needs to be kept around as long as the MPEG4Sources obtained
from it exist.

Bug: 17890354
Change-Id: I399e18ec78517559ccc0914ffc7e099687c0ba51
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
45452ffeb3827dd3c955aca1b4ab3522b70cf8cc 16-May-2014 Robert Shih <robertshih@google.com> DO NOT MERGE - MPEG4Extractor: parse csd correctly; workaround malformed csd

Bug: 14895152
Change-Id: Ibfee9e176459099507589c26a5eca6c61caabd1c
(cherry picked from commit bc413f6ad0023f7ad451a0129a07fc31dbc65665)
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
4ff2a0dbb178c4ea652f30aa4f1d3deb9fdbc832 31-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: propagate error in MPEG4Extractor::readMetaData

Bug: 16641557
Change-Id: I252825bd767a4581b9fca560f2cabfb37c18e137
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
599950efbb03b1672561d4cf2272504b879525e8 17-Jul-2014 Lajos Molnar <lajos@google.com> stagefright: Fix seeking in MPEG4 container

- seek based on user-visible timestamp
- seek to previous, next and closest exactly

Bug: 12786906
Change-Id: I2d5e1fbff6469b6f081a284be2222a4cb50aa754
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a5750e0dad9e90f2195ce36f2c4457fa04b2b83e 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> libstagefright: 64-bit compile warnings

Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c1f4b2b73fe9432cb75ce1dd368475a2867e70ed 17-Jun-2014 Marco Nelissen <marcone@google.com> Parse trex and mehd boxes

Also get duration from mvhd if available, use that in addition to track
durations to determine total length of file, clear track header
struct so we don't read uninitialized garbage from it, and take
composition time offset into account for proper ordering when B frames
are used.

b/15669839

Change-Id: Ibf3e35b5c7299bac11d0e78a391545fc325dd2d0
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8da8b2e80ccdb10ff2445f503829f803d3a6ab9f 13-Jun-2014 Marco Nelissen <marcone@google.com> Fail more gracefully on allocation failure

Check allocations when the size is read from a file and might therefore
be invalid.

b/14388161

Change-Id: Ia08cc0a6107f275a70e793ef3b50c0ce16ceeee0
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
62df539321b3079f5ff11bb6aeaaab75ef307d40 07-Jun-2014 Lajos Molnar <lajos@google.com> am 8a454611: Merge "stagefright: added support, and SoftOMX decoder, for HEVC" into lmp-preview-dev

* commit '8a45461198c69e9e15f133c2e11ded47fc4c708b':
stagefright: added support, and SoftOMX decoder, for HEVC
3b5a6b9fa6c6825a1d0b441429e2bb365b259827 20-May-2014 Harish Mahendrakar <harish.mahendrakar@ittiam.com> stagefright: added support, and SoftOMX decoder, for HEVC

also fixed QuerySupportedProfileLevels in
SoftVideoDecoderOMXComponent.cpp

Bug: 14571712
Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a91b538853e94191fbceab5f5050940dd6b96577 05-Jun-2014 Marco Nelissen <marcone@google.com> Guard against malformed files

b/15433074

Change-Id: I35363def42d38eba49dd5aece566fd345743937e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ce171998009e1abcb0c718c0aee495fcd33645e2 19-May-2014 Robert Shih <robertshih@google.com> MPEG4Extractor: guard against missing stbl.

Bug: 14320131
Change-Id: I33f65117c9c5365bddd96bb41cc4379a0c7ebcbd
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
170056540e9ce65261b45efd15f67e72e2df1bed 11-Apr-2014 Robert Shih <robertshih@google.com> Expose sample duration in MPEG4Extractor.

Bug: 12782113
Change-Id: I75ee361243c5382d9288349c554deb7bed952782
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5bc83fc352e5682ecafe61d77062c26ac8db4229 07-Mar-2014 Marco Nelissen <marcone@google.com> Merge "Fix SIGABRT when playing mp4 file" into klp-dev
be1195a6d5e6dd4299da344cf9905dd6a12dc4ef 25-Nov-2013 Marco Nelissen <marcone@google.com> Fix SIGABRT when playing mp4 file

If the track duration was shorter than the segment duration, the calculated
encoder padding would be negative, resulting in a crash.
b/11823061
https://code.google.com/p/android/issues/detail?id=62610

Change-Id: I3989ad88caea38d212b61355c15aec13382c6116
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f590f948e6c0fe3c54008dd7802fd513f127792d 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Bug: 11697128.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3c836e7882e88de42e0e600627de433b61e78621 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: fix offloading HE-AAC sampling rate.

Fix HE AAC SBR sampling rate reading for explicit
signaling.

Bug: 11697128.
Change-Id: Ifec0ab9d48d9293f6774ec1efd9da9445994cb7c
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0517e0b6e4a86f34388631416dd6b3b4fcb91ff8 24-Feb-2014 Marco Nelissen <marcone@google.com> Advance read pointer before failing

to prevent infinite loops when processing a truncated chunk
b/13130358

Change-Id: I24c46788ebc76c242da52a8f059b7577bbaebff4
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3f80319d5bddfaf11a1513777561096fc1447172 19-Feb-2014 Marco Nelissen <marcone@google.com> Expand support for fragmented mp4

Don't require that there are no other boxes between mdat and moof boxes, or
that moof immediately follows moov.
Fix SAP parsing and seeking to exact start of segment.

Change-Id: I668644c5c7866dd2512f3b7f745fba438ae6e627
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ebfd32300605d67e4c45a97f4972d4b6ea268a37 18-Feb-2014 Marco Nelissen <marcone@google.com> Fix crash when seeking fragmented mp4 files

Rewinding a fragmented mp4 file without a segment index (sidx)
after playing it to the end would crash.
b/13028840

Change-Id: I280e74364589f0acefd432a59f85a6594c009a21
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
442cc6dc48f8188e097617f7f804c314a9dacd0e 12-Feb-2014 Andreas Huber <andih@google.com> Even more warnings (now errors) fixed to unbreak the sdk-x86 build(s).

Change-Id: Ib4a5ab1a9e50fe9e7747a907f8b4a8c207099fdb
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1d6fa7af1288b550faabe4ec2cf98684236723db 11-Feb-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 566be7c3 to master

Change-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 03-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Make frameworks/av 64-bit compatible

Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.

Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
9c1aaa7fee4b17d3675af6108c5ff28f3a84c8ec 17-Jan-2014 Marco Nelissen <marcone@google.com> am 6146f60c: am 319c5640: am 07a017d3: Merge "Added support for ID3v2 meta data in 3gp files"

* commit '6146f60c87a8a9c66036325c66dea826d2e98f6f':
Added support for ID3v2 meta data in 3gp files
328abde67f57c026ac44e927f9244c40832499c8 27-Jan-2011 Oscar Rydhé <oscar.rydhe@sonyericsson.com> Added support for ID3v2 meta data in 3gp files

Added support for parsing ID3v2 meta data from
the ID32 chunk in 3gp files. The priority will be
3gpp -> ID3v2 -> iTunes per field.

Change-Id: I0282ecab58e3e5fa6bd738078d562c8bb8ce00ed
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f4512c9672110c11b7bdeea0073a54bfae9c8f87 19-Dec-2013 Jean-Michel Trivi <jmtrivi@google.com> Support more channel configurations in MPEG4Extractor

Add support for streams having an audio specific configuration with the
channel_configuration equal to zero.
Add support for 6.1 and 7.1 channel configurations.

Bug 9428126

Change-Id: Iaac2516139093579c52095d4f74ae4428f8e368a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
db170bb1cae145d07efc803a3c208963de0c6087 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
00307ade843ac9219ffb9a351a3145ec2927ea51 06-Dec-2013 Eric Laurent <elaurent@google.com> stagefright: fix offloading HE-AAC sampling rate.

Fix HE AAC SBR sampling rate reading for explicit
signaling.

Bug: 11697128.
Change-Id: Ifec0ab9d48d9293f6774ec1efd9da9445994cb7c
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e2d617f5ba7fb90f27b03e2593666b2c927e4dc9 05-Dec-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '2381f06f374ee0cb8bca0edf5388394432b00e6d' into HEAD
465127fa3dfba81d8ad2a164ba6036478f71c8a6 25-Nov-2013 Marco Nelissen <marcone@google.com> Fix SIGABRT when playing mp4 file

If the track duration was shorter than the segment duration, the calculated
encoder padding would be negative, resulting in a crash.
b/11823061
https://code.google.com/p/android/issues/detail?id=62610

Change-Id: I3989ad88caea38d212b61355c15aec13382c6116
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f7df9ab3187a3c02bffe1fba10d3fb95197e4a07 05-Jun-2013 Ichitaro Kohara <ichitaro.kohara@sonymobile.com> Fixed data offset at parsing IPMP Descriptors

MPEG4Extractor::parseDrmSINF() miscalculated data offset in parsing
IPMP Descriptors. This commit makes it to take in 2 bytes which is
the size of IPMPS_Type field.

Change-Id: I42cbb6793af9d9b2f14dbfdd7a616096002793f9
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2381f06f374ee0cb8bca0edf5388394432b00e6d 15-Nov-2013 Marco Nelissen <marcone@google.com> am 24605338: Merge "Fix metadata access" into klp-dev

* commit '246053380a9f628405a29a055a3f1f4fba13ed5b':
Fix metadata access
4256c970ad90bc555eccfd585048669bb69bca1c 15-Nov-2013 Marco Nelissen <marcone@google.com> Fix metadata access

Metadata string pointers become invalid after setting more metadata,
so don't cache them.
b/11692062

Change-Id: Iaf1afb24cf53f7fa36f49ce759355693494076e5
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ec89a75e386c61cf4ace3bc5ab80d064562ebf11 14-Nov-2013 Lajos Molnar <lajos@google.com> am 92092b39: Merge "stagefright: limit default max-input-size for AVC" into klp-dev

* commit '92092b395d59e8943a461d344f617f1dc85375a3':
stagefright: limit default max-input-size for AVC
f40cde132d14a260f4f7e08ae2bf29d8c55848ae 13-Nov-2013 Lajos Molnar <lajos@google.com> stagefright: limit default max-input-size for AVC

AVC has a compression ratio of at least 2. Account for this, as
some codecs refuse exorbitant max-input-size requests.

Change-Id: Ib68b485879ba33a12a486f2ce18fe100be977699
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11599364
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5eab65aa7bd40e907d11dca8aad69714ffef19f1 19-Aug-2013 Marco Nelissen <marcone@google.com> am ff58698e: am f36ae7ca: Merge "Added support for 3GPP meta data atoms"

* commit 'ff58698ec7e0f32bf9f3e1758173fe170e17270c':
Added support for 3GPP meta data atoms
fbc9d2b9cda433d98c36acb842c4a91fdeeb75e0 14-Dec-2012 Oscar Rydhé <oscar.rydhe@sonymobile.com> Added support for 3GPP meta data atoms

3GPP metadata is not supported, only iTunes Metadata
Format is supported.

Change-Id: I78b41c88788d5a43800c936e0ac0f98424515c62
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
04022b34d2b97938b0926ab62e6c283418da3bba 29-Jul-2013 Marco Nelissen <marcone@google.com> Fail more gracefully on version mismatch

b/9900647

Change-Id: I9ea508a2685ff8adc780edd5ecec30dd1a9b0997
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
fc80e9ec5582770cb5a7fef172af3b52625ecce7 30-May-2013 Marco Nelissen <marcone@google.com> Edit list uses timescale from movie header

not from track media header

Change-Id: I24063183f44027b999782cc9006e9a1b56e87355
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
210efd48ed21ca0084d9440f9a1db7d9878f8094 29-May-2013 Marco Nelissen <marcone@google.com> Don't crash if no timescale was given

b/9175577

Change-Id: Ie159a9c9b42e6c8d9366d0ef6a607234af569e36
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0a69bd281c76bf777ddb51d0c6c08519634b192d 24-May-2013 Marco Nelissen <marcone@google.com> Add support for MPEG editlist gapless info

Change-Id: I862d89c805d738db9bdf81a8f1c5b317ff968dff
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
9b45248b5709440d85c4a3a9a66e2e8780945e0b 17-Apr-2013 Marco Nelissen <marcone@google.com> Fix sample info parsing

b/8626561

Change-Id: Ibd5168282eb33d1abdc423e15a0d9aeb5a1ad687
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
48186b6ec99aa71ec48338a55f2a2d8291681fe4 17-Apr-2013 Marco Nelissen <marcone@google.com> Fix sample info parsing

b/8626561

Change-Id: Ibd5168282eb33d1abdc423e15a0d9aeb5a1ad687
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5544c66ba0aa789a997b376df503a5ffae425dc7 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ec77122351b4e78c1fe5b60a208f76baf8c67591 08-Apr-2013 Marco Nelissen <marcone@google.com> Add support for common encryption

b/7465749

Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0364a91b4230e5b0631f96579e91a0eb2efa48c3 14-Mar-2013 Marco Nelissen <marcone@google.com> Parse SBR extension sample rate

Change-Id: Ib6f6994228a279ee10b389515fba04516c7c42ba
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
595ee7ba5f988ff34527226d0142a109ca3b049e 14-Mar-2013 Marco Nelissen <marcone@google.com> Parse SBR extension sample rate

Change-Id: Ib6f6994228a279ee10b389515fba04516c7c42ba
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
62ad9071cd61fc56355d3c2d25895382003ea362 13-Feb-2013 Marco Nelissen <marcone@google.com> Add support for fragmented mp4 to MPEG4Extractor

This makes FragmentedMP4Extractor obsolete. It will be removed in a
separate change.

Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
05f625c46b992ab66b8d1527a366fe2746b4e3c7 13-Feb-2013 Marco Nelissen <marcone@google.com> Add support for fragmented mp4 to MPEG4Extractor

This makes FragmentedMP4Extractor obsolete. It will be removed in a
separate change.

Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
f00d40c716fd4741fa56dd2b59813227658e50f2 03-Dec-2012 Andreas Huber <andih@google.com> Merge "Memory leak solved in MPEG4Extractor::parseChunk for cover art"
6020ef18b39c65516a381263837899232b87d774 03-Dec-2012 Andreas Huber <andih@google.com> Merge "Memory leak solved in MPEG4Extractor::parseChunk for cover art"
7013209cdf393b3d958ddd46ed50394349378826 20-Nov-2012 Andreas Huber <andih@google.com> Merge "Handle large AVCC chunks"
35c96b589ed8095a0d3a7dfd166b40180c0cf84c 20-Nov-2012 Andreas Huber <andih@google.com> Merge "Handle large AVCC chunks"
afa28a823724a2f76e1a53b15358533388003666 13-Oct-2010 Andreas Lillvik <andreas.lillvik@sonyericsson.com> Changed parsing of trkn and disk from 8 bits to 16 bits

The MPEG4Extractor was parsing 8 bits instead of 16 bits when parsing
'trkn' and 'disk'. Also added support for 16 bytes size 'disk'.

Change-Id: I22b4de2ac800881884d5759776cb380917522a87
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
791841a80dc6bc46cb8d7f613b94338ec5b69b5c 13-Oct-2010 Andreas Lillvik <andreas.lillvik@sonyericsson.com> Changed parsing of trkn and disk from 8 bits to 16 bits

The MPEG4Extractor was parsing 8 bits instead of 16 bits when parsing
'trkn' and 'disk'. Also added support for 16 bytes size 'disk'.

Change-Id: I22b4de2ac800881884d5759776cb380917522a87
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
d2f6b04578432fa4e27bacf860b78bf29a099b73 26-Sep-2012 Jan Olof Svensson <janolof.svensson@sonyericsson.com> Handle large AVCC chunks

If enabling seq_scaling_matrix_present_flag = 1 the AVCC chunk can
be larger than the original buffer size. Changed to using ABuffer
instead.

Change-Id: Idacc14b45ea2634c5e608919f3ce567f23363135
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0fd2883dbe2841b7b35f1e7581e5d9d59e58ad97 26-Sep-2012 Jan Olof Svensson <janolof.svensson@sonyericsson.com> Handle large AVCC chunks

If enabling seq_scaling_matrix_present_flag = 1 the AVCC chunk can
be larger than the original buffer size. Changed to using ABuffer
instead.

Change-Id: Idacc14b45ea2634c5e608919f3ce567f23363135
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1552217cca4d949bba4b2cf6194a0936bbb10fa4 10-Sep-2012 Jens Gulin <jens.gulin@sonymobile.com> Memory leak solved in MPEG4Extractor::parseChunk for cover art

Repeated leaks detected in mediaserver context. Most chunks small but
some bigger. Adding up it was not uncommon to see 200Mb footprint.
libc memdebug allocation call stack showed the root cause in "covr"
parsing - that explains why content often was empty but sometimes big.

Change-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2cac3fcde42af0f198144dc5f413dc9e6faae4cc 10-Sep-2012 Jens Gulin <jens.gulin@sonymobile.com> Memory leak solved in MPEG4Extractor::parseChunk for cover art

Repeated leaks detected in mediaserver context. Most chunks small but
some bigger. Adding up it was not uncommon to see 200Mb footprint.
libc memdebug allocation call stack showed the root cause in "covr"
parsing - that explains why content often was empty but sometimes big.

Change-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8c7d147cca17961a71209c105a2676a552d3d69f 07-Sep-2012 John Grossman <johngro@google.com> Fix iTunSMPB parsing for AAC tracks encoded with Nero

Make sure to clear out the mean/name/data state when parsing
apple-style metadata from tracks every time we have a full set, not
just when we find an iTunSMPB set.

AAC tracks encoded from WAV by Nero tend to put in an additional apple
style metadata tag (cdec) before the iTunSMPB tag. The sequence in
the file goes something like

mean : "com.apple.iTunes"
name : "cdec"
data : "ndaudio 1.5.4.0 / -2pass -br 320000"
mean : "com.apple.iTunes"
name : "iTunSMPB"
data : " 00000000 00000A40 000000B8 <etc...>"

If the internal state was not cleared after the first set, then when
the second instance of "name" is encountered, an attempt is made to
parse the previous data entry as an iTunSMPB tag when it is actually a
cdec tag. Afterwards, mean, name and data are all cleared, and when
the second data is encountered there is no current mean or name
present, so the gapless metadata gets skipped. By clearing the
metadata state every time we have a full set of mean/name/data, we
make sure that we are always interpreting the data field as the proper
type.

Change-Id: I196e2e3f83e434f15d5ee55ae40a74a92d5a1845
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7abab13f230e4c38a4c8a88c859af64d491d5e9b 07-Sep-2012 John Grossman <johngro@google.com> Fix iTunSMPB parsing for AAC tracks encoded with Nero

Make sure to clear out the mean/name/data state when parsing
apple-style metadata from tracks every time we have a full set, not
just when we find an iTunSMPB set.

AAC tracks encoded from WAV by Nero tend to put in an additional apple
style metadata tag (cdec) before the iTunSMPB tag. The sequence in
the file goes something like

mean : "com.apple.iTunes"
name : "cdec"
data : "ndaudio 1.5.4.0 / -2pass -br 320000"
mean : "com.apple.iTunes"
name : "iTunSMPB"
data : " 00000000 00000A40 000000B8 <etc...>"

If the internal state was not cleared after the first set, then when
the second instance of "name" is encountered, an attempt is made to
parse the previous data entry as an iTunSMPB tag when it is actually a
cdec tag. Afterwards, mean, name and data are all cleared, and when
the second data is encountered there is no current mean or name
present, so the gapless metadata gets skipped. By clearing the
metadata state every time we have a full set of mean/name/data, we
make sure that we are always interpreting the data field as the proper
type.

Change-Id: I196e2e3f83e434f15d5ee55ae40a74a92d5a1845
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
56997121c5031598fbbba7b7c53980b7fd529c2d 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1e9ee018c6fa906c99270616456c32f0bb30c9c0 29-Aug-2012 Marco Nelissen <marcone@google.com> Fragmented mp4 extractor

Still experimental. Set property "media.stagefright.use-fragmp4" to true to
enable.

Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
aeb8fd460ed87d032b3fb8bb61e21eb542ce0f5b 19-Apr-2012 Dave Burke <daveburke@google.com> Add Fraunhofer AAC encoder with AAC-ELD support.

Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bc8b5faec8a0a9ad7c8d94945e7b000d63f0afe6 23-Mar-2012 Andreas Huber <andih@google.com> Fix the file mimetype reported by the mpeg4 extractor.

Change-Id: I72474c17757dba5867f55b0e99e76e9e4e32ce7b
related-to-bug: 6217289
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5d2f8ba30c24ea597d54468cda01c7ec5f6a0e66 20-Mar-2012 Marco Nelissen <marcone@google.com> Parse gapless info from mp4 files

Change-Id: I4c83d4e12e996dc29708268e68a4bb74b368c6f3
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6655174826330afe66ef766258181ae8c11f3f6c 11-Jan-2012 Insun Kang <insun@google.com> First step of refactoring 'timedtext' code.

Goal
1. Removed dependency of TimedTextPlayer on AwsomePlayer.
2. Generalized TimedTextParser to TimedTextSource and its subclasses.

Summary
1. Introduced TimedTextDriver, TimedTextPlayer (new implementation),
TimedTextSource (and its subclasses).
2. Removed TimedTextParser.

Remaining TODOs
1. Revise VideoVidew, Gallery3D app, AwesomePlayer to check if
'pause' and 'resume' works well.
2. Consider revising MediaPlayer APIs such as setParameter() ->
addTextSource(). Need more thoughts.

Change-Id: Ie0c4f15b9690102de755cef6940f8c31ccf78e27
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
456caf3f5f0af673dc120c17c23635f40d8f5ac2 05-Dec-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 07bacabe to master

Change-Id: Idb56996f7c1b78d96e3d3d3f08419c4d122db0b1
a0f2bf56e30f580535229fa6a58e7d48b762727c 05-Dec-2011 Andreas Huber <andih@google.com> Properly identify how much metadata we need to cache in order to instantiate

the extractor without blocking (and therefore be able to abort).

Change-Id: Id2acdde897e02baaeabadae70b7c95b66c9041b3
related-to-bug: 5666532
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
023132eac2f2e2e0aa8859231cce1a6d324242fd 11-Nov-2011 James Dong <jdong@google.com> am 510180f1: am 08e42967: Merge "Add support for retrieving location information in mp4/3gpp files" into ics-mr1

* commit '510180f162dee3ae5416a98caa07f58a754f4b3f':
Add support for retrieving location information in mp4/3gpp files
4948818cb91176df74c972ac27b2f392b5d148bc 09-Nov-2011 James Dong <jdong@google.com> Add support for retrieving location information in mp4/3gpp files

Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687
related-to-bug: 5560253
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e26dd87f87be5016777bf92e498a26d545d3926a 10-Nov-2011 Insun Kang <insun@google.com> Adds handler type 'sbtl' to support subtitles in various containers.

Change-Id: I16d2c5d9aeb087b958e28052f266ca0ef42ea7f1
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
788a07fc61bad7ea2f0e3cca3f126b52a9bab376 06-Oct-2011 Andreas Huber <andih@google.com> Return a runtime error instead of assertion if seeking beyond EOS in mpeg4 files.

Change-Id: If6531b4a1ff45460cfcdcc04764c5c63a2f5a749
related-to-bug: 5418914
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
169c286ed166499c5099d2b336967e0bf3d25551 17-Aug-2011 Andreas Huber <andih@google.com> Make sure we have all the sample table metadata before declaring a track valid.

Change-Id: I2dfbc3e6017b5cd264e4cccfa47d19047b2e7f31
related-to-bug: 5178976
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0d0edfb024f65f7e1097bf1814ae229ce9cb367d 27-Jun-2011 Gloria Wang <gwang@google.com> - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3b573f7bf1c5736d500e39013b8d32478a1429e6 01-Jun-2011 Gloria Wang <gwang@google.com> Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
515e855eae78aa495da58356486aaa666cb57fd1 26-May-2011 James Dong <jdong@google.com> Extract embedded cover art (aka poster frame) in mp4 files

Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
965d08ba16ee82bc85f69546360c18e7da907406 11-May-2011 Gloria Wang <gwang@google.com> For out of band timed text support (timed text in a separate file).

Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
58fb39120c633e3b8aa31b8f0a78e8efc193d59d 17-May-2011 Andreas Huber <andih@google.com> Claim support for .3gpp2 A/B files.

Change-Id: I16dd3dcb93a50b3c808ae710d0ba4757c89ab9c8
related-to-bug: 4406745
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7a1e3e81264189e23a1db2b174e1b5a5d4c7d1c3 04-May-2011 Gloria Wang <gwang@google.com> Initial CL for the timed text support:
- Add support for MP4 timed text
- Add API for app to turn on/off a text track
- Add timed text metadata(language) in the MediaMetadataRetriever

Change-Id: I0055beba38ac761627dbcc6d581ae9582d68bb94
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2e40530f7cbb024b60c491f42dadb2597d4de07e 26-Apr-2011 James Dong <jdong@google.com> Merge "Give PSP and QuickTime compatible mp4 files a chance to play"
34fe252c89e33572d01fea981b58d7b115e76164 22-Apr-2011 James Dong <jdong@google.com> Remove the assertion and report content malform error to application

Change-Id: I8e30c586048d38334fd4366959a124a99d8efe28
related-to-bug: 4267147
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
4678a6dc5f09008481524949a9667af5a6190374 15-Apr-2011 Andreas Huber <andih@google.com> Remove streamability verification, it's taking too long. Also...

make sure that findSampleAtTime uses composition time instead of decoding time,
at the expense of extra memory.

Change-Id: I67d09389b3df7ed265f614bdd0b142ca7f19f86a
related-to-bug: 4294536
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
4cb2c4dc7af70684e81cfbce46cbcbb9e44f4dc4 08-Apr-2011 James Dong <jdong@google.com> Give PSP and QuickTime compatible mp4 files a chance to play

Change-Id: I2618946b242b581fb8ed5de9a13ede23a4191b11
related-to-bug: 4173290
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bdba1f2a3813e4c8e690d71cfc2b82d5dee85c73 03-Mar-2011 Andreas Huber <andih@google.com> Reject streaming .mp4 files over http that are not muxed reasonably.

Audio and video samples must be reasonably close by at any given timestamp,
for now we define "reasonably" as "their offsets must not be more than 1MB apart".

related-to-bug: 3509977
Change-Id: I4c3a2a239bf911306833f3b17b73c9e2f76ab901
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
633b4c8cc1f41370576aa43e6c5a70e4865a36df 25-Feb-2011 James Dong <jdong@google.com> mp4a box contains mp3 audio when the object type indication is 0x6b

In this case, the MediaExtractor returns ERROR_UNSUPPORTED since our
software MP3 audio decoder may not be able to handle packetized
MP3 audio.

bug - 3377570

Change-Id: I8bb6b3813716b5fa019e318842e8e1908b3c8bf8
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
17e89b555a41aa591f1a01ecd51a7cb5a7bcfc0e 24-Feb-2011 James Dong <jdong@google.com> d263 may contain optional bitr box, and thus its size can be up to 23 bytes

bug - 3482703

Change-Id: Id6fdf9d1f4a304954c018b67d50bd79a07164687
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
244ba87d20aeb29c9cad727820fa1e803ec3643c 12-Feb-2011 James Dong <jdong@google.com> Make available h263 DSI information from MPEG4Extractor

bug - 3446863

Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
4931bb5259d10c1fa01e7405fb7aaef58a8ffb22 03-Feb-2011 Andreas Huber <andih@google.com> Make sure timestamps attached to encoded media are composition timestamps.

not decoding timestamps. Obviously there is no difference between them if the
content in question does not involve frame reordering.

Change-Id: Iac4d06cfeb8a136f735c1148e98cac340d3ef893
related-to-bug: 3398314
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
113a95462d2018c62b9e6bc86e7f643ff46f29cf 19-Jan-2011 James Dong <jdong@google.com> Expose average video frame rate via MPEG4Extractor

bug - 3362483

Change-Id: Ifcbb75c1e8b80cb06c4b8fe7f5ff99bc6f18af69
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b45c01c2b8588ff431b511151666a55a39f0a6ae 16-Jan-2011 James Dong <jdong@google.com> Fix the presentation video resolution when it is different from the actual image resolution of the video.

bug - 3352413

Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
11f8109ad8646d3acd9a0987613229cde59d52c1 06-Jan-2011 Marco Nelissen <marcone@google.com> Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a6256238d9015c42129fe43791968768fe501efa 16-Dec-2010 James Dong <jdong@google.com> Give the standard not compliant video sample a chance if its size in the mp4 header is invalid

Change-Id: Ib573ededb9c73285822fa238120faa484402bcf7
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e071b055cee301d71335519601474c62b10af411 16-Dec-2010 James Dong <jdong@google.com> Opted to recognize "h263" or "H263" boxes in an mp4 file

bug - 3278240

Change-Id: Ifd1b1f3e5dd55dbf2c33bbad9dd51998c25bfc15
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c7fc37a3dab9bd1f96713649f351b5990e6316ff 16-Nov-2010 James Dong <jdong@google.com> 64-bit file size/offset support for media framework

Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ba529e486dde15fe75ea1b48570f9d60a4cf3c48 17-Nov-2010 Andreas Huber <andih@google.com> Support post-decode video rotation.

Change-Id: I9ac90871269c5e132e98a9bf3ad8cae00f329f17
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a9741a9232c81eaf59179acef91f5be46c42264e 26-Oct-2010 Gloria Wang <gwang@google.com> resolved conflicts for merge of 9084631d to gingerbread-plus-aosp

Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
dcd25efb46c41c8d24a0a9cf61fb57f84149709e 22-Jun-2010 Gloria Wang <gwang@google.com> DRM framework support:
- add a sniffer for DRM files
- add DRMSource and DRMExtractor for es_based DRM
- add pread in FileSource.cpp for container_based DRM
- add native DRM framework API calls in the player for
DRM audio/video playback

Change-Id: I4b9ef19165c9b4f44ff40eeededb9a665e78a90f
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b9d3038ec950665639e26acd51329ebc800e780d 15-Oct-2010 Andreas Huber <andih@google.com> Make sure we cache the sampleTable again if using the caching datasource.

QA-impact: This fixes http streaming again which I broke about 2 days ago. The previously observed symptoms were stuttering playback of http streams (think YouTube) after a certain playback position.

Change-Id: I14050e3522ecd62c90d29310efdf508fdd2e87b5
related-to-bug: 3098873
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
49110ce0ed95918c85eebe6e09e900b905b37e23 09-Sep-2010 Andreas Huber <andih@google.com> Instead of asserting return a runtime error if the maximum sample size cannot be determined.

Change-Id: Icf17ed04323f5415e0f9f1e4fd9f19ca60ce15ac
related-to-bug: 2602446
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5a1c3529e4fa2f8a11054181294e0ce79fff8dd3 25-Aug-2010 Andreas Huber <andih@google.com> Allow sniffers to return a packet of opaque data that the corresponding extractor can take advantage of to not duplicate work already done sniffing. The mp3 extractor takes advantage of this now.

Change-Id: Icb77ae3ee95a69c7da25b4d3b8696c0a2d33028a
related-to-bug: 2948754
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
a65ccbff6e8eb301c0d325b2ec080aeda8df2024 18-Aug-2010 Andreas Huber <andih@google.com> Be more lenient when validating ESDS information in mp4 audio tracks. Allow the absence of any codec specific data and assume that the mpeg4 headers are not lying to us.

Change-Id: Ia29b967cbee9eabb21c6c26508b27b379ff9ba17
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
8bf59e735760af0b6a85747fd90bf8cf1e5388d7 06-Aug-2010 Andreas Huber <andih@google.com> Support for communicating if a buffer read from the _extractor_ is a sync sample or not.

Change-Id: Ie71506224d937cfff1fa1273bfac31c47db8845f
related-to-bug: 2900534
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
2500c2d6ff55c26452ccba925a9f8b86b926f43e 07-Aug-2010 Andreas Huber <andih@google.com> Properly skip the 'skip' chunk in mpeg4 files.

Change-Id: I6795347f91f24d5379e8dc80a24ae016a9629c9c
related-to-bug: 2901311
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
3c3ddfa39635a2d39f4ee7c966fb9403fe1ec9d8 20-Jul-2010 Andreas Huber <andih@google.com> Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
related-to-bug: 2826841
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6cad99fefc7275f30886962e4193a336a2144b7b 19-Jul-2010 James Dong <jdong@google.com> Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
71b1a4e975dfb65660a0119b9d6bf6db77eca09e 24-Jun-2010 Andreas Huber <andih@google.com> Properly identify malformed (too short) chunks in mpeg4 files.

Change-Id: Id2efb1bba195c4ad6f132cd706cc813135ead8a4
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1b52bd2874aef6c9cbc141f1cff5205830515f7d 27-May-2010 Andreas Huber <andih@google.com> Better sniffing of MPEG4 content by checking for a compatible sub-brand.

Change-Id: I076908822ad0e663b9932e61fb33edc12c2e1948
related-to-bug: 2673192
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
1edbcb2bb9988cc7cb54a865aaea4613bdd53a9d 15-May-2010 Andreas Huber <andih@google.com> Fix sampleTable instantiation, this makes sure that the sample table refers to the custom datasource that caches the metadata to prevent needless seeking.

Change-Id: I576178144ffd753b809e1c4ae269ffc3aa34b511
related-to-bug: 2686604
QA-Impact: well, ..., everything related to streaming mpeg4/aac content over http
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
b9dbba9285fb406bc6eb87779c8bfc405269b6f2 14-Apr-2010 James Dong <jdong@google.com> Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html

bug - 2575956

Change-Id: Iaa79e74d3b0585397a7e833ec45472710fc52fa6
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
81f82c32459029bf0744e28c73f95a7f18cab5ac 13-Apr-2010 Andreas Huber <andih@google.com> Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.

Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af
related-to-bug: 2587341
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
983b449a27b5fa91eca82ede5204b4341899be62 01-Apr-2010 Andreas Huber <andih@google.com> Support another kind of iso mpeg4 file.

Change-Id: I052aa1c971c577e50679b6a9263acd32895906c7
related-to-bug: 2558114
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
746973186764292a84d11856ac315fa4b62957ad 15-Mar-2010 Andreas Huber <andih@google.com> We no longer do sanity checks based on "hdlr" tags in .mp4 files. Pretty soon we'll play any bytestream that even vaguely resembles the spec...

Change-Id: I43e05404860d8856b8aa566cc9b256bb3fa57e6f
related-to-bug: 2483328
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6f3a0c2dcb8d37d34e29e6a02acf1e3f8596088c 13-Mar-2010 Andreas Huber <andih@google.com> Hack to "support" "enhanced" podcasts... slang for malformed .mp4 files.

Change-Id: I690b9f336062a0ff1a667d6461d66b1386db866d
related-to-bug: 2511744
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ea5ea10a036f79c86bf5f204cb81804bf2bacdc7 26-Feb-2010 Andreas Huber <andih@google.com> Support vendor MPEG4 test content with apparently malformed chunks in them.

related-to-bug: 2472211
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
5295c0c55d41a2906ea7f65a3f22e6278cb17d4b 23-Feb-2010 Andreas Huber <andih@google.com> Propagate errors all the way through the MediaSources and send either MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR depending on the final reason for running out of buffers to play back.

related-to-bug: 2463749
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
bd5d93f21e6f79c6d9ebe9d77542c3090d4a7ff4 23-Feb-2010 Andreas Huber <andih@google.com> Return runtime errors instead of asserting in MPEG4 file format validation, also add more validation to ensure presence of codec specific data for avc, aac and mpeg4.

related-to-bug: 2431967
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7b3396acc702451be9bafb19d7fe26d55d43a316 12-Feb-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 427e927298449826bb5b98327b0c05957aa051e6
Author: Andreas Huber <andih@google.com>
Date: Fri Feb 12 10:39:07 2010 -0800

Fixing a race condition in AwesomePlayer and support for suspend/resume.

commit 96201a04b6657b6bd69ec6100f4de66aebcaa0b4
Author: Andreas Huber <andih@google.com>
Date: Fri Feb 12 10:36:15 2010 -0800

Protect MPEG4Source's sanity by properly locking.

related-to-bug: 2231576
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
66ac4df65516ebfd0e500bfca75dc4b5ef8d674e 11-Feb-2010 Marco Nelissen <marcone@google.com> Add support for "album artist" tag.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c5b366a4b428e7dd0626e33193e51180ad3ab8ba 10-Feb-2010 Andreas Huber <andih@google.com> Properly detect Adobe's .f4v file format as an mp4 ISO compliant file.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
26bae54d7a3d04215eba34c62c349f1be6ab1493 09-Feb-2010 Marco Nelissen <marcone@google.com> Support the disc number and custom genre tags for mp4.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ec9dd59902c8beea4ba6a842f3a843d46150d949 09-Feb-2010 Andreas Huber <andih@google.com> A little less verbosity in stagefright and special treatment for the error state while shutting down.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
ba7c7eeca462614251aec3d27f0f7ff3a83cefa1 29-Jan-2010 Andreas Huber <andih@google.com> Apparently the generic mpeg4 file header does not describe the actual samplerate and channel count of the content in the case of mpeg4 audio, instead the 'ESDS' atom must be consulted.

related-to-bug: 2407094
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
50a9976892316c033cd90d522ecbfcc8e3c0eb9b 28-Jan-2010 Andreas Huber <andih@google.com> For mpeg4 files streamed through HTTP, cache the entire sampletable metadata chunk in memory if possible.

related-to-bug: 2295438
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
72b8c5ae6a5f97a4fcfc6d23d33159d6ae50179c 20-Jan-2010 Andreas Huber <andih@google.com> Support for 'iTunes-style' metadata in .mp4 and .3gp files.

related-to-bug: 2368967
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
c57b67905c2128ddadfeca96785ee1f593b6605a 19-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 6689350d7e4dad6d873c1ed95f0a356e3bfd79d1
Author: Andreas Huber <andih@google.com>
Date: Tue Jan 19 09:23:02 2010 -0800

Some tweaks to the SampleIterator.

commit 5638bff6d31442a219806445c3106d47b081fcab
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 15 14:46:29 2010 -0800

A much improved implementation of MPEG4 sample table operations through an iterator.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
e8a084958c27327b0aca749f69095605d2a21309 14-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0014ab17f2e0986044327a5ab22159de50b81e0a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 14 14:05:09 2010 -0800

Another instance of returning an error instead of asserting makes sense.

commit d2cac8c498a65b449a25ec216601830d23c165e7
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 14 13:34:33 2010 -0800

Instead of asserting on invalid data (incomplete NAL unit), return an error.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7be6407f2ad7f2b0782d195d9f792072c084d6f5 13-Jan-2010 Andreas Huber <andih@google.com> Support for determining the mime type of media via metadata extraction.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
6064017c61aa0bcadcff3119e176eab5fc3c001b 13-Jan-2010 Andreas Huber <andih@google.com> Properly respect NALLengthSize in the AVC Configuration header to determine how many bits encode the nal unit size.

related-to-bug: 2363596
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
134ee6a324c35f39e3576172e4eae4c6de6eb9dc 16-Dec-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:28:23 2009 -0800

This H264 file shows a certain problem even better.

commit 3245f1f3b7471975aeeb824a756c987abd610f55
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 16 09:20:08 2009 -0800

Using only the QA testfiles now.

commit 074817eb3816c5dd70858a3594e3b92d799d873b
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 16:17:39 2009 -0800

Yay, roles are back again now that the API is in place.

commit 6d847e4932cc38301ae27cb7283b7f1553a95457
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 15 13:01:20 2009 -0800

Added commandline option for specifying the random seed for reproducable tests.

commit 62ab37b26336eaa67e49791c41c996acb6acee3f
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 14 10:53:27 2009 -0800

When issuing a seek it is important that only the first MediaSource::read call has the seek option.

commit e77c46644b2fb6862bafa3569f7d304252074f1e
Author: Andreas Huber <andih@google.com>
Date: Mon Dec 7 16:39:07 2009 -0800

Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource>

commit 6df56915bd55a9445b3c6f953d3cc251d81579b8
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 3 14:25:36 2009 -0800

Temporarily disable support for querying the roles of OMX components.

commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 13:36:52 2009 -0800

Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.

commit 4c382fbc9aebee8197d5988d04378062809e7c48
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 1 09:37:24 2009 -0800

New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec.

commit c762eac3e44309592b61a168d66e091cf609fa03
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 14:13:43 2009 -0800

Fix a typo.

commit 50540a59b65c7d476b0193c7494cd75895e6ca6d
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 3 09:48:35 2009 -0800

Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.

commit 1157a7e52a0636706caa235abe16d2ff8a0b8140
Author: Andreas Huber <andih@google.com>
Date: Wed Oct 28 12:01:01 2009 -0700

Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default.

commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 26 09:45:26 2009 -0700

Initial check-in of unit tests for OMX components.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
738c4315859395bfeeaae3d4c9d6fb9f414778f1 23-Nov-2009 Andreas Huber <andih@google.com> Make sure the decoder's input buffers are large enough to hold the largest input data. Verify that the setting actually sticks.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0dba73763a04d39faf999dcc5ef12af3c99535a7 04-Nov-2009 Andreas Huber <andih@google.com> Adds a WAVExtractor for 16-bit signed PCM audio wave files.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
34769bc913e9f6bb138e666d94a9d685bf3da217 23-Oct-2009 Andreas Huber <andih@google.com> New API to instantiate a MediaExtractor given a URI and optional MIME type.

Also DataSources now must provide a method initCheck()
and DataSource::reat_at has been renamed to readAt to conform to
standard API naming guidelines.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
66326a5ee0869f1ee4d136a477e6effba428b3cb 23-Oct-2009 Andreas Huber <andih@google.com> Moving the individual extractor headers files to the private include directory.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
7e04dcf8d6784dd56f53aa90bf34431ab4f0710c 22-Oct-2009 Andreas Huber <andih@google.com> Extract video thumbnails from the largest sync sample among the first 20.

Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
89e69da4d86348409994c9dafbbb2634ccd7c196 13-Oct-2009 Andreas Huber <andih@google.com> Separated private from public header files.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
48c948b1137e7bbdb161b51908657ab72ac5e2da 08-Oct-2009 Andreas Huber <andih@google.com> Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
18291bc20e55e8f3fd5feb786771a8ed32c19c59 10-Sep-2009 Andreas Huber <andih@google.com> Media MIME types now have corresponding constants in MediaDefs.h, new codec enumeration API.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
371e243b6638e74e577d56a24eee7d5a97e36d2b 10-Sep-2009 Andreas Huber <andih@google.com> Support for amr-wb tracks in MPEG4Extractor.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
dbc03445db2bbf83b64f0c0a5dc62e61408864d7 19-Aug-2009 Andreas Huber <andih@google.com> The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
693d271e62a3726689ff68f4505ba49228eb94b2 14-Aug-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 10:40:08 2009 -0700

An attempt at fixing export using the qcom encoders. More quirks.

commit 0690e76bfa48118a68287ccf1bbfa82febaa620c
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 14 09:08:28 2009 -0700

Callbacks are now dispatched from a separate thread in OMX.

commit c6571a039526df29b6343f9a1971dbc019088c61
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 15:42:25 2009 -0700

Massive API changes throughout stagefright, smart pointers everywhere.

commit 900612af6a0555664d9ba195112cd859491265f4
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 13:33:12 2009 -0700

OMXCodecs now properly shutdown.

commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 13 12:04:04 2009 -0700

More work on JPEG decoding using the hardware OMX component.

commit 63839a073ac393e3a130434ba467969053b694ad
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 12 13:13:31 2009 -0700

An attempt to drive the JPEG decoder OMX node.

commit 3ac2fe5ab2926eda81b2123610b2434c645294ff
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:38:21 2009 -0700

Renamed StateMachine to OMXCodec and put it in its proper place.

commit 247da75a96bf8881956413023dd49a84d5b4f5b2
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 11 16:06:19 2009 -0700

Statemachine is now a full-fledged MediaSource.

commit 045244f6771fa0b9b329495c953afda900a84b71
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 7 09:16:54 2009 -0700

Properly setup the input format when exporting to AMR audio.

commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9
Author: Andreas Huber <andih@google.com>
Date: Thu Aug 6 09:59:38 2009 -0700

Added some code to test audio encoding to the OMX harness.

commit 79af4748e4af33bd66d3fbac606e332a69741cf4
Author: Andreas Huber <andih@google.com>
Date: Wed Aug 5 14:36:22 2009 -0700

Merge the old OMXDecoder and the new, shiny, StateMachine code.

commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231
Author: Andreas Huber <andih@google.com>
Date: Tue Aug 4 17:41:43 2009 -0700

A new harness to test OMX node compliance (and quirks).
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
0024245e134467d120b40099da16c467dc365e76 28-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 374ea382ee3a9e3ce17e4c6357fc40d02e362810
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 28 09:54:13 2009 -0700

PV's OMX implementation now uses (spec-compliant) microseconds instead of milliseconds in buffer timestamps.

commit 8d02f8ab5d7b022ad4ad34db2a9bdeea6ce2acfe
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 14:24:26 2009 -0700

Support for using an overlay for video playback on TI hardware.

Appears to be currently constrained to CbYCrY 16-bit colorspace.

commit d17f321cb4b15c1fea378f33a7ef5998f23dd0fc
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 27 09:45:38 2009 -0700

Added '--audio-only' commandline option to stagefright tool.

commit d8beef6be5c668c46451446d87e622933371cd75
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 24 13:35:00 2009 -0700

Generalize the various workarounds for OMX nodes with their own unique interpretation of the spec.

commit c7dfd53eeadf8ed5a39bf2b19b014dcd62f3324d
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 16:06:36 2009 -0700

Fixed erroneous TI AAC decoder behaviour wrt shutdown.

The AAC decoder appears to not return out buffers on an Executing->Idle transition, implemented a workaround that does a flush on all ports followed by the Executing->Idle. Oh, and flush with OMX_ALL doesn't properly work either. Fun.

commit d6377282e75060881336578f166f9c7feacf3f8f
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 23 14:06:50 2009 -0700

Apparently the "channels" parameter in AudioTrack's constructor no longer counts channels but is a bitmask of enabled destinations, update the code accordingly.

commit ff698c79e851a2e57d362e9c3a09828af4048087
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 16:54:44 2009 -0700

Fix MPEG4 decoding using TI's hardware decoder that I broke earlier...

commit 2ef78bb87cd856eb7f0b3d7dd68782a8650c12bf
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 15:43:18 2009 -0700

Now that the qcom decoder properly advertises its own custom colorspace, update dependent code to reflect this fact.

commit bbaec96910727080fd7c8a6907c04facb9f5220f
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:32:03 2009 -0700

Finishing up previous, incomplete change.

commit 76f14a1ae816b6f434771f8d12bdad81196f351e
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 14:25:17 2009 -0700

The TI video decoder now properly decoder AVC/H.264 content.

commit e106130d8c100d5c94603e43864a7a93cca10252
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 22 08:56:04 2009 -0700

Experimental support for the TI H.264 decoder, various modifications to OMXDecoder, non-functional still.

commit 241c3062dec3447db1a1ee74558cb4b9098fc404
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 12:13:09 2009 -0700

Enable TI hardware OMX decoders (except for AVC/H.264 which still has issues).

This particular set of OMX nodes does not appear to properly return our buffers when sending the "disable" command on a port. Rather it reqires manually flushing that port and _then_ disabling it instead.

commit 1c34506a46e32ce25f2a86f3b4250dcfc037356a
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 21 08:51:35 2009 -0700

Make it simpler to switch between the stagefright player and PVPlayer.

commit 249c6de05671d403f8dd51f095d49bf190430c9c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 20 14:38:15 2009 -0700

Prepare to use soon-to-be-available hardware decoders in the OMX decoder.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp
20111aa043c5f404472bc63b90bc5aad906b1101 15-Jul-2009 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 8d179995654c19d9094e51989dc84ed0deba6e04
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 16:30:40 2009 -0700

Protect stagefright code with BUILD_WITH_STAGEFRIGHT build-define.

commit 99b41acb58c34e8f024c30c833a09fd7b31c4e1f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 14 14:06:00 2009 -0700

OMX::list_nodes API, stagefright --list now lists all available OMX components.

commit 94a74c5b24aae6d7e446fff83d62ae3a57dc351b
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 16:04:29 2009 -0700

Reenabled "record" commandline application to test encoding, support for h263 codec specific data when writing to .mp4.

commit d363dd74f611577567c66d25900d6264c306468c
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:59:58 2009 -0700

Make non-socket communication in IOMX the default.

commit e89fc82c4fd138c88339887baf72f1d0e67f8660
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 13 10:32:33 2009 -0700

The OMX interface now optionally supports communication through the binder only (no sockets involved)

commit 28611de11223fba65299787cdd33f7fdbd6a60a3
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 15:09:13 2009 -0700

Split off the logic to render to a Surface (not ISurface!) into SurfaceRender.{cpp,h}

commit c0cfa885faaeb17d3fc5436f6447b61708bd6fe1
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 12:21:46 2009 -0700

Fix display dimensions vs. decoded dimensions display issues, unfortunately breaks software rendering a bit...

commit ae209a2b5d09caed5dd383c910f238926aaa8fc6
Author: Andreas Huber <andih@google.com>
Date: Fri Jul 10 09:33:29 2009 -0700

Simple video decoder performance test in "stagefright" commandline tool.

commit 59fe7840111d6f46dd3c48f4950146aed962dbd2
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 16:05:12 2009 -0700

StagefrightPlayer: Properly publish video dimensions by notifying the listener.

commit 51b6598f0e47be5e12d77f1d14e111e71c593638
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 9 11:38:15 2009 -0700

MediaPlayerInterface::AudioSink now supports the specification of a callback for pull-based audio.

commit 31ce53375d748da3e7d30e993ce89dae97fd65ea
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 17:23:37 2009 -0700

Proper support for pushing audio to a specified AudioSink interface. Still not bulletproof: video falls behind frequently.

commit a23e312b10631a5d47f5c9831205beac6b84ab36
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 15:10:13 2009 -0700

IGenesisPlayer and friends are no more, java interface now uses local playback instead
of playing inside the media server process.

commit 42ee5c06ab5ba1c16f50472b0b26a0526635c73c
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 8 13:17:03 2009 -0700

MP3 extractor now supports seeking (only fixed bitrate files currently supported)

commit 96a790405763bfa738d1c6845c99a9fdf579b66f
Author: Andreas Huber <andih@google.com>
Date: Tue Jul 7 10:53:54 2009 -0700

Keeping up-to-date with new master-gl changes, removing CameraSource for now, removing unnecessary commandline utilities from the build.

commit 6c9dcb7c628c0347154dd7f37913a3a5f04deb99
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 16:40:02 2009 -0700

Finally take advantage of the fact that the Qcom OMX decoders already place the output buffers into memory accessible by the hardware yuv converter and avoid extra allocations and memcpys in that case. Split of the render logic into subclasses of VideoRenderer.

commit e8d46e81cffc15ffb0bdf03f511e4a4497ca7621
Author: Andreas Huber <andih@google.com>
Date: Mon Jul 6 12:18:29 2009 -0700

Added a few more cases of valid MPEG4 files to the sniffer, fixed end of stream notifications in MPEG4 files.

commit 88bffc5ed4033a607080f8777a1c0ec9e3e079de
Author: Andreas Huber <andih@google.com>
Date: Thu Jul 2 12:25:03 2009 -0700

MediaPlayerImpl now properly pauses/resumes instead of tearing down the decoder chains and starting back up from the beginning.

commit 732aa0a87c7e8d8a10776b275712649954962414
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:58:56 2009 -0700

Remove pthread_mutex_* and pthread_cond_* in favour of Mutex and Condition.

commit 669e5944b2fe0542a3b8dba0c441a94503e99fb0
Author: Andreas Huber <andih@google.com>
Date: Wed Jul 1 14:43:02 2009 -0700

Proper support for end-of-stream signalling of MediaSources.

commit afb038f2dc594c742e554b2d42b86ffc7434e3fc
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 30 16:48:03 2009 -0700

Support for the "sniffing" of datasources to determine their probable mime type (along with confidence). Slightly refactored the MP3Extractor to share common code with the sniffer.

commit ed3644b8bd56807e1db4b32433a93a2467f1f3c5
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 13:27:52 2009 -0700

I don't think prepare should automatically start the player.

commit 11eb9b49dc4a0819d366682817cba68613f4fe12
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 26 11:09:22 2009 -0700

Somewhat better timing information implemented in the MP3Extractor.

commit cab023a1751735c0ed26c8493498a91d8644c6c9
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 25 15:41:56 2009 -0700

Initial checkin for support of mp3 content, extraction and playback. Media extractors now abstracted in MediaExtractor baseclass.

commit 40f4146bb3c647e56690dd9b0fa3ffdea60030dc
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:41:12 2009 -0700

Make sure we only allocate surface buffers if there is video to be played.

commit 7f85e7d92fe81740e102e09905b19354f4ac178e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 24 10:19:32 2009 -0700

Clean up a failed merge and implement stub for new API in MediaPlayerBase.

commit f0e9d494a4c03402ea7b54891848ca5a50c421b2
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 15:38:03 2009 -0700

Support yuv420->rgb565 conversion if hardware color conversion is unavailable.

commit 87223248b3099cd5261b94169f84cfd1eba56a8f
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 12 09:35:56 2009 -0700

Remove unimplemented and currently unnecessary blocking option from MediaSource::ReadOptions.

commit e07e651f0325892b797f3eb64dbeca0f317afdfd
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 16:26:42 2009 -0700

Enable assertions in HTTPDataSource.

commit 0dc97adebea1721156880f4b3d5c70f8d50c53b2
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:39 2009 -0700

delete foo.

commit 7f05845dda496e7defee284d32509d127e785784
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 12:34:08 2009 -0700

added foo.

commit e432970c51eeec4e5d549bdb3e2d3e48ffb4f0e7
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 10 11:44:31 2009 -0700

Make sure to initialize all fields in _all_ constructors... Use a Mutex instead of the raw pthread_mutex_t.

commit d6286a6bbca639952491448fa3e609b775a8a814
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 17:11:49 2009 -0700

send_command is now implemented twice... ugly hack to get both shutdown working correctly and startup as well... playback now "works" on the emulator, too.

commit 8d657e004677a7c5dae4479e8519bcaa94c18aad
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 11:58:55 2009 -0700

Instead of erasing codec specific data once it's been output to the omx node, retain the data and just rewind after a stop.

commit 279fede6ba35cbc37c35616c53406bf2c9720202
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 10:58:11 2009 -0700

Various fixes related to play/pause. Decoder now properly frees OMXMediaBuffers, made MemoryDealer destructor protected instead of public to prevent accidental stack-allocation of MemoryDealer objects.

commit 0f717f15a6328efd3f34082929cd8ad2351095a9
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 9 08:44:12 2009 -0700

Make sure to rewind codec specific data on OMXDecoder::stop and reset AudioPlayer's notion of time mapping.

commit 0cfb63e33270daf9b215214608ab383f93a31823
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 14:25:48 2009 -0700

Massive rename.

commit 30ed8f476c4431a5275538958b3e281bd17d5eab
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 13:52:41 2009 -0700

send_command and fill/empty buffer commands must be executed in sequence, send_command is now dispatched over the socket instead of through the binder interface to ensure this.

commit b832d04011b2dd8a9632eb7e575bfe1addd1270d
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:21:17 2009 -0700

MediaBuffers can now be "clone()", they sit on top of the same data but have their own range and metadata. Once a clone's refcount drops to 0 it decrements the refcount on the original buffer.

commit 4e944672808bdf1ed40a69f3f602f93ebf7b4049
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 8 10:01:01 2009 -0700

Split MediaBuffer.h into MediaBufferGroup.h and MediaBuffer.h, same with their respective source files.

commit ddb7529b4de4828db51432bd405fddd76cfa3b6a
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 16:30:25 2009 -0700

More fudging with A/V sync...

commit 1e5a4d8df08237b58c06c6527a33152ae931addf
Author: Andreas Huber <andih@google.com>
Date: Fri Jun 5 11:54:20 2009 -0700

API cleanup of MediaSource. Got rid of MediaRing as it really doesn't serve a purpose if OMX decoders are used.

commit 0953c65232aa9753d17d2e25c5f5526eb810cf13
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 16:59:19 2009 -0700

Experimental TimedEventQueue and an attempt at a cleaner player implementation using it, OMXDecoder is now a little less verbose.

commit 2085b8ea9484a21fa11f94194a27405d413aeecc
Author: Andreas Huber <andih@google.com>
Date: Thu Jun 4 10:17:01 2009 -0700

Properly bail out of the AV sync loop if the MediaPlayerImpl is stopped.

commit 471f143458a8a0d93cb1bf9568c63c3967279dc6
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 17:32:27 2009 -0700

Now this is much better AV sync, defer seeking the audio source until we know where the video source synced to.

commit 4010d371dbe62ce4971e13437776cba32cb0bb3d
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 16:01:07 2009 -0700

Tweaked some of the heuristics in AV sync, OMXDecoder is now a little less verbose, seek to a sync sample at or _after_ the requested position.

commit f3d4af1d5a4ac31fa02271b000f6c7ec593f0da9
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 15:33:58 2009 -0700

Change the TimeSource interface's APIs, prefer microseconds over milliseconds now, changed the way MediaPlayerImpl does AV sync.

commit 08bb46fa61d12e852a424698ddb0c90700328f6e
Author: Andreas Huber <andih@google.com>
Date: Wed Jun 3 11:57:24 2009 -0700

Using framework's Mutex and Condition classes instead of pthread functions, much saner locking in OMXDecoder.

commit 4d77b4e09e59bbf8c1af009ae7dc62b10af52fd6
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 17:12:03 2009 -0700

MediaSources now publish their format.

commit 7e429a26c57bf936e1a08035d2d11839f9f00310
Author: Andreas Huber <andih@google.com>
Date: Tue Jun 2 16:38:29 2009 -0700

MetaData is now implemented in terms of KeyedVector, MetaData is now reference counted.

commit 0fa957aa5c9bcb6ec122ed7b5b97430039be6797
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 14:39:55 2009 -0700

Sync sample seek support.

commit 78a5f090d02e7e6e1a146b29bdb7771eecaa2f86
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 13:51:11 2009 -0700

Distinguish shutdown from port-flush since one requires buffers to be freed and the other one doesn't. Fixes a problem with seek.

commit e57781d3b2c985a74cd8b60e7c8f2d576459d038
Author: Andreas Huber <andih@google.com>
Date: Mon Jun 1 10:52:20 2009 -0700

First shot at support for seeking a MediaSource. Sync frames are not properly handled yet.

commit 0551cd78fda78bf66877fb26c5a55e5ae23d8367
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 16:23:38 2009 -0700

Preliminary support for camera input.

commit f8ebafa65d10d5a06944de6b2e2992a33121b857
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 12:13:47 2009 -0700

Allow NativeMediaPlayer access to Surface's getISurface() method.

commit b1a9fb36eeccd9f49d28c1c64b31fccbd6506eeb
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:38:25 2009 -0700

Header files are now in their own genesis2 hierarchy below frameworks/base/include.

commit f49b8b234b8f6ce83148787eef540dd920f04aa6
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:22:03 2009 -0700

moved MPEG4Writer into libgenesis2.

commit 5224254919dac4728677335ea60429fa16f518b4
Author: Andreas Huber <andih@google.com>
Date: Thu May 28 11:13:38 2009 -0700

Everything now lives in the android namespace, integrated errors with android errors, renamed MediaPlayer to MediaPlayerImpl.

commit f9a9d84f7e0465ef5d1938a068655ba39527cf99
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 16:43:11 2009 -0700

Support for getPosition() and getDuration().

commit 3206cc5140bcbc88be039f8d94b954af63e69752
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 15:37:45 2009 -0700

Support for {MediaPlayer, GenesisPlayer, Genesis2Player}::isPlaying()

commit 9f41b248e0dfce71bbc50f883750cec52ebfd1fe
Author: Andreas Huber <andih@google.com>
Date: Wed May 27 13:49:50 2009 -0700

Proper disconnection from the OMX service.

commit cdcf47a2c31599109ee42277c7fa14af3c600091
Author: Andreas Huber <andih@google.com>
Date: Tue May 26 17:27:06 2009 -0700

New player type for the genesis player in libmediaplayerservice. Playing video through an ISurface now.

commit 0586af20ac9ae0403dd190bafd290b0f90549723
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 15:53:19 2009 -0700

Fix a buffer overflow error by adding padding in case we need to de-frame AVC data.

commit eac62fff6ad2ffb7b75c0d4a1b9620d33e93fb9b
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 13:35:30 2009 -0700

Support for http URIs in MediaPlayer, compensate for AudioTrack latency.

commit a7db456e3173d94d6b5e457547e2a6a5f7a8e1cc
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 11:33:25 2009 -0700

Support for URIs in MediaPlayer class, support for shoutcast streams in MediaPlayer, force shutdown of OMX nodes if they don't shutdown cleanly within a second.

commit 1f0268f4f14ad5215668f34e06a420850174d665
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:33:16 2009 -0700

and foo.txt is gone again.

commit 0feca4e0919f345704d78ec78894bac5027bd5ed
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:28:49 2009 -0700

added foo.txt

commit 9c7d04b35cdc895a2de3602dc46522f608bd205f
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:28:04 2009 -0700

delete foo again

commit fec3ca1720992cce51b9a92b86b945da88a6b16c
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:27:45 2009 -0700

weird

commit 30a6571302333146e537e537a3a8986245cca87c
Author: Andreas Huber <andih@dhcp-172-19-27-148.mtv.corp.google.com>
Date: Fri May 22 08:18:55 2009 -0700

reverse test

commit dea3d99dd0fe9386e8a3c51954d9d0fe2be09d38
Author: Andreas Huber <andih@google.com>
Date: Fri May 22 08:18:22 2009 -0700

test

commit a9eeafec6e46072cac41e54ebdbd153cb7ae7518
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 16:37:50 2009 -0700

Use the video ring again for now.

commit e05ff3d3c1c4f89ef499a2b172138a775fd694e3
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 15:42:19 2009 -0700

Export to .mp4 now works for MPEG4 video content. Fixed a bug in the sample table wrt co64 chunks.

commit 5c44c540374a4e50c4e8aaab2b7a34aed6e1391e
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 09:56:11 2009 -0700

Fix the build, all binder-related headers have moved and there's a new library libbinde
r to link against now.

commit 23e0a24404d16c898c2c6b3c7495ad303844bc71
Author: Andreas Huber <andih@google.com>
Date: Thu May 21 08:42:04 2009 -0700

Initial checkin of MPEG4Writer, a class to export media sources into an mpeg4 file. MPEG4/AVC metadata (efss & friends) not currently working.

commit 9cd77adb1ac194197364ffad00a0d7215f458e1a
Author: Andreas Huber <andih@google.com>
Date: Wed May 20 12:31:45 2009 -0700

New shell command to test recording/encoding. Various changes to OMXDecoder to support encoding properly. Now each OMXDecoder needs a dedicated thread on the client side since onEvent responses could block which would cause deadlocks if a node depends on the output of another node for example.

commit 5c510fb55ffed7ec25305999ed9b6c1eec48d503
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 15:40:06 2009 -0700

Make media decoding the default in the genesis2 commandline app instead of shoutcast playback.

commit f6c7a2040b8eb43326621f12c3a936e09b3a70e3
Author: Andreas Huber <andih@google.com>
Date: Mon May 18 11:03:04 2009 -0700

The king is dead, long live the kind... Replaced old OMX binder interface with new OMX binder interface/socket hybrid.

commit 0d4955eb5df9bfafb576d22f2ed572644d6d69ac
Author: Andreas Huber <andih@google.com>
Date: Thu May 14 12:39:34 2009 -0700

dynamic negotiation of NAL framing with the MPEG4Source, removed stale code from genesis2 commandline tool. Enable support form PV H264 software decoder.

commit 380369f54a8027cbc9349305184d6bf527a24efe
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 17:32:00 2009 -0700

Explore the option of running everything inside the mediaserver process by encapsulating the player in an IGenesisPlayer binder interface.

commit b5cada56b9089a23e0c461352a97dc71e08b424d
Author: Andreas Huber <andih@google.com>
Date: Wed May 13 12:11:06 2009 -0700

Introduction of TimeSource class, clean shutdown of OMX Nodes.

commit 89f6e582e605dcb2149eb67f73fe9345d4b9be2e
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 17:11:56 2009 -0700

Helper classes MediaRing and MediaPlayer.

commit 9aaed8739b4bb941473da367fb88f63224d2f1b7
Author: Andreas Huber <andih@google.com>
Date: Tue May 12 14:19:18 2009 -0700

Using mmap to map a file instead of going through FILE* improves performance, who knew?

commit ad097a78bbd002c59193ffdc39b64935928426c7
Author: Andreas Huber <andih@google.com>
Date: Mon May 11 16:42:42 2009 -0700

Added a performance test, refactored AudioDecoder a little.

commit bdd1b80ab3f3ba43e04f1f996e7fa84ed2e2728a
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 16:19:29 2009 -0700

No more copying the output buffers coming out of the decoder, NAL separation also done in the extractor to avoid copying the data.

commit 858955b42c29b8033841a8caaa56c2a449810ef3
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 14:02:38 2009 -0700

Change from a model in which the caller specifies the destination buffer to one where the MediaSource returns a buffer.

commit 95098b6d4f8bdc37dfb6a109ca58db4d9e414e2d
Author: Andreas Huber <andih@google.com>
Date: Fri May 8 13:21:45 2009 -0700

Changes to support multiple pieces of codec specific data to the decoder, de-frame nal units from the h.264 stream and insert start codes

commit 3941fcf87a48dda81683df727dfb1381f62d9184
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 16:37:45 2009 -0700

some refactoring. Most streams play now.

commit d3152862840d4dd39068e5197bec8674f3d55dd5
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 15:37:32 2009 -0700

Misc. changes to support H264 decoding using the qcom hardware decoder

commit d4ecdfe7af36e7468270d1c2cbbdc540efe0351e
Author: Andreas Huber <andih@google.com>
Date: Thu May 7 09:28:18 2009 -0700

Timestamps are now stored as a fraction, i.e. units and scale, also, PV appears to violate OMX specs by assuming timestamps are in milliseconds instead of microseconds.

commit fe6a50943f885e065d4061aa727a54417e9f36db
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 14:18:27 2009 -0700

Refactored commandline app instantiation of the decoder.

commit da1ff2724d0e78e8b360d9a2c34c55dd0e2c0492
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 10:41:14 2009 -0700

Proper audio/video synchronization.

commit 569ee3a23f600f4b6b87c6178c0223b06e97f201
Author: Andreas Huber <andih@google.com>
Date: Wed May 6 09:17:20 2009 -0700

Preliminary support for timestamps.

commit e4e302a89207550d8a7170d8c0afbd9c15047c84
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:13:12 2009 -0700

Another quick hack job to make CachingDataSource thread-safe as well.

commit dfb376a58bd7c09aa04e89558186fcfe13fe696c
Author: Andreas Huber <andih@google.com>
Date: Tue May 5 15:08:14 2009 -0700

Quick rushjob to make FileSource and SampleTable thread safe.

commit 02b29e7ebdab1f8b959b6c177ceb3b89d998f375
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 17:22:04 2009 -0700

Made video decoding work for mpeg4/h263 and mostly(?) with AVC content.

commit 3a57b8ff15e48f5a0af03bf0a99c32e240dbb7ef
Author: Andreas Huber <andih@google.com>
Date: Mon May 4 09:26:42 2009 -0700

Getting rid of old sample code to drive the OMXNode binder interface.

commit 5b046aed0cf524a57ea711bc1e43ea80e57b2cb3
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 16:21:11 2009 -0700

Moved files from the commandline utility into the framework, renamed MP3Decoder to AudioDecoder

commit 7f3fbba21512a078b732cc52c7bd5ba5acb9a317
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 15:56:19 2009 -0700

Fixed buffer ordering and an off-by-1 error in the SampleTable code. Plays all AACs now :)

commit 024d06baab8f2c540dde16f7e7a4b6dd57f638c7
Author: Andreas Huber <andih@google.com>
Date: Fri May 1 11:52:48 2009 -0700

Some AAC content in .3gp or .mp4 files plays correctly now, other does not. Implemented ESFS parser.

commit 1470427866b0d3e0ce6848b4edc01c13a09be289
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 30 15:19:31 2009 -0700

Another checkpoint, amr decoding now functional.

commit e612d044439f56331b6a2bc4a88622e04d4d42e7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 12:11:29 2009 -0700

string wrapper around String8, various fixes, shoutcast now works again.

commit 2ea52dfb1a39bf3a223ffc87855e54919e2daff7
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 11:08:18 2009 -0700

Initial check-in of OMXNode binder interface.

commit 7880d2957f74c0d7fba7679431ff5adb3780543b
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 29 10:05:01 2009 -0700

Initial check-in of both libgenesis2 and the genesis2 commandline tool.
/frameworks/av/media/libstagefright/MPEG4Extractor.cpp