History log of /frameworks/av/media/libstagefright/id3/ID3.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e3758a01279fbd09f9ccaa0fc8491497f63a657b 14-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c am: f71b76cae8 am: 36c2e14da3 am: 8a3cc1963e am: 5b0ca6a92c am: d270a899c2 am: 8f2b91f0a1 am: 6e25e6f7a2 am: f375fd0f70 am: 5d1ce82bb3 am: 4c5f8398f0 am: 31b147f2f7 am: b9002a6643 am: 448e61d0d7 am: b1f14803fe
am: 8368b2be1a

Change-Id: Id3d13a1a7187ceb11640117f98f9f94b8c527452
8368b2be1ac45be1ea8775a9e3c3d7f013418fff 14-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c am: f71b76cae8 am: 36c2e14da3 am: 8a3cc1963e am: 5b0ca6a92c am: d270a899c2 am: 8f2b91f0a1 am: 6e25e6f7a2 am: f375fd0f70 am: 5d1ce82bb3 am: 4c5f8398f0 am: 31b147f2f7 am: b9002a6643 am: 448e61d0d7
am: b1f14803fe

Change-Id: I68be1067743fa39062940a2346f5d3443edf4315
4c5f8398f0600bd2163dc9d4c11086f380689a94 14-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c am: f71b76cae8 am: 36c2e14da3 am: 8a3cc1963e am: 5b0ca6a92c am: d270a899c2 am: 8f2b91f0a1 am: 6e25e6f7a2 am: f375fd0f70
am: 5d1ce82bb3

Change-Id: Ia8706bf387c1f779f31952fe287e3414e67ccbbe
8f2b91f0a1fb0261ab6f4fd556e4498cc900bb7b 13-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c am: f71b76cae8 am: 36c2e14da3 am: 8a3cc1963e am: 5b0ca6a92c
am: d270a899c2

Change-Id: I64b30e83c6825a83ff628477a58d607eded0ec7d
8a3cc1963ee15182c0b9f3b27b1a9e36f3680b0f 13-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c am: f71b76cae8
am: 36c2e14da3

Change-Id: Ie6d46a6979bc89e2485fa4d2a25b21fc601e9783
36c2e14da34ad37485404319229594a6577408fd 13-Mar-2017 Marco Nelissen <marcone@google.com> Merge "Fix out of bounds access" into klp-dev am: 360cbbd72c
am: f71b76cae8

Change-Id: I3306be5d7bb3867287732757dd14170527488b68
d1c19c57f66d91ea8033c8fa6510a8760a6e663b 10-Mar-2017 Marco Nelissen <marcone@google.com> Fix out of bounds access

Bug: 34618607
Change-Id: I84f0ef948414d0b2d54e8948b6c30b8ae4da2b36
/frameworks/av/media/libstagefright/id3/ID3.cpp
2f09cc743f4807bb853dd98aecc05d8105c0034a 09-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information am: fa0806b594 am: 1e9c67e52b am: e78bb7ab20 am: 830fbba76a
am: fd8fd049b5

Change-Id: If56540bdecdf06680dbbdc70054aadea63e94389
c696d76d984448723768ce80e461a7e0f09069f8 09-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information am: 2ff80538b7
am: c3819cfda9

Change-Id: I2a98a164f3c1d728e0f5bec906116cd1bffac19a
fa0806b594e98f1aed3ebcfc6a801b4c0056f9eb 02-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information

several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: Ia9f526d71b21ef6a61acacf616b573753cd21df6
/frameworks/av/media/libstagefright/id3/ID3.cpp
21f28142605f34d7194b7f710ae7b77f3aed2123 02-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information

several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: Ib46cd1b5a3e1707c343d395f235bedb82764e184
/frameworks/av/media/libstagefright/id3/ID3.cpp
52d02b97a4dc54cff9c4f058eeeab6753c2230a0 02-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information

several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: I479d51e88d3180461cb6ea5540974671cfd84201
/frameworks/av/media/libstagefright/id3/ID3.cpp
2ff80538b7063545e5e006f3eca96115175e7c82 02-Nov-2016 Ray Essick <essick@google.com> DO NOT MERGE: defensive parsing of mp3 album art information

