summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/ACodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r74' into HEADJessica Wagantall2016-11-091-1/+4
|\ | | | | | | | | | | | | | | CYNGNOS-3303 Android 6.0.1 release 74 Change-Id: I0a14578751f4ecb8d13def26b9ffe5dcba4afd72
| * stagefright: don't fail MediaCodec.configure if clients use store-meta keyLajos Molnar2016-10-111-1/+4
| | | | | | | | | | | | | | | | | | Even though storing metadata is not supported in MediaCodec.configure and is only meant to be used by Stagefright recorder, don't fail configure. Bug: 31986922 Change-Id: Id9f083be6e857e7a0d8d4a74159be5b8894e28be (cherry picked from commit ae52fd383a43ac239f459078fd003ce8ac2efb55)
* | Allow to use baseline profile for AVC recordingAndreas Blaesius2016-11-081-1/+1
| | | | | | | | | | | | - some encoder seem to crash using higher h264 profiles Change-Id: I2beb881e76519f872e3e99957f8b981eeaa53b56
* | libstagefright: mtk: Use vendor extensions to check if we should fixup croppingDiogo Ferreira2016-08-301-0/+10
| | | | | | | | | | | | | | | | | | | | For mediatek video codecs, validate that the current cropped rectangle is valid and use the full frame size otherwise. This fixes a bug where format changes in the same native window would preserve the previous cropping and cause most of the image to be off-screen. Change-Id: If56ca11453f5d2e04a4138b2efe28203f30ba569 Ticket: PORRIDGE-440
* | Merge tag 'android-6.0.1_r46' into HEADJessica Wagantall2016-06-071-0/+1
|\ \ | |/ | | | | | | | | Android 6.0.1 release 46 Change-Id: I4fcabf5775aebd2cb8dc0e352d1b1460d3214573
| * Fix initialization of AAC presentation structMarco Nelissen2016-04-211-0/+1
| | | | | | | | | | | | | | Otherwise the new size checks trip on this. Bug: 27207275 Change-Id: I1f8f01097e3a88ff041b69279a6121be842f1766
* | stagefright: Clear RenderQueue on port settings changedShalaj Jain2016-03-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Clear the RenderTracker RenderQueue before allocating new set of buffers during port settings change. The graphicBuffers inside the RenderQueue hold the actual buffer references which prevents them from being freed until this queue is cleared. Do not wait till executing state to clear the queue as then overall memory consumption goes up for the brief period. CRs-Fixed: 972394 Change-Id: If50ffc2d517f793a59c88d3fb213bf4c23b8c9f7
* | video: Add support to push blank buffers on surface switchSurajit Podder2016-03-081-1/+8
| | | | | | | | | | | | | | | | Add support to push blank buffers only on surface switch. Setting "push-blank-buffers-on-switch" key with value 1 will enable this feature. Change-Id: I4a0fc48fe24c09a6b8d0e2e0fc4dc2e96d3178bf
* | ACodec: update the right size and crop in smooth streaming caseSanthosh Behara2016-03-081-2/+16
| | | | | | | | | | | | | | | | In smooth streaming enabled case, the max width and max height sizes should be updated in native window. And the crop rectangle should also be updated. Change-Id: I4a15aa24a51b495141001dd43adec7005ab0c742
* | av: "ACodec: update native window crop rectangle" depends on QCOMChristopher R. Palmer2016-01-201-0/+2
| | | | | | | | Change-Id: If0cc81468ab7ee8fa0ec374a9f23e4004e7cb212
* | ACodec: update native window crop rectangleSanthosh Behara2016-01-181-1/+19
| | | | | | | | | | | | | | In setupNativeWindowSizeFormatAndUsage, set the crop rectangle with the output port's crop value. Change-Id: I415be069d02d88dcd6b7c2460dda6df191ee7434
* | ACodec: Fix error handling in OutputPortSettingsChangedStateShivaprasad Hongal2016-01-081-10/+27
| | | | | | | | | | | | | | | | | | | | Freeing the input buffers & node in ACodec::OutputPortSettingsChangedState on error, can cause NuPlayerDecoder to deference freed buffers. Instead of freeing the node internally on error in OutputPortSettingsChangedState, notify error to NuPlayer, and add kWhatShutDown handling to initiate Idle state transition. Change-Id: I7778d759c564fad27d266ac63d293bf0c30c029b
* | stagefright: Add more hardware codec support for our extractorSteve Kondik2015-12-281-11/+7
| | | | | | | | | | | | | | * Additional cases for timestamp reordering (smooth out AVI playback) * Enable hardware thumbnailer Change-Id: If828181850a5627dc1f91b118974905d22ab24e9
* | stagefright: Deal with output format of other AAC decodersSteve Kondik2015-12-211-4/+7
| | | | | | | | | | | | | | * Pass the bits-per-sample value when setting up the raw PCM output in case FFMPEG is decoding as it will produce floats. Change-Id: If5a8cc43a1c41e522324e77871823c9084f92169
* | Move overflow checks into SkipCutBufferMarco Nelissen2015-12-181-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | Previously SkipCutBuffer would check its input parameters to ensure they were sane, however since bogus values might be the result of overflows, and overflow protection was recently turned on for libstagefright, the compiler's overflow checks were performed before SkipCutBuffer's, resulting in abort rather than just ignoring the bogus values. Moving the multiplication by framesize into SkipCutBuffer fixes this. Change-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210
* | stagefright: Finish "Port AOSP fixes"Steve Kondik2015-12-131-1/+1
| | | | | | | | | | | | * Fill in stubs for CAF commit bd019775a921ae9165e924e4d37bc838a7ef5781 Change-Id: Ia97d965d121aa3c3c2fc0ab8b164244416852ca5
* | libstagefright: Fix for testExceptionManikanta Kanamarlapudi2015-12-091-9/+13
| | | | | | | | | | | | | | | | Handled decoder configure call for encoder component and vice-versa in fallback logic CRs-Fixed: 891538 Change-Id: Ibb0d2da829a0e0f907ad8265836bac0466de1b4d
* | libstagefright: squash exynos4 supportSimon Shields2015-12-081-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e41cc838b6212f8711c550522e8cefc95f003a67 Author: rINanDO <drjisakh@gmail.com> Date: Mon Aug 10 13:56:56 2015 +0200 stagefright: Exynos4 MPEG4 decoder should set native color format. Change-Id: I41bee77d48fc0b35691b94585de10269579ae789 commit a50263c53a1ecd0f75688f7042dd5e5d9badbc39 Author: Caio Schnepper <caioschnepper@gmail.com> Date: Wed Jun 10 22:26:07 2015 -0300 libstagefright: back off exynos4_enhancements HWC_HWOVERLAY usage The open source hwc doesn't support the GRALLOC_USAGE_HW_FIMC1 | GRALLOC_USAGE_HWC_HWOVERLAY combination. Removing HWC_HWOVERLAY allows FIMC1 to do decode/color conversion. Change-Id: Ibdfa9e5dd170e99e0d994540979e88e519931641 commit 63286a333bde1aa047de4e2fde8da1b59e42a16d Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org> Date: Sun Nov 3 02:45:19 2013 +0000 exynos4: libstragefright: add support for samsung colorformat/omx/mfc Source: http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/av/commit/?h=exynos-jb&id=1614612f7ca2a00473d202dbedcb135fadc608ad Conflicts: media/libstagefright/ACodec.cpp media/libstagefright/OMXCodec.cpp cherry pick from 906eba9f Change-Id: I1c174f8e9fa9bd3ed16a0399f070b6680f6a331c Change-Id: I47f5b09b37ea5376a45c80c9dd91a7fbd0c3361a
* | stagefright: Fix fallback mechanism to SW decoderKeith Mok2015-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fallback mediaserver to SW decoder breaks with commit eeb8a90192cee627890a74f75a0c64145fbc34f4 Since the err parameters is overrided in a local loop. And even an alternative decoder is configureCodec sucessfully, the outer loop err parameters is still != OK and return false. Change-Id: Id5a9e570e5f55f28a80d7cd25a2a14d59442f3e2
* | stagefright: handleSetSurface: Don't dereference null graphic buffersDiogo Ferreira2015-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In metadata mode and when buffers are owned by the native window , it is possible that the graphics buffer is null. This is fine since we don't have to attach it to a surface. However, the logging was trying to dereference this graphic buffer which caused media to crash sporadically. This fixes the flakiness in android.media.cts.MediaPlayerTest#testVideoSurfaceResetting Change-Id: I89f30ca1177d7118da5a7b0ffbbb91370f9b54ab
* | libstagefright: Handle MPEG4 DP playbackLeena Winterrowd2015-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the HW decoder doesn't support MPEG4 DP clips, detect DP format clips in the parser and report a new MIME: video/mpeg4-esdp. This MIME is only registered to the SW decoder which supports DP clips. Merges the following change from kitkat: libstagefright: Fix DP Parsing issue with mpeg4 SP,ASP (Change-Id: I69c719011e1a0d2a0b0ae5a9b504b7cce443866b) CRs-Fixed: 722066 Change-Id: I7bc3a7a9f4a6d37e046ed9c8008cb27fb3bc665d
* | stagefright: Support hardware codecs with FFMPEG extractorSteve Kondik2015-11-251-13/+7
| | | | | | | | | | | | | | | | | | | | | | * Quite often we'll be using our custom extractor to handle container formats which aren't supported by any other means, but the codecs used inside the container are hardware supported. * For QC specifically we need to send a few magical incantations, so add support for this. Software codecs will be used if hardware support is unavailable. Change-Id: I917b674142fdab0b009e066e9511648c2695ec4b
* | stagefright: Act V: I am become death, the destroyer of worldsSteve Kondik2015-11-241-0/+2
| | | | | | | | | | | | | | | | * In which our hero unites the legions of distant worlds together as one at last to fight anew until the segfaults boil the lands and the New Version cometh. Change-Id: I869b2ab254968ed7a133827ea9e5ba6056f68a5c
* | stagefright: Welcome to my nightmare, act IVSteve Kondik2015-11-231-16/+13
| | | | | | | | | | | | | | | | * Standardize parameter names, clean up stub calls * Attempting to make QC's blob work. We've entered our last days on earth. All is lost, all is lost. Change-Id: Idef9aad100f414e64a737e0f0a8c9c112ad4cb46
* | stagefright: Don't break the ABI in ACodecSteve Kondik2015-11-231-4/+9
| | | | | | | | | | | | | | * Qualcomm's proprietary extension is doing some seriously bad stuff. This is not going to be fun to maintain. Change-Id: I7d9d709e7a1dfb3107a4c3ae7b2f15ddaa0fab74
* | stagefright: ACodec: Don't return success when encoders fail to initDiogo Ferreira2015-11-201-4/+4
| | | | | | | | | | | | | | | | | | | | When configureCodec fails we try to fallback to another codec that supports the mimeType. However, this fallback is only done for decoders and, if encoders fail, they will always end up sending a success notification and returning true, causing mediaserver to crash. Change-Id: I32bee3167a8b43243cd708258435174f90f21a1b
* | stagefright: ACodec: Correctly handle FLAC port formatEthan Chen2015-11-201-2/+8
| | | | | | | | | | | | | | * Handle FFMPEG FLAC codecs correctly, otherwise do the default codec behavior. Change-Id: Ib8c1c5037060ff1c5ea0a5317ab190ce2e306c1e
* | Merge branch 'LA.BF64.1.2.2_rb4.7' of ↵Steve Kondik2015-11-161-0/+4
|\ \ | | | | | | | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0 Change-Id: Ia41df61c3ccfeb809572b63a4b1a8ca6bd85dfb2
| * | audio: use QTI flac decoder based on flagSharad Sangle2015-11-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While setting up the component for flac, current design is if encoder then don't use QTI flac component otherwise use QTI flac component, so if QTI flac is not being used then this might be wrong. So enhance the design to use QTI flac component only when it is enabled, otherwise use default flac component Change-Id: I57454841611885ae7cdf75896f8297ef8132292e CRs-Fixed: 916650
* | | libstagefright: Make it possible to skip OMX buffer reallocationMichael Gernoth2015-11-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices don't like the call to setParameter() at this point, so skip this call if enough buffers are already allocated. This check was present in KitKat but got removed when code to allocate extra- buffers was introduced. This is activated only for omap4 for now. Squashed 2nd commit: which does same for OMXCodec.cpp Change-Id: I9c1267c2a2a755bc16448a6049cb2e4aff0b65bb
* | | libstagefright: add missing TI color format caseZiyan2015-11-071-0/+2
| | | | | | | | | | | | Change-Id: Iaca45e6b15d3315a39b51bbf7f0cf3a1e912fee9
* | | Fix benign overflows in ACodecMarco Nelissen2015-11-051-2/+4
| | | | | | | | | | | | Change-Id: Ia699f8a9f5367a9b38aaa6bbbdb0097c3e2ab551
* | | stagefright: Unbreak video encodingSteve Kondik2015-11-051-3/+3
| | | | | | | | | | | | | | | | | | | | | * Fix logic for the FFMPEG video case- we should have only been checking for errors when actually calling into our extension. Change-Id: Ic9fa6ad3913f259c09f0dd37b1720d996ecc386c
* | | Merge branch 'LA.BF64.1.2.2_rb4.6' of ↵Steve Kondik2015-11-041-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | git://codeaurora.org/platform/frameworks/av into cm-13.0 Change-Id: Iec8118b9a24fafe47e4006fca8a8e993bacb5ba8
| * | stagefright: Wait longer before force releasing codecShalaj Jain2015-10-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase the timeout to 30 secs from 10 in order to give the components more time to move to idle state, otherwise freeNode during codec release will also try to move it to idle and bad things will happen. This is a temporary fix until software codecs error handling is improved. Change-Id: I89203bfbce1b81f53ed6e2a33747ec40a786507d
* | | libstagefright: Extended media support via FFMPEGSteve Kondik2015-10-281-23/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | audio: use QTI flac decoder based on flagSharad Sangle2015-10-131-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | While setting up the component for flac, current design is if encoder then don't use QTI flac component otherwise use QTI flac component, so if QTI flac is not being used then this might be wrong. So enhance the design to use QTI flac component only when it is enabled, otherwise use default flac component Change-Id: I57454841611885ae7cdf75896f8297ef8132292e CRs-Fixed: 916650
* | Merge "Stagefright: Transition to uninitialized state after freeing node"Linux Build Service Account2015-10-121-0/+1
|\ \
| * | Stagefright: Transition to uninitialized state after freeing nodePraveen Chavan2015-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the component is force-released after timeout, there could be a race condition where component posted a message just before it was released. This posted message will cause ACodec to wrongly invoke OMX API on the component which was freed already. Move ACodec to uninitialized state where all component messages will be safely ignored. Change-Id: I71da7c7d021210fd6bed44761740161a5d8894e7 CRs-Fixed: 884165
* | | libstagefright: Set Intra periodManikanta Kanamarlapudi2015-10-071-0/+4
|/ / | | | | | | | | | | set intra period for HEVC encoder Change-Id: Id2b3e71b746eaaed76118126d44ad83458d68520
* | Stagefright: Addition of DS capabilityManoj Kumar AVM2015-10-061-1/+4
| | | | | | | | | | | | | | Adding support for sending and receiving DS Mode events. Change-Id: I5be1c1e9b7c33b55f0f3aa71725b90cd0f90f0ad
* | Stagefright: Enable custom allocation mode.Shivaprasad Hongal2015-10-061-7/+15
| | | | | | | | | | | | Enable custom allocation mode Change-Id: Idf3f6c0eb9d17d361d2e5b6c36b1fe7586236565
* | video: Port AOSP fixesSurajit Podder2015-10-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Includes following fixes: f510d0c libstagefright: Disable multi slice mode for video encode ca46843 audio: Fix for failure in CTS MediaRecorderTest cases b4d0490 libstagefright: check the audio source when adding to MPEG4Writer 89c6c3f libstagefright: Allocate cached camera buffers for sw encoders f2c387b libstagefright: Choose target specific media_codecs.xml f3e7122 libstagefright: Implement fallback mechanism to SW decoder Change-Id: I90398b2fead1f4e163935bf1db342e24275f7933
* | avextensions: Add support for Codec Extension featuresShalaj Jain2015-10-061-0/+10
| | | | | | | | | | | | | | | | | | | | Add support for Codec extension features like skype, vqzip, b-frame encoding, prefer adaptive playback etc. Add extensions to support encode batching. Also enable Werror for libavextensions. Change-Id: Ia342d4abe4bb1e21b9ff2b8213fb96421485a333
* | Stagefright: Delay the force-shutdown of node after 10 secondsPraveen Chavan2015-10-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | since the node can take more than (default) 3 seconds to transition to Exec --> Idle -> Loaded. In the event of freeing node before the component has transitioned to loaded, there may be race-conditions trying to invoke methods on a non-existant component and bad things can happen. Increase timeout to 10 seconds till the checks are in place. Change-Id: I97f698422dfe99b47b3bafb605b642a247b44110 CRs-Fixed: 884165
* | video: Add support for MPEG4 DP video clipsSurajit Podder2015-10-061-0/+1
| | | | | | | | | | | | | | | | | | Hardware decoder does not support MPEG4 DP clips Add changes to use software decoder MPEG4 DP streams: * Add mapping for MPEG4DP mime to compression type * Add MPEG4 DP mime to software MPEG4 decoder Change-Id: Ic763b7b5714ce6533c07e8bb65f0ecd09dc24e9e
* | AVCustomizations: Enable 16 and 24 bit PCM offload.Preetam Singh Ranawat2015-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | -create extended decoder and renderer -add change to pass bit width and format info to renderer. -add change for PCM conversions -add changes for time calucation Conflicts: media/libmediaplayerservice/nuplayer/NuPlayer.cpp Change-Id: I3363140fad441a7746884076c40b46e777f2e06e
* | Stagefright: Make classes customizable and add AV extensionsPraveen Chavan2015-10-061-1/+7
| | | | | | | | | | | | | | | | | | | | | | 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
* | audio: add support for FLAC decodingSharad Sangle2015-10-061-2/+3
|/ | | | | | added support for FLAC decoding Change-Id: Ia35b0b9218fdf2584348a2a95bf0401c5065dedc
* do not dequeue from native window after we hit fatal errorChong Zhang2015-08-141-0/+9
| | | | | | bug: 22845824 Change-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141 (cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)