summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Extractor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 64-bit file size/offset support for media frameworkJames Dong2010-11-181-28/+28
| | | | Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
* Support post-decode video rotation.Andreas Huber2010-11-161-51/+94
| | | | Change-Id: I9ac90871269c5e132e98a9bf3ad8cae00f329f17
* resolved conflicts for merge of 9084631d to gingerbread-plus-aospGloria Wang2010-10-251-31/+245
|\ | | | | | | Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
| * DRM framework support:Gloria Wang2010-10-251-31/+245
| | | | | | | | | | | | | | | | | | | | - 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
* | Make sure we cache the sampleTable again if using the caching datasource.Andreas Huber2010-10-151-1/+3
| | | | | | | | | | | | | | 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
* | Instead of asserting return a runtime error if the maximum sample size ↵Andreas Huber2010-09-091-1/+5
| | | | | | | | | | | | | | cannot be determined. Change-Id: Icf17ed04323f5415e0f9f1e4fd9f19ca60ce15ac related-to-bug: 2602446
* | Allow sniffers to return a packet of opaque data that the corresponding ↵Andreas Huber2010-08-251-3/+4
| | | | | | | | | | | | | | 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
* | Be more lenient when validating ESDS information in mp4 audio tracks. Allow ↵Andreas Huber2010-08-181-0/+8
| | | | | | | | | | | | the absence of any codec specific data and assume that the mpeg4 headers are not lying to us. Change-Id: Ia29b967cbee9eabb21c6c26508b27b379ff9ba17
* | Support for communicating if a buffer read from the _extractor_ is a sync ↵Andreas Huber2010-08-061-1/+10
| | | | | | | | | | | | | | sample or not. Change-Id: Ie71506224d937cfff1fa1273bfac31c47db8845f related-to-bug: 2900534
* | Properly skip the 'skip' chunk in mpeg4 files.Andreas Huber2010-08-061-1/+0
| | | | | | | | | | Change-Id: I6795347f91f24d5379e8dc80a24ae016a9629c9c related-to-bug: 2901311
* | Support finer seek control on MediaSources.Andreas Huber2010-07-211-4/+69
| | | | | | | | | | | | related-to-bug: 2858448 Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
* | Support a single format change at the beginning of audio playback. This way ↵Andreas Huber2010-07-201-66/+4
| | | | | | | | | | | | | | 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
* | Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.James Dong2010-07-191-4/+66
| | | | | | | | Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8
* | Properly identify malformed (too short) chunks in mpeg4 files.Andreas Huber2010-06-241-0/+8
| | | | | | | | Change-Id: Id2efb1bba195c4ad6f132cd706cc813135ead8a4
* | Better sniffing of MPEG4 content by checking for a compatible sub-brand.Andreas Huber2010-05-271-1/+79
|/ | | | | Change-Id: I076908822ad0e663b9932e61fb33edc12c2e1948 related-to-bug: 2673192
* Fix sampleTable instantiation, this makes sure that the sample table refers ↵Andreas Huber2010-05-141-1/+2
| | | | | | | | 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
* Snif more 3GPP file types according to http://www.ftyps.com/3gpp.htmlJames Dong2010-04-131-0/+2
| | | | | | bug - 2575956 Change-Id: Iaa79e74d3b0585397a7e833ec45472710fc52fa6
* Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we ↵Andreas Huber2010-04-121-8/+26
| | | | | | | don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks. Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af related-to-bug: 2587341
* Support another kind of iso mpeg4 file.Andreas Huber2010-04-011-1/+1
| | | | | Change-Id: I052aa1c971c577e50679b6a9263acd32895906c7 related-to-bug: 2558114
* We no longer do sanity checks based on "hdlr" tags in .mp4 files. Pretty ↵Andreas Huber2010-03-151-51/+0
| | | | | | | soon we'll play any bytestream that even vaguely resembles the spec... Change-Id: I43e05404860d8856b8aa566cc9b256bb3fa57e6f related-to-bug: 2483328
* Hack to "support" "enhanced" podcasts... slang for malformed .mp4 files.Andreas Huber2010-03-151-7/+49
| | | | | Change-Id: I690b9f336062a0ff1a667d6461d66b1386db866d related-to-bug: 2511744
* Support vendor MPEG4 test content with apparently malformed chunks in them.Andreas Huber2010-02-251-9/+18
| | | | related-to-bug: 2472211
* Propagate errors all the way through the MediaSources and send either ↵Andreas Huber2010-02-231-0/+8
| | | | | | MEDIA_PLAYBACK_COMPLETE or MEDIA_ERROR depending on the final reason for running out of buffers to play back. related-to-bug: 2463749
* Return runtime errors instead of asserting in MPEG4 file format validation, ↵Andreas Huber2010-02-231-26/+85
| | | | | | also add more validation to ensure presence of codec specific data for avc, aac and mpeg4. related-to-bug: 2431967
* Squashed commit of the following:Andreas Huber2010-02-121-0/+14
| | | | | | | | | | | | | | | | 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
* Add support for "album artist" tag.Marco Nelissen2010-02-111-0/+5
|
* Properly detect Adobe's .f4v file format as an mp4 ISO compliant file.Andreas Huber2010-02-101-1/+1
|
* Support the disc number and custom genre tags for mp4.Marco Nelissen2010-02-091-3/+33
|
* A little less verbosity in stagefright and special treatment for the error ↵Andreas Huber2010-02-091-2/+2
| | | | state while shutting down.
* Apparently the generic mpeg4 file header does not describe the actual ↵Andreas Huber2010-01-291-0/+96
| | | | | | samplerate and channel count of the content in the case of mpeg4 audio, instead the 'ESDS' atom must be consulted. related-to-bug: 2407094
* For mpeg4 files streamed through HTTP, cache the entire sampletable metadata ↵Andreas Huber2010-01-281-0/+119
| | | | | | chunk in memory if possible. related-to-bug: 2295438
* Support for 'iTunes-style' metadata in .mp4 and .3gp files.Andreas Huber2010-01-201-12/+232
| | | | related-to-bug: 2368967
* Squashed commit of the following:Andreas Huber2010-01-191-10/+7
| | | | | | | | | | | | | | 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.
* Squashed commit of the following:Andreas Huber2010-01-141-2/+15
| | | | | | | | | | | | | | 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.
* Support for determining the mime type of media via metadata extraction.Andreas Huber2010-01-131-1/+21
|
* Properly respect NALLengthSize in the AVC Configuration header to determine ↵Andreas Huber2010-01-121-12/+51
| | | | | | how many bits encode the nal unit size. related-to-bug: 2363596
* Squashed commit of the following:Andreas Huber2009-12-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make sure the decoder's input buffers are large enough to hold the largest ↵Andreas Huber2009-11-231-8/+12
| | | | input data. Verify that the setting actually sticks.
* Adds a WAVExtractor for 16-bit signed PCM audio wave files.Andreas Huber2009-11-031-1/+2
|
* New API to instantiate a MediaExtractor given a URI and optional MIME type.Andreas Huber2009-10-231-19/+19
| | | | | | Also DataSources now must provide a method initCheck() and DataSource::reat_at has been renamed to readAt to conform to standard API naming guidelines.
* Moving the individual extractor headers files to the private include directory.Andreas Huber2009-10-231-1/+1
|
* Extract video thumbnails from the largest sync sample among the first 20.Andreas Huber2009-10-221-1/+22
| | | | Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
* Separated private from public header files.Andreas Huber2009-10-131-1/+2
|
* Change to a int64_t usecs representation for timestamps and duration ↵Andreas Huber2009-10-121-11/+10
| | | | throughout stagefright.
* Media MIME types now have corresponding constants in MediaDefs.h, new codec ↵Andreas Huber2009-09-101-11/+14
| | | | enumeration API.
* Support for amr-wb tracks in MPEG4Extractor.Andreas Huber2009-09-091-1/+14
|
* The PV AVC software decoder expects each fragment of a NAL unit to be handed ↵Andreas Huber2009-08-191-89/+123
| | | | to the decoder unframed.
* Squashed commit of the following:Andreas Huber2009-08-171-37/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).