several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: Idbaf221fa2283b33e83f399562a3323dd095cc2c
/frameworks/av/media/libstagefright/id3/ID3.cpp
ebb726f940b29174f8dd4bb74d6de39c3f6eb611 27-Oct-2016 Ray Essick <essick@google.com> defensive parsing of mp3 album art information

several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: I802a71c6e5968aefde21eb1612b720ff6d579988
/frameworks/av/media/libstagefright/id3/ID3.cpp
87b3303151e964c2619342de84adc2eb751b5c6d 29-Sep-2016 Roger1 Jonsson <roger1.jonsson@sonymobile.com> Merge "Prevent crash for malformed ID3 COMM frame" am: 944706f468 am: 5c487ff344 am: 2e0151903d
am: c81cdd3e8c

Change-Id: I322a90d7a9881d88e84ebf2ed3986eced76b88ec
2e0151903d87ca62e9f18bf24dd3e86ac5fae5f2 29-Sep-2016 Roger1 Jonsson <roger1.jonsson@sonymobile.com> Merge "Prevent crash for malformed ID3 COMM frame" am: 944706f468
am: 5c487ff344

Change-Id: I512b4df1b87f9be715896f418fd7618d3d234e82
e1e791727f709c7ab54d47b9cd46d4326a02e913 21-Sep-2016 Roger1 Jonsson <roger1.jonsson@sonymobile.com> Prevent crash for malformed ID3 COMM frame

When trying to retrieve the full text string from a malformed
ID3 COMM frame, there is a risk of getting a negative index
value if the size of the frame is too small.

Adding a size check to avoid negative indexes.

Bug: 31815576
Test: Playback content with malformed ID3 COMM frame
Change-Id: I21253e104cd76a65f5ab5d03f58490e0f4a4cb65
/frameworks/av/media/libstagefright/id3/ID3.cpp
1cbdd5a6047f8809cf23825714e1726acae7b24e 19-Aug-2016 Ray Essick <essick@google.com> better validation lengths of strings in ID3 tags am: d23c01546c am: e3fad118bb am: 019973a8d4 am: d936eadf31 am: 94875f51ca am: 49c95c0e2a am: 6dd5f688e5
am: 9514a61372

Change-Id: Iedc52d00b464526b8d1bfde2d1f9fdcdfa8f3fa8
d936eadf31e2b12cdfabb0b7e7b1fd3589691a6e 19-Aug-2016 Ray Essick <essick@google.com> better validation lengths of strings in ID3 tags am: d23c01546c am: e3fad118bb
am: 019973a8d4

Change-Id: I19865bbbc4037de800c2a1670de070c5ecc2dbf6
d23c01546c4f82840a01a380def76ab6cae5d43f 16-Aug-2016 Ray Essick <essick@google.com> better validation lengths of strings in ID3 tags

Validate lengths on strings in ID3 tags, particularly around 0.
Also added code to handle cases when we can't get memory for
copies of strings we want to extract from these tags.

Affects L/M/N/master, same patch for all of them.

Bug: 30744884
Change-Id: I2675a817a39f0927ec1f7e9f9c09f2e61020311e
Test: play mp3 file which caused a <0 length.
/frameworks/av/media/libstagefright/id3/ID3.cpp
d2b126291b7cc302ebcef8249bef7813e0dd77dc 11-Aug-2016 Ray Essick <essick@google.com> even better error handling in id3 tag parsing.

This better handles some of the error cases, particularly
when the 'new' operations fail.

Bug: 30744884
Change-Id: Idbc1fd4aef1ee6cc2736057ff09bf870d8fb5da3
/frameworks/av/media/libstagefright/id3/ID3.cpp
c54432ae4f3627b1003fa251616b0103dad8b5d0 10-Aug-2016 Ray Essick <essick@google.com> Better handling of empty ID3 tags

