summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fail more gracefully on version mismatchMarco Nelissen2013-07-291-3/+3
| | | | | | b/9900647 Change-Id: I9ea508a2685ff8adc780edd5ecec30dd1a9b0997
* Edit list uses timescale from movie headerMarco Nelissen2013-05-301-7/+10
| | | | | | not from track media header Change-Id: I24063183f44027b999782cc9006e9a1b56e87355
* Don't crash if no timescale was givenMarco Nelissen2013-05-291-0/+2
| | | | | | b/9175577 Change-Id: Ie159a9c9b42e6c8d9366d0ef6a607234af569e36
* Add support for MPEG editlist gapless infoMarco Nelissen2013-05-231-0/+61
| | | | Change-Id: I862d89c805d738db9bdf81a8f1c5b317ff968dff
* Fix sample info parsingMarco Nelissen2013-04-181-58/+83
| | | | | | b/8626561 Change-Id: Ibd5168282eb33d1abdc423e15a0d9aeb5a1ad687
* Add support for common encryptionMarco Nelissen2013-04-081-8/+356
| | | | | | b/7465749 Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
* Parse SBR extension sample rateMarco Nelissen2013-03-141-9/+22
| | | | Change-Id: Ib6f6994228a279ee10b389515fba04516c7c42ba
* Add support for fragmented mp4 to MPEG4ExtractorMarco Nelissen2013-02-151-29/+853
| | | | | | | This makes FragmentedMP4Extractor obsolete. It will be removed in a separate change. Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
* Merge "Memory leak solved in MPEG4Extractor::parseChunk for cover art"Andreas Huber2012-12-031-6/+3
|\
| * Memory leak solved in MPEG4Extractor::parseChunk for cover artJens Gulin2012-11-191-6/+4
| | | | | | | | | | | | | | | | | | 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
* | Merge "Handle large AVCC chunks"Andreas Huber2012-11-201-6/+4
|\ \
| * | Handle large AVCC chunksJan Olof Svensson2012-11-191-6/+4
| |/ | | | | | | | | | | | | | | 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
* | Changed parsing of trkn and disk from 8 bits to 16 bitsAndreas Lillvik2012-11-191-5/+7
|/ | | | | | | 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
* Fix iTunSMPB parsing for AAC tracks encoded with NeroJohn Grossman2012-09-071-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fragmented mp4 extractorMarco Nelissen2012-09-051-1/+2
| | | | | | | Still experimental. Set property "media.stagefright.use-fragmp4" to true to enable. Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
* Add Fraunhofer AAC encoder with AAC-ELD support.Dave Burke2012-04-251-12/+10
| | | | Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
* Fix the file mimetype reported by the mpeg4 extractor.Andreas Huber2012-03-231-1/+2
| | | | | Change-Id: I72474c17757dba5867f55b0e99e76e9e4e32ce7b related-to-bug: 6217289
* Parse gapless info from mp4 filesMarco Nelissen2012-03-211-0/+45
| | | | Change-Id: I4c83d4e12e996dc29708268e68a4bb74b368c6f3
* First step of refactoring 'timedtext' code.Insun Kang2012-01-311-2/+0
| | | | | | | | | | | | | | | | | | | 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
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-4/+4
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-2/+2
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-3/+3
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* resolved conflicts for merge of 07bacabe to masterAndreas Huber2011-12-051-23/+94
|\ | | | | | | Change-Id: Idb56996f7c1b78d96e3d3d3f08419c4d122db0b1
| * Properly identify how much metadata we need to cache in order to instantiateAndreas Huber2011-12-051-23/+94
| | | | | | | | | | | | | | the extractor without blocking (and therefore be able to abort). Change-Id: Id2acdde897e02baaeabadae70b7c95b66c9041b3 related-to-bug: 5666532
* | am 510180f1: am 08e42967: Merge "Add support for retrieving location ↵James Dong2011-11-111-0/+35
|\ \ | |/ | | | | | | | | | | information in mp4/3gpp files" into ics-mr1 * commit '510180f162dee3ae5416a98caa07f58a754f4b3f': Add support for retrieving location information in mp4/3gpp files
| * Add support for retrieving location information in mp4/3gpp filesJames Dong2011-11-101-0/+35
| | | | | | | | | | Change-Id: Ib8427704ef9ee5a4fa8fe1818c8a62d77b4ea687 related-to-bug: 5560253
* | Adds handler type 'sbtl' to support subtitles in various containers.Insun Kang2011-11-101-2/+3
| | | | | | | | Change-Id: I16d2c5d9aeb087b958e28052f266ca0ef42ea7f1
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-4/+4
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Return a runtime error instead of assertion if seeking beyond EOS in mpeg4 ↵Andreas Huber2011-10-061-4/+6
| | | | | | | files. Change-Id: If6531b4a1ff45460cfcdcc04764c5c63a2f5a749 related-to-bug: 5418914
* Make sure we have all the sample table metadata before declaring a track valid.Andreas Huber2011-08-171-0/+5
| | | | | Change-Id: I2dfbc3e6017b5cd264e4cccfa47d19047b2e7f31 related-to-bug: 5178976
* - Retrieve is_drm in MediaMetadataRetriever.Gloria Wang2011-07-011-4/+0
| | | | | | | | | - 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
* Timed text display format support:Gloria Wang2011-06-221-6/+56
| | | | | | | | | 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
* Extract embedded cover art (aka poster frame) in mp4 filesJames Dong2011-05-261-0/+24
| | | | Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
* For out of band timed text support (timed text in a separate file).Gloria Wang2011-05-251-1/+1
| | | | Change-Id: I9e024a63eb9bf6f839deee3c7766a66e63126c96
* Claim support for .3gpp2 A/B files.Andreas Huber2011-05-171-0/+3
| | | | | Change-Id: I16dd3dcb93a50b3c808ae710d0ba4757c89ab9c8 related-to-bug: 4406745
* Initial CL for the timed text support:Gloria Wang2011-05-031-1/+37
| | | | | | | | - 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
* Merge "Give PSP and QuickTime compatible mp4 files a chance to play"James Dong2011-04-251-0/+5
|\
| * Give PSP and QuickTime compatible mp4 files a chance to playJames Dong2011-04-071-0/+5
| | | | | | | | | | Change-Id: I2618946b242b581fb8ed5de9a13ede23a4191b11 related-to-bug: 4173290
* | Remove the assertion and report content malform error to applicationJames Dong2011-04-221-5/+9
| | | | | | | | | | Change-Id: I8e30c586048d38334fd4366959a124a99d8efe28 related-to-bug: 4267147
* | Remove streamability verification, it's taking too long. Also...Andreas Huber2011-04-151-86/+5
|/ | | | | | | | make sure that findSampleAtTime uses composition time instead of decoding time, at the expense of extra memory. Change-Id: I67d09389b3df7ed265f614bdd0b142ca7f19f86a related-to-bug: 4294536
* Reject streaming .mp4 files over http that are not muxed reasonably.Andreas Huber2011-03-031-7/+105
| | | | | | | | 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
* mp4a box contains mp3 audio when the object type indication is 0x6bJames Dong2011-02-251-0/+8
| | | | | | | | | | 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
* d263 may contain optional bitr box, and thus its size can be up to 23 bytesJames Dong2011-02-231-7/+14
| | | | | | bug - 3482703 Change-Id: Id6fdf9d1f4a304954c018b67d50bd79a07164687
* Make available h263 DSI information from MPEG4ExtractorJames Dong2011-02-111-0/+24
| | | | | | bug - 3446863 Change-Id: Idbaf7a564d544784fdbc36ed0339c98a519adc88
* Make sure timestamps attached to encoded media are composition timestamps.Andreas Huber2011-02-031-0/+14
| | | | | | | | 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
* Expose average video frame rate via MPEG4ExtractorJames Dong2011-01-191-1/+16
| | | | | | bug - 3362483 Change-Id: Ifcbb75c1e8b80cb06c4b8fe7f5ff99bc6f18af69
* Fix the presentation video resolution when it is different from the actual ↵James Dong2011-01-191-2/+4
| | | | | | | | image resolution of the video. bug - 3352413 Change-Id: I8f08f3896e9fb90f09119dccdb88b82af60f79f2
* Add support for the "compilation" tag in mp3, mp4 and ogg, and also addMarco Nelissen2011-01-071-0/+11
| | | | | | | | | 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
* Give the standard not compliant video sample a chance if its size in the mp4 ↵James Dong2010-12-151-0/+7
| | | | | | header is invalid Change-Id: Ib573ededb9c73285822fa238120faa484402bcf7
* Opted to recognize "h263" or "H263" boxes in an mp4 fileJames Dong2010-12-151-0/+4
| | | | | | bug - 3278240 Change-Id: Ifd1b1f3e5dd55dbf2c33bbad9dd51998c25bfc15