| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Android 6.0.1 release 66
Change-Id: I1d3eb6b66b7482149fe93647c278065fa46dc518
|
| |
| |
| |
| |
| |
| |
| |
| | |
Additionally, remove use of variable length array which is
non-standard in C++.
Bug: 29161888
Change-Id: Ifdc3e7435f2225214c053b13f3bfe71c7d0ff506
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-Update channel mask from channel count if parser reports channel mask to be 0
-Update source format for each buffer by extending call to setPcmFormat when
aggregation is not done
Change-Id: I1f4ce07e3e784d85e63be03a69ac1395bfa913e2
CRs-Fixed: 948222
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| | |
* Forward-port CAF L-MR1 code to fill in stubs.
Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The gapless data was not passed to HAL, which in turn to DRV/FW.
During start of every song gapless information is passed to
DSP to indicate the reset of hardware pointer. This pointer
is used in getting the render position. If some files does
not have gapless header, this value is not passed to DSP.
This causes wrong updation of render position for the next song
in the loop mode. This change will update the necessary information
to DSP appropriately.
Change-Id: I3dc71f6fb38e7067610813503ff60340e7dcb815
Signed-off-by: samaga Prasanna Krishna <samaga.krishna@intel.com>
Signed-off-by: Mazhar <mazharx.sameullah@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| | |
* configurationVersion is not always correct for clips in the wild.
Change-Id: I628a8bcf47f372844f05f912ed66aea6dad0aa86
|
| |
| |
| |
| | |
Change-Id: I316d82226ea5b8486e4aefae0d69a361ab115006
|
|\ \
| |/
| |
| |
| |
| | |
Android 6.0.0 release 26
Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda
|
| |
| |
| |
| |
| | |
Bug: 21573897
Change-Id: Ide83419fa0c92726a33bad2570321e0df2558429
|
| |
| |
| |
| |
| |
| |
| | |
Also remove some CHECK's.
Bug: 23680780
Change-Id: I62d0941e203e40209fa6fbe3f923f3efdc5a6c23
|
| |
| |
| |
| | |
Change-Id: Iedb075a46bb87f5243b5715981a835d18daf6c75
|
| |
| |
| |
| | |
Change-Id: I654348b4b2d0229ffeb9e858bea3364de2880cfc
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Android 6.0.0 release 5
Conflicts:
media/libstagefright/OggExtractor.cpp
media/libstagefright/Utils.cpp
Change-Id: I2ea44836c5cc3da8ffa2092522293c433bf7538c
|
| |/
| |
| |
| |
| |
| |
| | |
Also remove some CHECK's.
Bug: 23680780
Change-Id: I62d0941e203e40209fa6fbe3f923f3efdc5a6c23
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| | |
- handle non default input buffer size
- fix issues associated with non-default buffer size
Change-Id: Iad31f5c85601983b01e18e130b1c3eecb3988e30
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes done to enable HEVC muxing
- writing HVCC atom
- configure HEVC encoder
Fix HEVC flag initialization
Check for HEVC for single track usecase
Change-Id: I1757d0c442e7cc3ef251431f220395131a1eb4ec
|
| |
| |
| |
| |
| |
| | |
add support for APE decoding
Change-Id: I55e8f4b3b87f4bdf1c99774d702506eb7c2f05b5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-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
|
| |
| |
| |
| |
| |
| |
| | |
Add support for FLAC playback in
compressed offload mode
Change-Id: I617b41b867277272212d6cf1a6f82f646c5b1032
|
|/
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- The ABuffer used for the Message has a preset value of 1024, if
flattening the meta data exceeds this value, a check fails hence
the crash.
- This change creates a new ABuffer if the buffer size would exceed
the buffer capacity.
Bug: 22771132
CRs-Fixed: 857850
Change-Id: Iaa7374a4734a49db257a3f102a88412fde672260
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing translations for H264 and AAC are written too broadly,
matching any video or audio codec, while they in fact are very
specific for these codecs.
This fixes muxing mp4v-es into .mp4 files using MediaMuxer.
Bug: 17956215
Bug: http://b.android.com/90138
Change-Id: I7de04c5e517a1cde07c8fc18463053355d7cf6ae
|
|
|
|
|
|
|
| |
Bug: 18249558
Bug: 19666434
Bug: 20057497
Change-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605
|
|
|
|
|
| |
bug: 20431757
Change-Id: I2d00e9914550ba3e62bc5ac8604ba44bcbb6026a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- account for playlist age in live streaming when calculating
segment time
- be more conservative on downswitching if bandwidth is unstable
- adjust forward or backward if guessed wrong seq number
- code refactor
bug: 19567254
Change-Id: I0b61cea888fdffd1b3ee2446747ed10152e9e7d7
|
|
|
|
|
|
| |
bug: 20160436
Change-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- fix no target-duration case
- fix for audio-only <=> audio/video switching
- disable audio-only variants if there is at least
one variant with video
- fix mpeg2ts PTS wraparound when bandwidth adapting
- tweak up/down switch marks
bug: 19567254
Change-Id: Ib46144203c56dfc96eccd6ddaa3867e8a4f2c6a9
|
|
|
|
|
|
|
|
| |
This CL adds support for Opus streams that have more than 2 channels. It also
fixes a bug where codec delay and seek preroll are not transferred during
metadata to message conversion.
Change-Id: Ia9748d4f7024368b2aa3c5cbd27f8016c859ea00
|
|
|
|
|
|
|
| |
For build-system CFLAGS clean-up, remove unused functions and
variables.
Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
|
|
|
|
|
|
|
|
|
|
|
| |
* Set the buffer's format info when it's returned from OMX component.
* Move frame format meta from SoftwareRenderer's ctor to the render call.
I.e. each frame sent to the renderer carries the format info.
* Reset renderer with the new format instead of re-creating
SoftwareRenderer when incoming frame's format is changed.
Bug: 13842676
Change-Id: Ibab46f109200bcbdeab13a4cc1bcd0870f2a99fb
|
|
|
|
|
|
|
|
| |
Pass audio aac sub formats in offloadinfo according
to aac profile. Audio HAL can take decision about offload
using DSP capabilities
Change-Id: Ice277e8b6561b7a7db92c474f23f8041ebb35e8c
|
|
|
|
|
| |
Bug: 16653284
Change-Id: I54165041da5a13498d627eee1b3ec59ef3c923b0
|
|
|
|
|
|
|
|
| |
Pass audio aac sub formats in offloadinfo according to
aac profile. Audio HAL can take decision about offload
using DSP capabilities
Change-Id: If269a3654b5d2b09c183212b0646ef03e06f2d8f
|
|
|
|
| |
Change-Id: Ic8153b33413a34d75a3053dbfb9530a639e0ec12
|
|
|
|
| |
Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
|
|
|
|
| |
Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
|
|
|
|
|
|
|
|
| |
also fixed QuerySupportedProfileLevels in
SoftVideoDecoderOMXComponent.cpp
Bug: 14571712
Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
|
|
|
|
|
|
|
|
|
|
|
| |
Added property media.stagefright.log-uri. Set it to true or 1 to
log uris by AwesomePlayer.
Added utility function to get uri debug string based on incognito
and log opt-in status.
Change-Id: I5ccc23079ddfb120dd9703a3ed651a162ed5acec
Related-Bug: 6994761
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Adding Openmax component for libopus software decoder. This can
decode opus audio files embedded in matroska containers.
Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc
Note: This CL is part of adding Opus support to Android.
|
|/
|
|
|
| |
Bug: 13032650
Change-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595
|
|
|
|
|
|
|
|
|
|
| |
For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.
Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147
|
|
|
|
|
|
|
|
|
|
|
|
| |
canOffloadStream() function in stagefright utils forces the
stream type to AUDIO_STREAM_MUSIC when querying the audio policy
manager if a particular track is offloadable or not.
This causes MP3 ringtones to be offloaded which is not a validated use case.
The fix consists in using the actual stream type read from the AudioSink.
Bug: 11410937.
Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Offloading of compressed audio decoding to audio DSP
is implemented for audio only, non streamed content.
when the datasource is
AudioPlayer:
- Create an offloaded sink when playing a compressed
source
- Send metadata to audio HAL
- Return sink start error to AwesomePlayer so that a
new player for PCM audio can be created in case of problem.
- Forward stream end and tear down callback events to AwesomePlayer
- Stop the sink and wait for stream end callback when EOS is reached.
- Pause and restart the sink if needed before flushing when seeking
(otherwise flush is a no op).
- For current media time, directly query the render position from the
sink and offset by the start position (seek to time)
AwesomePlayer:
- When initializing the audio decoder, check with audio policy manager
if offloading is supported. If yes, create the software decoder in
case a reconfiguration is needed but connect the audio track directly
to the AudioPlayer.
- In case of error when starting the AudioPlayer, reconnect the software
decoder (OMXSource) and recreate a PCM AudioPlayer.
- Handle AudioPlayer tear down event by detroying and recreating the
AudioPlayer to allow transitions between situations were offloading
is supported or not.
- Force tear down of offloaded AudioPlayer when paused for a certain time:
This will close the sink and allow the DSP to power down.
Utils:
- Added helper methods:
- send meta data to audio ia sink setParameters
- query audio policy manager if offloading is supported for a
given audio content
Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae
Signed-off-by: Eric Laurent <elaurent@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NOTE: this does _not_ include all private member variables added
to classes as part of offload support. Only public/protected functions
and stubs functions/variables needed to make the changes buildable.
- isOffloadSupported() added to audio policy service
A stub implementation is required to build, this always returns false
- setParameters() added to IAudioTrack
A stub implementation is required to build, this always returns
INVALID_OPERATION
- CBlk flag for stream end
- Change AudioSystem::getRenderPosition() to take an audio_output_t
so caller can specify which output to query
- Add AudioSystem::isOffloadSupported()
This is fully implemented down to the AudioFlinger function
AudioPolicyServer::isOffloadSupported() which is just a stub
that always returns false.
- Add EVENT_STREAM_END to AudioTrack interface.
STREAM_END is used to signal when the hardware has actually finished
playing all the data it was sent.
- Add event type enumeration to media player interface AudioSink callbacks
so that the same callback can be used to handle multiple types of
event. For offloaded tracks we also have to handle STREAM_END and
TEAR_DOWN events
- Pass audio_offload_info_t to various functions used for opening outputs,
tracks and audio players. This passes additional information about the
compressed stream down to the HAL when using offload.
For publicly-available APIs this is an optional parameter (for some of
the internal and low-level APIs around the HAL interface it is mandatory)
- Add getParameters() and setParameters() API to AudioTrack
Currently dummy implementations.
- Change AudioPlayer contructor so that it takes a set of bitflags defining what
options are required. This replaces the original bool which only specified
whether to use deep buffering.
- Changes to StageFright class definition related to handling tearing-down of
an offloaded track when we need to switch back to software decode
- Define new StageFright utility functions used for offloaded tracks
Currently dummy implementations.
- AudioFlinger changes to use extended audio_config_t.
Fills in audio_offload_info_t member if this info is passed in when
opening an output.
- libvideoeditor changes required to add the new event type parameter
to AudioSink callback functions
- libmediaplayerservice changes required to add the new event type parameter
to AudioSink callback functions
Change-Id: I3ab41138aa1083d81fe83b886a9b1021ec7320f1
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Eric Laurent <elaurent@google.com>
|