Watch for 0 length ID3 tags, avoiding allocations of 0 bytes when
we see these. Change code around "new" invocations so that we won't
throw exceptions and we check for null returns when they do fail.

Bug: 30744884
/frameworks/av/media/libstagefright/id3/ID3.cpp
2c9cb62d0160fc4353d89fd9d648725794e7995e 29-Feb-2016 George Burgess IV <gbiv@google.com> Cleanup uses of sprintf so we can deprecate it.

Also removes a seemingly useless branch.

Change-Id: Icd61d4facd64985f4c73e9876569e1ae1a74ee83
/frameworks/av/media/libstagefright/id3/ID3.cpp
a6b9d752e7e266b63a2d9a694b3422198cb512a1 07-Oct-2015 Wei Jia <wjia@google.com> am d4df7559: am 39f64a1e: am 8b713f11: am b75a78db: am fc0e2a87: am 7ed8d1ef: ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

* commit 'd4df7559c32d95707d2c04cbf8612db37d682ef6':
ID3: check possible integer overflow for extendedHeaderSize and paddingSize.
b75a78db916a7becf7e1b5ad15c0b4e667ef4661 07-Oct-2015 Wei Jia <wjia@google.com> am fc0e2a87: am 7ed8d1ef: ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

* commit 'fc0e2a87c17b1f326b5e3302e8f534c143fd5784':
ID3: check possible integer overflow for extendedHeaderSize and paddingSize.
fc0e2a87c17b1f326b5e3302e8f534c143fd5784 07-Oct-2015 Wei Jia <wjia@google.com> am 7ed8d1ef: ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

* commit '7ed8d1eff9b292b3c65a875b13a549e29654534b':
ID3: check possible integer overflow for extendedHeaderSize and paddingSize.
b6495718dc3f3269a862843762e4809cc26fcae6 07-Oct-2015 Wei Jia <wjia@google.com> am b39b25a2: am d9a22c51: am 39d91e7b: Merge "ID3: check possible integer overflow for extendedHeaderSize and paddingSize." into mnc-dev

* commit 'b39b25a2b9ceb5b3e1d32ddbead10b907e5c87a1':
ID3: check possible integer overflow for extendedHeaderSize and paddingSize.
7ed8d1eff9b292b3c65a875b13a549e29654534b 05-Oct-2015 Wei Jia <wjia@google.com> ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

Bug: 24623447
Change-Id: Ifbc74454d6e28ad7136efe35ab638a07e46398b1
(cherry picked from commit b3694ff5a5bcecd4b6cedca156f6effb55bbf4ca)
/frameworks/av/media/libstagefright/id3/ID3.cpp
b3694ff5a5bcecd4b6cedca156f6effb55bbf4ca 05-Oct-2015 Wei Jia <wjia@google.com> ID3: check possible integer overflow for extendedHeaderSize and paddingSize.

Bug: 24623447
Change-Id: Ifbc74454d6e28ad7136efe35ab638a07e46398b1
/frameworks/av/media/libstagefright/id3/ID3.cpp
1c425b65186bb64b5c5e32194b3db3df4a5378b1 24-Aug-2015 Robert Shih <robertshih@google.com> am b3b34074: am 7b06f9ba: am fa11fd5b: resolved conflicts for merge of 327afffb to lmp-mr1-ub-dev

* commit 'b3b34074477b9f8713924e18f7a0120965112720':
Prevent integer issues in ID3::Iterator::findFrame
fa11fd5bb2e9c5e00f7fecbbe76c279193182cee 24-Aug-2015 Robert Shih <robertshih@google.com> resolved conflicts for merge of 327afffb to lmp-mr1-ub-dev

Change-Id: I6c1369f05bbeb83e2152b8dae35f7a53328f7239
8cf3564d2dd522f7a707a8fd109d415dab3def47 22-Aug-2015 Robert Shih <robertshih@google.com> am eecc406f: am 3b42241a: Merge "Prevent integer issues in ID3::Iterator::findFrame" into klp-dev

