summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/DataSource.cpp
Commit message (Collapse)AuthorAgeFilesLines
* video: Add metadata support for DataSourceSurajit Podder2016-03-081-1/+0
| | | | | | | Add meta() API to query and update DataSource metadata. Change-Id: Ibc99fbb6b9bdd6ca6a9d0b25883ba5907946a81d
* stagefright: Those who cannot remember history are doomed to repeat itSteve Kondik2015-12-281-3/+14
| | | | | | | | | | | | | | * 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
* stagefright: Remove special handling of FFMPEG extractorSteve Kondik2015-12-281-33/+2
| | | | | | | * 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
* Revert "DataSource: Remove global variables in DataSource related to sniff"Steve Kondik2015-11-201-56/+50
| | | | | | | | * Don't change the ABI. Fun times. This reverts commit 4440ef8efc77d1bd7838885e83d41e54deb5a3b8. Change-Id: Ie9e0812f5e4ee700c29b76a413083858ec0255c9
* Merge tag 'android-6.0.0_r26' into cm-13.0Ricardo Cerqueira2015-11-051-1/+1
|\ | | | | | | | | | | Android 6.0.0 release 26 Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda
| * NuCachedSource2: fix possible erroneous early freeWonsik Kim2015-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Because the constructor of NuCachedSource2 sent a message to AHandlerReflector object, AHandlerReflector::onMessageReceived could have executed just before the object gets wrapped in a strong pointer, resulting in erroneous early free. Fix the issue by using static Create function to ensure the message is sent after the object is wrapped in a sp. Bug: 23882800 Change-Id: I38a9d7a3083f184b4c81d0b00ba1661721278855
* | libstagefright: Extended media support via FFMPEGSteve Kondik2015-10-281-3/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | DataSource: Remove global variables in DataSource related to sniffSurajit Podder2015-10-281-39/+47
| | | | | | | | | | | | | | | | Remove global variables related to sniff, and added Sniffer class to implement the sniff functionality with non-static members. Change-Id: I6fbd0ba5b686e09fda11d78cdd687a69c81a6bdf CRs-Fixed: 567753
* | Stagefright: Extensions for HTTP progressive streaming.Apurupa Pattapu2015-10-061-7/+15
| | | | | | | | | | | | | | | | | | - Extend NuPlayer setDataSource for streaming - Create ExtendedCachedSource only for MediaPlayer streaming usecases by passing a flag to DataSource to use extended cache - Add extension for MediaHTTP Change-Id: Ic87c3744bf905eb8742863951b809e38d0a60339
* | Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-061-0/+3
|/ | | | | | | | | | | 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
* stagefright: add a 2kb cache for CallbackDataSource.Chris Watkins2015-04-201-1/+1
| | | | | | | | | | | | Without a cache the mediaserver does a lot of small reads which result in round trips through binder and jni to the app MediaDataSource. On a Nexus 5 I measured time to first frame from MediaPlayer for 1) 1350kbps h264, and 2) 20480kbps vp8. Without a cache, MediaDataSource was ~250ms slower than an fd. With a 2kb cache it's 30ms slower for (1) and 70ms slower for (2). Change-Id: If1e811db7b853c4f79430603318d4744ac30acb9
* Unhide the android.media.[Media]DataSource interface.Chris Watkins2015-04-151-0/+5
| | | | | | | | | | | | | | | | | | | | | This allows apps to implement MediaDataSource, which is modeled on stagefright's DataSource, to supply media data to the framework. This was already implemented for MediaExtractor, but it was renamed from DataSource. MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new overload: #setDataSource(android.media.MediaDataSource) Only NuPlayer supports this new data source. The change introduces: * IDataSource: The binder interface for DataSource. * JMediaDataSource: The native counterpart to the java interface. It implements IDataSource. * CallbackDataSource: A stagefright DataSource that wraps an IDataSource. Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
* Replace MidiFile player with a Midi extractorMarco Nelissen2014-12-181-0/+2
| | | | | | | 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
* GenericSource: support disconnect before NuCachedSource2 is createdRobert Shih2014-10-011-7/+22
| | | | | Bug: 17672488 Change-Id: I96776c9679fdcfbe9a442c86447c59802b1465ac
* fix crash when makeHTTPConnection fails with null pointerChong Zhang2014-09-221-1/+12
| | | | | Bug: 17608108 Change-Id: I4bdf6d09ae565418be3d6677b5ccac9072fb9b2c
* move cache prefill to GenericSource's message handlerChong Zhang2014-08-211-70/+7
| | | | | | | | | | | | This allows prepareAsync to be terminated by reset promptly. It also makes it easier to do buffer update as GenericSource can access the cache status now. Bug: 16892748 Bug: 17182378 Change-Id: Ia55c04a810fd805041cb2025f6739afa5120b5ed
* make NuPlayer's http connection mechanism behaveChong Zhang2014-08-141-11/+15
| | | | | | | | | | | | | more like that of AwesomePlayer's - remove cache specific headers before connect - read mime type before creating cached source on top of the http source Bug: 16892521 Change-Id: Ie13a62dd8dd959be6095a42e2b41e3bc817efeb5
* some fixes for crash when extractor creation failsChong Zhang2014-08-061-2/+78
| | | | | | | | | | - prefetch data for sniffing - notify error instead of crashing if extractor is NULL Bug: 16818302 Change-Id: I56ff4996d99ac2811d19d141f7ff7acdd7c1da17
* Support "data:" URIs again in mediaplayer...Andreas Huber2014-02-111-0/+3
| | | | | Change-Id: I6dac35c7e606f738a60f985f6dca977dc92c82a4 related-to-bug: 12957757
* Remove no longer needed http proxy handling code, it's obsolete nowAndreas Huber2014-02-051-9/+0
| | | | | | | | since we started to use java's HTTPConnection instead of the native implementation. Also remove other remnants of the previous http implementation, such as accounting for the http user's uid. Change-Id: I60bfd31381ea40d2220db587ec5c433093b60034
* FINAL ATTEMPT: HTTP services are now provided from JAVA and made available ↵Andreas Huber2014-02-041-2/+7
| | | | | | to media code Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
* Only initialize sniffers once, don't hold mutex while sniffingMarco Nelissen2013-11-111-16/+27
| | | | | | b/11482896 Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1
* Add support for common encryptionMarco Nelissen2013-04-081-0/+13
| | | | | | b/7465749 Change-Id: I5403b74a5ae428ad28b382863a09daafc400b137
* Remove FragmentedMP4ExtractorMarco Nelissen2013-02-151-2/+0
| | | | | | MPEG4Extractor now supports fragmented mp4 files. Change-Id: I5659a51f4e5e4407a12535e69238fe3abffda7dc
* Add support for fragmented mp4 to MPEG4ExtractorMarco Nelissen2013-02-151-0/+26
| | | | | | | This makes FragmentedMP4Extractor obsolete. It will be removed in a separate change. Change-Id: Ida74c07ccf84983e20a1320ee24ffc7a5c083859
* Fragmented mp4 extractorMarco Nelissen2012-09-051-7/+9
| | | | | | | Still experimental. Set property "media.stagefright.use-fragmp4" to true to enable. Change-Id: I210b9c5b5164b5c5eefc31309845ee881ac7db8e
* libstagefright: dynamically load libstagefright_chromium_httpColin Cross2012-06-151-2/+2
| | | | | | | dlopen libstagefright_chromium_http to allow it to be on the platform side of the pdk without getting overwritten during a pdk fusion build. Change-Id: I391e81d98beab165c3313bc8a71bb370ebb8584d
* Remove/Disable the AVI extractor.Andreas Huber2012-05-071-2/+0
| | | | | Change-Id: I47dcae710df9c66688a937fb1e648f9b00ca0f65 related-to-bug: 5717242
* Support widevine:// URLs in NuMediaExtractor / java MediaExtractor.Andreas Huber2012-04-171-11/+29
| | | | | | | Allow anyone to talk to drm services. Change-Id: I5c2f3c419d01de30c3d6e2bc85b1fe5c9c37b392 related-to-bug: 6276111
* Change NuMediaExtractor's API to support different kinds of data sources.Andreas Huber2012-04-131-1/+13
| | | | | Change-Id: I080aa2ce28300a72a85751509334dbdc491936c6 related-to-bug: 6276111
* Separate sniffing from session initializationJames Dong2012-01-121-0/+2
| | | | | | | | | | | | This avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened o The change is backward compatibile in that no update is required for existing drm plug-ins if they do not plan to provide separate sniffer/extractor related-to-bug: 5725548 Change-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c
* am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead ↵James Dong2011-12-141-2/+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-2/+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 a5038d16: am a693a4b5: Merge "Fix ANRs due to Widevine DRM plugin sniff ↵Jeff Tinker2011-12-091-0/+2
|\ \ | |/ | | | | | | | | | | taking too long." into ics-mr1 * commit 'a5038d169f47b2e2278c0056495dfd4808803f8a': Fix ANRs due to Widevine DRM plugin sniff taking too long.
| * Merge "Fix ANRs due to Widevine DRM plugin sniff taking too long." into ics-mr1Jeff Tinker2011-12-081-0/+2
| |\
| | * Fix ANRs due to Widevine DRM plugin sniff taking too long.Jeff Tinker2011-12-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add a Widevine-specific format sniffer to avoid having to refetch data from the remote server. Change-Id: I5fdb21fe7a0d6e74f2a6f06e6fbf8070b068ac60 related-to-bug: 5725548
| * | DO NOT MERGE: Remove the AVI extractor.Andreas Huber2011-12-061-2/+0
| |/ | | | | | | Change-Id: Ifce6c0d3d87aad2f5cc7f40ad6304936cbfa795e
* | Allow data uris to be data sourcesNarayan Kamath2011-12-061-0/+9
|/ | | | | bug:5571010 Change-Id: I0b6ae6c729ac34d46e9990fcceb08294eb4f7c58
* Support for an MPEG2 Program Stream extractor.Andreas Huber2011-09-301-0/+2
| | | | Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
* Support for divx files, i.e. mpeg 4 video + mpeg audio layer III in .avi filesAndreas Huber2011-03-301-0/+2
| | | | | Change-Id: I6e1e989c43300ddb0d341e3e9183cdccd69eeae6 related-to-bug: 4192562
* Stagefright DataSources now expose the underlying content mime type.Andreas Huber2011-03-301-0/+4
| | | | | | | | Use that mime type to determine if we should do upfront buffering at the start of playback and don't for audio streams to ensure playback starts fairly instantly. Change-Id: If21e36d1b024f0e5c723911bceadaa2e0307ab42 related-to-bug: 4090916
* An HTTP datasource for stagefright using the chromium code.Andreas Huber2011-03-091-2/+2
| | | | | | | | Use of this new datasource is now the default unless overwritten by adb shell setprop media.stagefright.use-chromium false Change-Id: I156a8eb9a1fff1cb537b4aec6cf3e8e6052be81e
* Experimental support for https transfers in stagefright.Andreas Huber2011-02-171-1/+2
| | | | Change-Id: If1bd0f265dda136c7c34b53317f64383023b53a3
* Add AAC extractorGloria Wang2011-02-151-0/+2
| | | | Change-Id: Iedb08525ac72e65ba98e5c791734da0720a0e3f6
* Bug 1804058 FLAC extractorGlenn Kasten2011-02-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* 64-bit file size/offset support for media frameworkJames Dong2010-11-181-2/+2
| | | | Change-Id: I3452bc2c0f1d990cc67285df2fce1f9f86ff8e10
* - register DRM sniffer only when drmserver is upGloria Wang2010-10-291-1/+8
| | | | | | - notify DRM agents the status after seeking Change-Id: Id77977fc7548970559dc8974461b0bd1d2aa9514
* A temporary fix for "Waiting for service drm.drmManager".Gloria Wang2010-10-261-1/+1
| | | | Change-Id: I554c9bbec8c63c3c8dbc5b5374614c1101f6d1d9