summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaExtractor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* stagefright: Those who cannot remember history are doomed to repeat itSteve Kondik2015-12-281-2/+4
| | | | | | | | | | | | | | * A new sniffer might want to defer it's work based on the knowledge already gained by those who have already sniffed. * This is the case for our FFMPEG sniffer, which is pretty awesome in that it is able to fill in all the gaps and detect almost anything, however the cost is additional latency during scanning and startup. * As we cycle thru each sniffer, feed the current score to the next. It is up to the extractor to use this knowledge wisely. * Additionally, print some metrics on how long the sniff took. Change-Id: I5dc8de11ed4939a01eabb0cae0b4e1e71d991eea
* nuplayer: Pass along the sniffed metadata from GenericSourceSteve Kondik2015-12-281-1/+4
| | | | | | | | | | | | | | | | | * When the extended sniffer detects a file type that only it can handle, it will set a flag in the metadata. In some cases, an extractor exists in Android already for the filetype however it may be known to fail or we may want different behavior. * This flag is checked in MediaExtractor, but GenericSource does a little dance in order to stack DataSources for DRM and was throwing out this metadata (it's not really used by AOSP), so the desired behavior was not seen for some cases. * Add a new optional argument when creating the MediaExtractor to pass in the metadata from the original sniff so that the extended extractor is used where necessary for streaming formats. * This fixes FLAC offload with Tidal. Change-Id: I7d6b875346ce63b60cd3c37572b779665bfe217c
* stagefright: Remove special handling of FFMPEG extractorSteve Kondik2015-12-281-17/+3
| | | | | | | * Extractor now checks if Stagefright already reported a high confidence level. Treat it as a first class citizen. Change-Id: Id41af84a0f9f9c51df4602f283776b5d19bf666b
* stagefright: Remove special case for FLAC offloadSteve Kondik2015-12-261-2/+0
| | | | | | * FFMPEG will now handle this automatically. Remove the workaround. Change-Id: I7007af16ce1fe43358b9c1e3b3b469b717df0100
* stagefright: Additional fixes for extended offload supportSteve Kondik2015-12-141-0/+2
| | | | | | | | | | | * Fix compilation with debug enabled * Allow FLAC offload to be enabled independent of QCOM_HARDWARE, tested with the Nexus 5X and is working! * Disable the FLACExtractor if offload is enabled since it can only output decoded PCM. This will force FFMPEG to be used, which does everything we need for FLAC offload Change-Id: I7d71c153a6a6ea7df8e32bc73f5cbe9f51cdcf64
* Merge branch 'LA.BF64.1.2.2_rb4.6' of ↵Steve Kondik2015-11-041-3/+4
|\ | | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0 Change-Id: Iec8118b9a24fafe47e4006fca8a8e993bacb5ba8
| * Stagefright: use set buffers mode.Shivaprasad Hongal2015-10-261-3/+4
| | | | | | | | | | | | Use set buffers mode if parser supports it. Change-Id: Ia3d12f15fa28f25e1ccb724158cc91ce26fc81ed
* | libstagefright: Extended media support via FFMPEGSteve Kondik2015-10-281-1/+25
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Original work by Michael Chen - https://github.com/omxcodec * Kitkat port by Chih-Wei Huang / Android X86 project * Additional fixes by Arcee and Cyanogen * High resolution support by Cyanogen * Lollipop port and refactoring by Cyanogen * Marshmallow port and refactoring by Cyanogen ------ libstagefright: add null checking to addPlugin libstagefright: fix error handling of dlsym() According 'man dlsym', a NULL return from dlsym() doesn't indicate an error. The correct way to test for an error is to call dlerror() to clear any old error conditions, then call dlsym(), and then call dlerror() again to check whether its return value is not NULL. libstagefright: add more media mimetypes This is the first step to add the ffmpeg plugins. libstagefright: add ExtractorPlugin The patch allows to load an ExtractorPlugin to extend the functions of DataSource::sniff and MediaExtractor. A plugin has to implement a C function getExtractorPlugin to fill the MediaExtractor::Plugin struct. The filename of the plugin could be specified by the media.stagefright.extractor-plugin property. Change-Id: I995a37a4f1ab4bba6ca3c24c7001a27a1e3ccb90 FLACExtractor: Add more sample rates support In FLACExtractor.cpp, it has function to check file's sample rate. If the input sample rate is not in its list, it will return "unsupported sample rate" issue. Modify code to make other sample rates (100,1k,42k,46k) pass the check Issue: AXIA-1441 Change-Id: I48f91119275560ec6d00feb0dedc70d10aa55262 Signed-off-by: Xiaobing Feng <xiaobing.feng@windriver.com> Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com> libstagefright: add ffmpeg components libstagefright: add more decoders Add support for wma, wmv, ra, ape, dts decoders. Change-Id: Iaf48a806aa0cef7d9bcb848383fc3d778c8bd248 libstagefright: allow to use the extended extractor in priority If the meta contains the string "extended-extractor-use", use the extended extractor first. add support for rv20, rv30 add ffmpeg heuristic decoder Change-Id: I5eed11b563ca7f15d44bacfb795d6f3da08ab883 add HEVC(H.265) decoder and cleanup Squashed the following commits of branch cm_maguro-10.1 from https://github.com/omxcodec/android_frameworks_av.git by Michael Chen <omxcodec@gmail.com> defb904 remove MEDIA_MIMETYPE_AUDIO_MP2 8036958 add fetchUriFromFd func to get file name 91bc7d5 fix videoCompressionFormatString and audioCodingTypeString funcs f03069f reset FRAME_DROP_FREQ to 0 718b99a add HEVC(H.265) decoder 84f8bf6 cleanup f026c93 cleanup 440614a add debug info Change-Id: Ie75db0778f633357e2280aef6d47a0fa3beb823e AwesomePlayer: use AwesomeLocalRenderer for OMX.ffmpeg.* components stagefright: Remove duplicate types from QC media defs Change-Id: I50ecafe79a2985d0868a1ac82464d6ca448aa2c5 Conflicts: media/libstagefright/ExtendedMediaDefs.cpp media/libstagefright/OMXCodec.cpp libstagefright: Re-introduce a QCOM_HARDWARE ifdef after the FFMPEG commit Fixes a build error on non QCOM hardware. Change-Id: I4a4268b351d0d8bf748dd03ccea0fbab20ed4314 DataSource: Split off ffmpeg sniffer to a second pass, and only if necessary ffmpeg's sniffer is intended as a grab-all-that-doesn't-work-elsewhere extractor. Unfortunately, this causes two issues: - As written, it requires ffmpeg to whitelist any extractors supported by stagefright, or else it will blindly override them. This has codebase sync issues, as shown by the VP9 and WAV accidental overrides - It imposes an in-depth analysis of _all_ media, even that which we want to be processed quickly by shipping stagefright plugins (hardware or not). This is mostly noticeable in network streams and thumbnail generation. This patch moves FFmpegExtractor to an independent sniffer queue, and it only invokes it when the regular MediaExtractor hits 1 of 3 conditions: 1 - The confidence in the identified container type is low 2 - No container is identified at all 3 - A video container was found by other extractors, but only 1 stream (audio or video) was identified. Change-Id: Ib96ff4f6bc06223fe0e819a57560d3c872a79ddd stagefright: OMX.ffmpeg.* are software decoders, ensure they're treated as such Wherever the component name for OMX.google soft decoders is used to identify a software-based component, do the same for ffmpeg. Things like memory management and window buffers care about this. Change-Id: Ib83561936c7383e8726edb073cea9d78f7d1312f libstagefright: Don't invoke FFMPEG for MP3 Change-Id: Ia30d25d1a994328827f14a286661cd2e1eaa1181 stagefright: Fix audio codec fallthru * We shouldn't return an error from setAudioFormat unless it's really an error since fallthru is necessary. * We don't even need to do this, since the component name is checked before calling into mm-parser or FFMPEG. * Fixes Vorbis decoding after FFMPEG patch. Change-Id: I4871c62044c6693e5698119dee3a10c20c26e2c7 stagefright: Fix codec lookup bugs on NuPlayer * Fix use of WMA/WMV software codecs * Fix mpeg2 software codec name * Don't override the component name in ACodec. This actually breaks stuff because the format isn't available in the kInit message. Change-Id: I93c292e039de5f24c2ccbd6ae2242b06d28fe518 stagefright: Cleanup and improve format parsing * Move FFMPEG-specific exceptions to FFMPEGSoftCodec * Add handling for AAC MAIN profile * Use the new OMX_AUDIO_CodingAndroidAC3 to handle AC3 Change-Id: Ibb806cd2b9dd23dc1e1b2c862fcde40605023a49 stagefright: Keep track of the bit width in the RAW codec * We need this to push 24-bit PCM around Stagefright and OMX Change-Id: Ic94ec972162a01545d5dd0ad0bf3eb6c6731f42e stagefright: Adjust confidence threshold for extended sniffers * Some sniffers return 0.2 for cases where they only find an audio track in some containers. * Change the comparison to also examine files right on this threshold. * This allows us to score ONE FUCKING HUNDRED PERCENT on the Antutu Video Test \o/ Change-Id: I78b6ab8a634771e0e290f669801f5b08d6a32a51 stagefright: Fix FFMPEG catchall decoders * Get this metadata properly flowing * Allows us to play tracks such as Apple Lossless :) Change-Id: I2990b30eef5b672da339d24444424c61a43b85c2 stagefright: Fix metadata/message conversion issues * Remove duplication of code between ExtendedCodec and FFMPEGSoftCodec, just call into ExtendedCodec and properly ifdef QCOM-only parts. * Fix CSD not being converted when AV_ENHANCEMENTS wasn't set- this was breaking the software video codecs on Hammerhead. Change-Id: I9cd4316ce19b15baabf12b78b992498ce48e2697 Fix compile error after I9cd4316ce19b15baabf12b78b992498ce48e2697 frameworks/av/media/libstagefright/ExtendedCodec.cpp:1187:1: error: expected '}' at end of input Change-Id: I7d75e69160f794b177f4235f4a6bb5a188dc0d08 stagefright: Fix AC3 playback * Skip setupAC3Codec in ACodec for non-Google components. Change-Id: I5090485ba020f7ad1c0962fc977e38675b4c8314 stagefright: Guard against crash with mismatched codecs * Return unsupported error if WMV file can't be scanned. Change-Id: Ia4a1ac7a299990f8b9c05a93736cb2fa9d0ee965 stagefright: Correct ifdeffage of some QC codecs Change-Id: Ie8cc7287967b84e09941283559ca542efd928d91 stagefright: Create native window for FFMPEG software codecs Change-Id: I178f334f1fa1ea9edc6898fb61e72902c2cb2651 stagefright: Don't ever try to use extended sniffers on DRM * This can cause long retry intervals during key exchange. Don't do it! Change-Id: Id9a87dcbe43cd0cc9919fe07f0a963e087baccad stagefright: Be more tolerant of missing metadata for FFMPEG codecs * If these codecs are instantiated programatically and required metadata isn't sent, just set some defaults instead of crashing on an assert. * This fixes testAllNonTunneledVideoCodecsSupportFlexibleYUV in MR1 CTS Change-Id: I69bf6105a1be529298de574bd5d3b6813e7a4e8f stagefright: Fix issues with software decoders * Fix MKV thumbnails * Fix VC1 thumbnails * Fix FFMPEG thumbnails * Fix trial decoder * Fix edge cases with WMV3/VC1 playback * Fix a state issue which caused some codecs to get wrong configuration Change-Id: I09599166aa24bcff53f91e43de096c4fad8ca7ad stagefright: ffmpeg: Slightly raise the threshold for the ffmpeg scanner 0.2 is the success value for the OMX.google soft audio sniffers, which was making ffmpeg own the unpacking of those streams needlessly. Fixes CYNGNOS-282 Change-Id: I75f50ed838cb8af9acdf99aa284b80a070555284 stagefright: Add support for loading a custom OMXPlugin * To facilitate moving the stagefright-plugins glue out of the framework, support is added to OMXMaster to load multiple external plugins besides internal/vendor versions. * This is currently limited to one plugin, defined by the "mm.sf.omx-plugin" system property. The code will allow any number of libraries to be loaded, though. * Should also be useful for nonstandard vendor implementations too. Change-Id: I27d7e16ad56baa17754d8ea47a8c608a0d73d6f1 stagefright: Move a bunch of FFMPEG stuff out of here * Get rid of some of the glue code for stagefright-plugins and use the new extension header and plugin. * Still a bunch of TODOs on this, but it works. Change-Id: If07d3213952b624d48035e5f58ad883b2a4049b0 stagefright: Remove deprecated FFMPEG config Change-Id: I1fcdb4eeba72e2420493b89ddd6fc718d170ced7 stagefright: Support for 24-bit audio in StageFright * Plumb bit depth thru ACodec and OMX * Add support for 24-bit PCM offload in NuPlayer on QC devices * Use new AudioFlinger features for mixing multi formats without offload * Clean up a bunch of code Change-Id: I018d3a995b63450a38c6c43eaa37c86be30fd893 nuplayer: Fix PCM offload turning on all the time * Remove the extra condition, since this will be set even if PCM offload was denied. Change-Id: I8f33ef68562d8e057e7a86c5ae6187d0049bf3aa stagefright: Cleanup of PCM offload checks * Put the checks in a single place. Change-Id: I2d0d5b542593896e78bf989296de1a1d1e3a4963 stagefright: Add bit-depth plumbing for new formats Change-Id: I13cfd75e4b4819543b64babf20cc9af57ea2978f nuplayer: Fix bitrate propagation * We use "bitrate" rather than "bit-rate". Change-Id: I4699194e3e3f7ef55b4eb554f5de7a6b5f6b80ce libstagefright: Implement fallback mechanism to SW decoder Implement fallback mechanism to software decoder when hardware decoder configuration fails in ACodec Change-Id: Idf4c445942b03e28b264c91a20e69d52224727bd
* stagefright: Update extended extractor APIsApurupa Pattapu2015-10-061-2/+2
| | | | | | | - Fix create APIs to pass metadata as constant reference CRs-Fixed: 884793 Change-Id: If8cfc9cff9dd48fbe764f438463c3e24763d4f44
* libstagefright: Update extractor for specific formatsApurupa Pattapu2015-10-061-2/+3
| | | | | | | | | - New API updateExtractor is used to either keep default extractor or use extended extractor based on media track's mime types. CRs-Fixed: 884793 Change-Id: I63dcc4b2d3901dbc3287eb43a1f4ce2767897258
* Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-061-1/+4
| | | | | | | | | | | Change access modifiers and qualify methods with virtual, to allow extensions. Add facility for loading customizations (Extended classes) dynamically. Conflicts: media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp Change-Id: Icc8965754fb1c73175a13a9ad24c19665ad60988
* Replace MidiFile player with a Midi extractorMarco Nelissen2014-12-181-0/+3
| | | | | | | This gets rids of a bunch of special midi handling and replaces it with an extractor that works with NuPlayer and MediaMetadataRetriever. Change-Id: I8d0f5bbdde2ca24267cf4d62ab26afe9630e0217
* Remove FragmentedMP4ExtractorMarco Nelissen2013-02-151-7/+1
| | | | | | MPEG4Extractor now supports fragmented mp4 files. Change-Id: I5659a51f4e5e4407a12535e69238fe3abffda7dc
* Fragmented mp4 extractorMarco Nelissen2012-09-051-1/+7
| | | | | | | Still experimental. Set property "media.stagefright.use-fragmp4" to true to enable. Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
* Fix DRM timer start for Widevine.Fred Gylys-Colwell2012-05-081-1/+2
| | | | | | | | | | The DRM flag should always be true for WVMExtractor. The WVMExtractor always turns on the DRM flag. Before this change, it was reset to false in MediaExtractor::Create. After this change, MediaExtractor::Create will return as soon as the WVMExtractor has been created. Change-Id: I04949d2cd11b912bde61a106ee6b805932041c25 related-to-bug:6261699
* Remove/Disable the AVI extractor.Andreas Huber2012-05-071-3/+0
| | | | | Change-Id: I47dcae710df9c66688a937fb1e648f9b00ca0f65 related-to-bug: 5717242
* am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead ↵James Dong2011-12-141-3/+0
|\ | | | | | | | | | | | | to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b. * commit '3f6a7d1ee961a4544563932b7499535dc1cac1ec': Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.
| * Revert the following patches because they may lead to power regression ↵James Dong2011-12-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because SHA/MD5 module is stuck 1. Revert "Fix drm flag setting missed in false drm recognition fix." This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b. 2. Revert "Fixed the false drm recognition." This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230. 3. Revert "Fix drm enumeration order, resolves failure to play forward lock ringtones" This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369. 4. Revert "Fix ANRs due to Widevine DRM plugin sniff taking too long." This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9. As a result of the reverting, many ANRs from WV sniffing are back. related-to-bug: 5739618
* | am 406dd5d1: am aadbd80b: Fixed the false drm recognition.James Dong2011-12-121-0/+3
|\ \ | |/ | | | | | | * commit '406dd5d1e48752177753666867403542e1f400ca': Fixed the false drm recognition.
| * Fixed the false drm recognition.James Dong2011-12-081-0/+3
| | | | | | | | | | | | Change-Id: If0198e52ff7bbd7422f219f55a37aae97f7d74f1 related-to-bug: 5732033
| * DO NOT MERGE: Remove the AVI extractor.Andreas Huber2011-12-061-3/+0
| | | | | | | | Change-Id: Ifce6c0d3d87aad2f5cc7f40ad6304936cbfa795e
* | Properly decode ADTS files with ID3 headers.Andreas Huber2011-11-011-1/+1
| | | | | | | | Change-Id: I55247e79ac9cc9547e3e0f6fe048bcbdc9b639d1
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-2/+2
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Support for an MPEG2 Program Stream extractor.Andreas Huber2011-09-301-0/+3
| | | | Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
* - Retrieve is_drm in MediaMetadataRetriever.Gloria Wang2011-07-011-2/+7
| | | | | | | | | - 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
* Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi filesAndreas Huber2011-03-301-0/+3
| | | | | Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6 related-to-bug: 4192562
* Bug 3447027 Limit previews for DRM videoGlenn Kasten2011-02-281-11/+18
| | | | Change-Id: I5b15cf6a15623cf73f007c59143ab5e3fa5a07e8
* Don't crash when parsing DRM MIME typesGlenn Kasten2011-02-181-5/+12
| | | | Change-Id: I414897c911a6588061ddbb5f05c574e78162dca9
* Add AAC extractorGloria Wang2011-02-151-0/+3
| | | | Change-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6
* Bug 1804058 FLAC extractorGlenn Kasten2011-02-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Note: dependent on external/flac for libFLAC Implemented and tested: * FLAC container * mono and stereo * standard sample rates * standard bit depths * sniffer * media scanner * Vorbis comment metadata including album art * random access seeking with "torture test" * web browser integration for audio/flac (not audio/x-flac), but note that most web servers don't correctly report the MIME type Not implemented: * 24-bit to 16-bit dither or noise shaping in AudioFlinger * 96 kHz to 44.1 or 48 kHz downsampling low pass filter in AudioFlinger * replay gain is better done in AudioFlinger * multi-channel, would need AudioFlinger support * Ogg container, does not seem to be very popular yet Change-Id: I300873e8c0cfc2e95403d9adb5064d16a2923f17
* Add support for WV DRMGloria Wang2010-11-051-0/+3
| | | | Change-Id: I0408c5e0a488f112a84337b21b0cd4613a4da461
* Fix for simulator build breakKristian Monsen2010-10-271-1/+1
| | | | | | strrchr returns a const char* in c++ if you give in a const char* Change-Id: I15ac2ae9e1d41d7737193146c526fcbddccae27c
* resolved conflicts for merge of 9084631d to gingerbread-plus-aospGloria Wang2010-10-251-0/+13
|\ | | | | | | Change-Id: Ie2b675d50bfca3f33aee80f1a67c9f03d1f97472
| * DRM framework support:Gloria Wang2010-10-251-0/+13
| | | | | | | | | | | | | | | | | | | | - 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
* | Disable 10secs forward/backward seeking for rtsp as seek is a very expensive ↵Andreas Huber2010-10-081-1/+1
| | | | | | | | | | | | | | operation there. Decouple the 10sec forward/backward button functionality from seekbar functionality. Change-Id: I016e79b688774f8ee91ac53216197b5fb9cb41b2 related-to-bug: 3073955
* | Allow sniffers to return a packet of opaque data that the corresponding ↵Andreas Huber2010-08-251-2/+5
| | | | | | | | | | | | | | 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
* | Initial checkin of mpeg2 transport stream parser for stagefright.Andreas Huber2010-06-071-0/+3
| | | | | | | | Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
* | Support for media extraction from .mkv/.mka Matroska files in stagefright.Andreas Huber2010-05-201-0/+4
|/ | | | | Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca related-to-bug: 2483739
* A new OggExtractor/VorbisDecoder combo to support approximate seeking.Andreas Huber2010-05-071-3/+3
| | | | | Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95 related-to-bug: 2654400
* Disable vorbis seek when streaming from localhost.Andreas Huber2010-05-061-0/+4
| | | | | Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f related-to-bug: 2654400
* Support for Ogg Vorbis decoding in stagefright.Andreas Huber2010-05-041-0/+3
| | | | | | | Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright. Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8 related-to-bug: 2654400
* Support the specification of additional HTTP headers in the creation of a ↵Andreas Huber2010-01-281-12/+0
| | | | | | DataSource. related-to-bug: 2393577
* Squashed commit of the following:Andreas Huber2010-01-121-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Squashed commit of the following:Andreas Huber2009-11-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 1efc38dc3c33fef57b759002db3965ed07a28cb0 Author: Andreas Huber <andih@google.com> Date: Thu Nov 19 14:36:14 2009 -0800 Sending the SEEK-COMPLETE notification temporarily broke seeking backwards in time behaviour. This is now fixed. Also, get rid of the semi-random delay after posting buffers to surface flinger in favour of delaying the buffer release until the next frame is displayed. commit 51973062eb5ee63fd64b845d72bac517cc3369cf Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 14:01:43 2009 -0800 Fix one more unit test, properly send seek-complete notification only after seek actually completed. commit cb22250b34b1fcfe1bf459723a761fd003950229 Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 12:31:36 2009 -0800 Fix seek-while-paused in AwesomePlayer, revert to using FileSource if MmapSource fails. commit 25eb9241138ddf7bb27ce90657116c5f8a94d880 Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 12:30:40 2009 -0800 Support seeking and duration in AMRExtractor, assuming all frames are the same size. commit 44192f2ebb7ea3bbd3ba5910025692dbc6a08faa Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 10:21:44 2009 -0800 MediaPlayerImpl is dead, long live AwesomePlayer. commit c5b52d3c0674f5dc94db506afbce52401cceddac Author: Andreas Huber <andih@google.com> Date: Wed Nov 18 09:42:23 2009 -0800 New implementation of the stagefright mediaplayer.
* Adds a WAVExtractor for 16-bit signed PCM audio wave files.Andreas Huber2009-11-031-0/+3
|
* New API to instantiate a MediaExtractor given a URI and optional MIME type.Andreas Huber2009-10-231-0/+24
| | | | | | 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-3/+4
|
* Make stagefright a little less verbose. Fix heap corruption for real.Andreas Huber2009-10-231-1/+1
|
* Media MIME types now have corresponding constants in MediaDefs.h, new codec ↵Andreas Huber2009-09-101-4/+6
| | | | enumeration API.
* Added a .amr file extractor (for AMR-NB and AMR-WB content).Andreas Huber2009-09-091-0/+4
|