* commit 'eecc406f462ef2b3a73cd6bf3c05f7cb45382276':
Prevent integer issues in ID3::Iterator::findFrame
eecc406f462ef2b3a73cd6bf3c05f7cb45382276 22-Aug-2015 Robert Shih <robertshih@google.com> am 3b42241a: Merge "Prevent integer issues in ID3::Iterator::findFrame" into klp-dev

* commit '3b42241aab5855964d1bd60268ae21c2d9cc6065':
Prevent integer issues in ID3::Iterator::findFrame
c580c836c1941fb4912e1dd4e08626caf98a62c7 15-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer issues in ID3::Iterator::findFrame

Integer overflows could occur a few places within findFrame. These can lead to
out-of-bounds reads and potentially infinite loops. Ensure that arithmetic does
not wrap around to prevent these behaviors.

Bug: 23285192
Change-Id: I72a61df7d5719d1d3f2bd0b37fba86f0f4bbedee
/frameworks/av/media/libstagefright/id3/ID3.cpp
e8314e1e558a72d0dbc0ffabd4f01b9a3051b476 20-Aug-2015 Neel Mehta <nmehta@google.com> am ed0c67a8: am a4ebdaad: am 0cc0d158: am 06682f94: am 48bdf782: am 00887af1: am e9a8362e: am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'ed0c67a8d0e501bd02c8eb811dfcb215a8c47ada':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
0cc0d158694b20f210ba4ad41fe4adc5bda57402 20-Aug-2015 Neel Mehta <nmehta@google.com> am 06682f94: am 48bdf782: am 00887af1: am e9a8362e: am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit '06682f94d84f97df0d826f9b15d4c2e861ba4045':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
a6f0b0417aa3005151757e7c8064f6328a4f5246 20-Aug-2015 Wei Jia <wjia@google.com> am f153ecd2: am 91c71293: am 91fc84f2: am de5c4c46: am 43131299: am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit 'f153ecd2c1b503a404bbb7d1db0fcc19b7bcda0e':
libstagefright: check remaining data size before parsing it.
60345c67f522bd5287a62387a34c0efc521b2a71 20-Aug-2015 Robert Shih <robertshih@google.com> am 3ad0357a: am d7c2effc: Merge "Prevent integer underflows in ID3::Iterator"

* commit '3ad0357a3a6fd89fdbedd269186f49a867a031ba':
Prevent integer underflows in ID3::Iterator
be7b5e253f85132683826f305e5dcdaf83f0b300 15-Aug-2015 Joshua J. Drake <android-open-source@qoop.org> Prevent integer underflows in ID3::Iterator

If mFrameSize is less than or equal to getHeaderLength(), an integer underflow
will occur. This typically leads to a crash reading out of bounds in the
following code. Prevent this from happening by validating mFrameSize.

Also add NULL checks after references to ID3::Iterator::getData.

Bug: 23285887
Change-Id: I35eeda3c5349ebbd9ffb3ea49b79af6a940d1395
/frameworks/av/media/libstagefright/id3/ID3.cpp
e9a8362e1d379e90655e904ca49d6333e4218eda 18-Aug-2015 Neel Mehta <nmehta@google.com> am a2a68264: am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'a2a6826494dec4a8fab6bd6828828fae886e516a':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
de5c4c4671f63457151fce7b4ad7963518f8ce36 18-Aug-2015 Wei Jia <wjia@google.com> am 43131299: am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit '431312997856ce689e683ee0639cf1f4bedab7f0':
libstagefright: check remaining data size before parsing it.
a2a6826494dec4a8fab6bd6828828fae886e516a 18-Aug-2015 Neel Mehta <nmehta@google.com> am c37f7f6f: Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354

* commit 'c37f7f6fa0cb7f55cdc5b2d4ccbf2c87c3bc6c3b':
Fix for memory corruption in ID3::removeUnsynchronizationV2_4(). Bug: 23227354
c37f7f6fa0cb7f55cdc5b2d4ccbf2c87c3bc6c3b 15-Aug-2015 Neel Mehta <nmehta@google.com> Fix for memory corruption in ID3::removeUnsynchronizationV2_4().
Bug: 23227354

Change-Id: Iaa36cfda4fd84ca7e039f56086fd61b4118020db
(cherry picked from commit 77e23413a539df16503e356bd4df4a952f3abc47)
/frameworks/av/media/libstagefright/id3/ID3.cpp
431312997856ce689e683ee0639cf1f4bedab7f0 18-Aug-2015 Wei Jia <wjia@google.com> am 1a09d352: Merge "libstagefright: check remaining data size before parsing it." into klp-dev

* commit '1a09d3521e8849dcb1090ecb50393f6e9ee140ec':
libstagefright: check remaining data size before parsing it.
d2ebc0b9e147f9406db20ec4df61da50e3614ee4 17-Aug-2015 Wei Jia <wjia@google.com> libstagefright: check remaining data size before parsing it.

Bug: 23248776
Change-Id: I45cf53e58e4375afcf260b122264c968ec0ff6c8
(cherry picked from commit 3bf1e0fdf27e1188b8d3574ed073595b8eacb114)
/frameworks/av/media/libstagefright/id3/ID3.cpp
3bf1e0fdf27e1188b8d3574ed073595b8eacb114 17-Aug-2015 Wei Jia <wjia@google.com> libstagefright: check remaining data size before parsing it.

Bug: 23248776
Change-Id: I45cf53e58e4375afcf260b122264c968ec0ff6c8
/frameworks/av/media/libstagefright/id3/ID3.cpp
59a385e41be35b25422bbdf27ba5f3f894081671 13-Aug-2015 Wei Jia <wjia@google.com> am f66b81e7: am f22da1cf: am d7146ce7: am 3bb658ac: am 4e86a483: am f51115bd: libstagefright: fix possible overflow in ID3.

* commit 'f66b81e7c05f62105e7a8deefeaf395b28cb4bb3':
libstagefright: fix possible overflow in ID3.
3bb658acd971414b15b0957e131294db33f7b75b 13-Aug-2015 Wei Jia <wjia@google.com> am 4e86a483: am f51115bd: libstagefright: fix possible overflow in ID3.

* commit '4e86a483a12b0139a8babf4754e5de340eaccd40':
libstagefright: fix possible overflow in ID3.
4e86a483a12b0139a8babf4754e5de340eaccd40 13-Aug-2015 Wei Jia <wjia@google.com> am f51115bd: libstagefright: fix possible overflow in ID3.

* commit 'f51115bd8e44c2779b74477277c6f6046916e7cf':
libstagefright: fix possible overflow in ID3.
f51115bd8e44c2779b74477277c6f6046916e7cf 12-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix possible overflow in ID3.

Bug: 23129786
Change-Id: I2e6b7a6927aa4362ab49dd6824bbb1abf7b4e661
(cherry picked from commit 09da86913ca97d7a818a8917b6601527e5e18a24)
/frameworks/av/media/libstagefright/id3/ID3.cpp
09da86913ca97d7a818a8917b6601527e5e18a24 12-Aug-2015 Wei Jia <wjia@google.com> libstagefright: fix possible overflow in ID3.

Bug: 23129786
Change-Id: I2e6b7a6927aa4362ab49dd6824bbb1abf7b4e661
/frameworks/av/media/libstagefright/id3/ID3.cpp
48192b84db39879e7d83a2f4e7023048fb81ee8e 07-Aug-2015 Marco Nelissen <marcone@google.com> am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit '0625841daae5bb1351034909ce705aab517eea2d':
Fix crash on malformed id3
171b5fadb9d304f5e06686e4f3d060ef335d7250 07-Aug-2015 Marco Nelissen <marcone@google.com> am d6ea7f65: am f26400c9: Fix crash on malformed id3

* commit 'd6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3':
Fix crash on malformed id3
d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3 07-Aug-2015 Marco Nelissen <marcone@google.com> am f26400c9: Fix crash on malformed id3

* commit 'f26400c9d01a0e2f71690d5ebc644270f098d590':
Fix crash on malformed id3
f26400c9d01a0e2f71690d5ebc644270f098d590 05-Aug-2015 Marco Nelissen <marcone@google.com> Fix crash on malformed id3

Bug: 22954006
Change-Id: I488cb1e2c69fc7043b6040481b30fa866000515d
/frameworks/av/media/libstagefright/id3/ID3.cpp
ba6e982635f11bced34897f4317cbe8ff1c89483 15-Jan-2015 Marco Nelissen <marcone@google.com> Fix id3 parser crash

Bug: 18872896
Change-Id: I953f58f35a76590701234d5707e060499acfc069
/frameworks/av/media/libstagefright/id3/ID3.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/id3/ID3.cpp
b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81 20-Mar-2014 Colin Cross <ccross@android.com> libstagefright: fix 64-bit warnings

%lld -> %" PRId64 " for int64_t
%d -> %zu for size_t
Also fixes some casts from void* to integer types, and some comparisons
between signed and unsigned.

Change-Id: I9c52f76240e39399da252c66459042a6fc626a90
/frameworks/av/media/libstagefright/id3/ID3.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/id3/ID3.cpp
544ad2be674423238c47650d2c8588ba7dfc9ed2 13-Nov-2013 Marco Nelissen <marcone@google.com> Better character set encoding detection

Id3 tags are supposed to be ISO-8859-1 or unicode, but often aren't.
To better detect the real encoding we now use ICU to detect possible
encodings for a given byte sequence, then apply additional heuristics
to determine the most likely one.
b/5564857

Change-Id: I53bc83b006433da5c2f2ccfcd770ddb3a26b64d0
/frameworks/av/media/libstagefright/id3/ID3.cpp
72a43b68da48890273508cb1c9d646b7d75fc101 18-Jun-2013 Marco Nelissen <marcone@google.com> Speed up id3v2 unsynchronization

Instead of doing many overlapping memmoves, do a single copy pass
that skips over the inserted unsynchronization bytes. For some
files this reduces parsing time from minutes to milliseconds.

b/9463262

Change-Id: I735b7051e77a093d86fb7a3e46209875946225ed
/frameworks/av/media/libstagefright/id3/ID3.cpp
14f7672b5d450ed26a06fd3bb3ce045ea78b11b2 15-Jan-2013 Andreas Huber <andih@google.com> New HLS implementation supporting independent stream sources, audio-only streams

and more.

Change-Id: Icfc45a0100243b2f7a14a9e65696be45b67d6495
/frameworks/av/media/libstagefright/id3/ID3.cpp
ffd6ffc5429c45577fd8e9f8fa90e79bb91b8a84 28-Nov-2012 Dylan Powers <dylan.kyle.powers@gmail.com> Bug fix for the MediaPlayer::prepare() api.

For an MP3 source, within the prepare command, ID3 tags are checked in search of
gapless playback info. This causes problems for streamed sources. If ID3v2 tags
aren't present, then a check is done for ID3v1 tags. This results in a read
command that asks the cache to jump to the end of the file, and subsequently
make an extra http call to request those bytes. For a streamed source, this
causes the file to not be downloaded automatically when MediaPlayer::prepare()
is called, and causes stuttering and extra buffering time to be needed when
start() is finally called.
The solution is to ignore the ID3v1 tags as the gapless info would never exist
there, and only check for ID3v2 tags.

Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
/frameworks/av/media/libstagefright/id3/ID3.cpp
be5016bac5c1b422d850e299d3cb11fecf0ac19d 11-Jul-2012 Jesper Tragardh <jesper.tragardh@sonyericsson.com> Correct ID3::StringSize calculation for UCS-2 data.

Album art was not displayed when albums were transferred via MediaGo
because the length of the description in the APIC tag was not
correctly calculated.

The method StringSize used to calculate the length of the tag
does not add the size of the null termination in UCS-2 case.

Change-Id: I5409d42f5e87d315e6e03c4d7e6cbd8a378a160d
/frameworks/av/media/libstagefright/id3/ID3.cpp
b636abde14f2612ea236257846b9ab15d87d4623 19-Mar-2012 Marco Nelissen <marcone@google.com> Parse mp3 encoder padding/delay

Get the mp3 encoder padding and delay from a XING frame or iTunSMPB tag.

Change-Id: Icde598c8857d7e7c187a718f478ee9799d6a1b8a
/frameworks/av/media/libstagefright/id3/ID3.cpp
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
/frameworks/av/media/libstagefright/id3/ID3.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/id3/ID3.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/id3/ID3.cpp
428d96d5f882d01acb0abb7e1ceb51d4ccc48efa 14-Dec-2010 Andreas Huber <andih@google.com> Support malformed ID3 V2.4 tags written by early versions of iTunes.

Change-Id: I90c2a9bbf216e2ae9a37accdaa2214233f5e54ea
related-to-bug: 3275576
/frameworks/av/media/libstagefright/id3/ID3.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/id3/ID3.cpp
ac994dfb88d414aeedf5998aa1c6015c5b47ec01 25-Aug-2010 Andreas Huber <andih@google.com> Fix support for per-frame unsynchronization in ID3V2.4 tags.

Change-Id: I6874b596f88817347756a375d9fb1c9bff418eca
related-to-bug: 2949149
/frameworks/av/media/libstagefright/id3/ID3.cpp
bebd11b5a406bc4243cb7bd55f6849841bf911a7 08-Apr-2010 Andreas Huber <andih@google.com> Support for ID3 V2.4 tags.

Change-Id: I74ee02451bdfd7e50f0d5ff6fa5da5147b683e4c
related-to-bug: 2581869
/frameworks/av/media/libstagefright/id3/ID3.cpp
65997f022fa3f557ba864ecc99a1aa33df54c2db 30-Mar-2010 Andreas Huber <andih@google.com> Limit the total amount of ID3 metadata to something (un-)reasonable: 3MB.

Change-Id: I3f9bbcdd4f563bac27c4ccae58e4179656c264b6
related-to-bug: 1903971
/frameworks/av/media/libstagefright/id3/ID3.cpp
632a7dfdab89ffa79846ad37718d0582fd36affe 16-Mar-2010 Kenny Root <kroot@google.com> Adjust expected text frame length in ID3

When encountering a null character in an ID3 text frame, adjust the
expected size accordingly so it isn't misidentified as ASCII.

This fixes http://b/2517444

Change-Id: I19a3284d378e882c33b28ecee528a434716c7707
/frameworks/av/media/libstagefright/id3/ID3.cpp
569e7f1b1444194d1aca5a0b23de154565ba12da 09-Feb-2010 Marco Nelissen <marcone@google.com> Use bswap_16 instead of swap16, because swap16 is not available in glibc
/frameworks/av/media/libstagefright/id3/ID3.cpp
4c23b7d543cd95250e766cef7558d0f4c941ddcb 08-Feb-2010 Andreas Huber <andih@google.com> ID3v1 tag's strings are ISO8859, not UTF-8, so do the proper conversion when extracting metadata.

related-to-bug: 2399408
/frameworks/av/media/libstagefright/id3/ID3.cpp
5a2621a64de196cbdb9a2a50357dee1c32fcf11b 09-Feb-2010 Marco Nelissen <marcone@google.com> Skip the endianness marker when converting UCS-2 to UTF-8, since it
ends up in the UTF-8 string otherwise.
/frameworks/av/media/libstagefright/id3/ID3.cpp
08e7eb983fcb9860a574e964ff905f75aab88d2f 19-Jan-2010 Andreas Huber <andih@google.com> Fix trailing garbage after UCS-2 encoded strings in ID3 V2.

related-to-bug: 2381919
/frameworks/av/media/libstagefright/id3/ID3.cpp
83e5850bdf9c8b5c36c364b367b039674eb827ad 19-Jan-2010 Andreas Huber <andih@google.com> Support for ID3 version 1 (and 1.1) tags in .mp3 files.

related-to-bug: 2375219
/frameworks/av/media/libstagefright/id3/ID3.cpp
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
/frameworks/av/media/libstagefright/id3/ID3.cpp