| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the value of the multiplier used in calculating
mNormalFrameCount is odd, it is rounded off to a higher even value.
This results in an increase of mNormalFrameCount and thereby
the latency which is not expected.
Do not prefer an even multiplier and let the value remain as is
even if it is odd.
CRs-Fixed: 931454
Change-Id: Ia60d87d01caef6f45998bffeafc3d6a24f7c7fb4
|
|
|
|
|
|
|
| |
- Check Direct PCM usecase with Offload
- do not process s/w effect when direct PCM is enabled
Change-Id: I2eb843b17558e60cf36daff0c5fbdf50dccf99ca
|
|
|
|
|
|
|
|
|
| |
Legacy ALSA really hates floating point, and it's breaking
mic input when doing things like audio recording.
Use the old conversion routine for legacy ALSA.
Change-Id: I616f4cd42fa0e4d7595dd61ed2d36c4fa7052c53
|
|\
| |
| |
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/av into cm-13.0
Android 6.0.1 release 3
Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 21093153.
Change-Id: I389af11451b01ce49fdb8957e2f322ba1925a62e
(cherry picked from commit da73b6c7474aaa5616f0214e238776f12717f32b)
|
| |/
| |
| |
| |
| |
| |
| | |
static audio tracks use obtainBuffer() to update position in start().
Bug: 22938515
Change-Id: I8ae32f6cce4d122386d2cf8982e158049b04ba9a
|
| |\
| | |
| | |
| | |
| | | |
* commit '4c6e77ff8e18a1551320a6b42f6a45e19dcce748':
AudioFlinger: Clear record buffers when starting RecordThread
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 24211743
Bug: 24267152
Change-Id: I58c55e56b85067b71e4e300f947b4dfc159637ba
|
| | |
| | |
| | |
| | |
| | |
| | | |
Don't forbid effects being added for mono channel.
Change-Id: Ib080c6c9ac263239668b639a788c29154726210d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a fast-track using shared buffer is restarted, we need to call
obtainbuffer if frameReady has already become zero, even if track is
still active. This is required to reset mFramesReadySafe. Otherwise
mFramesReadySafe remain at 0 and fastmixer can't consume data from
the track when it is re-used.
Change-Id: I5d6f364f8f31baad3341bd4f51bf8a8b147cd7d7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Current implementation in AudioFlinger set the effects to state IDLE
when they are created. Later on when the effect is enabled by the
client, the state changes to STARTING.
Then when the audio playback starts, the AudioFlinger thread loop
calls EffectChain::process_l() to perform the effects processing.
However this method will first call process() and then updateState(),
so the firstprocess won't do anything because the effect is in
STARTING state. After the call to updateState, the state is moved
to ACTIVE and then next calls to process_l() will work as expected.
Change-Id: I9dfd3d5a0e53403034eb42f9366e1b3cdc5249c0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Loud clicks/pops are heard when playing to a USB device with
AudioFX enabled. Particularly frequent when the USB device is
capable of high-resolution output.
* Adjust the throttling period when effects are enabled to
prevent this.
Change-Id: I3db220d13c37f4ff5b835c14831fbe6f5a5b062c
|
| | |
| | |
| | |
| | | |
Change-Id: I8c459fd5a6530d7fc253f96400208dc6911b68ec
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- MixerThread sets OutputFormat to PCM_FLOAT by default
We are having issue with SRS Effects due to this format
- Fix is to select always PCM16 format as Audio HAL supports
only PCM16
Change-Id: I26d23836180fe95b4c32b071593827b6fe4d674e
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
Android 6.0.0 release 26
Change-Id: I8a57007bf6efcd8b95c3cebf5e0444345bdd4cda
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Move SchedulingPolicyService from audioservice to mediautils
- When starting up a high speed stream config, set request queue thread
to SCHED_FIFO using SchedulingPolicyService
Bug: 24227252
Change-Id: I224b59142bd111caf563779f55cddd62385b9bac
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 23291988
Bug: 23614327
Bug: 23924081
Change-Id: Id1a519ed4bb2a6f4cb197da8450f7069b55c0d48
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The audio HAL wakes up and configures the audio path when receiving
the first write() in standby state. This causes a certain amount of
process to take place in the mixer threads which is problematic for
fast mixer running at FIFO priority.
We now force a fake write() of 0 bytes from normal mixer to trigger
the audio path configuration before starting the fast mixer.
Bug: 23791972.
Change-Id: I54311b337fda956444846f5d2f53a3263d54e04b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit cafe86a9cb6625bb1ec6383e16e28e4c9e455f87.
Bug: 23924093.
Change-Id: I186d1013b06a286eca93c30bb9b3545dc36695ff
|
| |/
| |
| |
| |
| | |
Bug: 22938515
Change-Id: I1de653de169a3fbbaa693da6057897ea57772447
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Memory allocation for AudioTrack fails because the heap gets
fragmented and free chunks of the size requested are not available.
- Increase the current heap size to 4 MB to ensure that there is
always a free chunk to accommodate the requested size.
Change-Id: Idf0d3e6c2abbf2f0fa048885acb3200d2a7c16b7
|
| |
| |
| |
| |
| |
| |
| | |
Warn allocation failures explicitly rather than crash
trying to access unallocated memory
Change-Id: Ie86c3ac130917e1f4030eb8207ac8350cba7711d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for QTI audio resampler
audio: Audio resampler support for 192Khz playback
Change-Id: Ia8f24a0874ebf6e16ef7bd1f2759a14f47149875
audio: Add audio mixing support for qti resampler
Change-Id: Ib657aa12b2a72323564148c302ff8891e1bb7433
AudioMixer: Extend use of QTI resampler for 44.1Khz sampling rate
Change-Id: I2a819dbc9f1e3e280cb4fa79328e331883a3e981
AudioMixer: fill 0s at right place when no more buffers available
Change-Id: I50504c5a02eb0c69abfc9b047792b0f6f85b9ce8
audioflinger: add channel count check to use QTI resampler
Change-Id: I8f76dd82b72a0dd8b77343e77e0d0545e1be2114
Change-Id: Ia8f24a0874ebf6e16ef7bd1f2759a14f47149875
|
| |
| |
| |
| |
| |
| | |
- add support for effects on direct pcm output
Change-Id: I2fbac63c623bf51a03e5e91828369739d33329f3
|
| |
| |
| |
| |
| |
| | |
allow effects in case outout is direct pcm
Change-Id: I2ad7eacf11642a4ca9f892b61124293d0dc503a9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Playback of 24 bit 192kHz clips fails during device switch
between wired headset and BT when repeat track is enabled.
- Memory allocation for AudioTrack fails because the heap gets
fragmented and free chunks of the size requested are not available.
- Increase the current heap size to 2MB to ensure that there is
always a free chunk to accommodate the requested size.
CRs-Fixed: 855910
Change-Id: I2eb18b15557fa264fb66ff282746cad4e6c718f7
|
| |
| |
| |
| |
| |
| |
| | |
-dumpsys logs show unknown format for PCM offload playback.
-Add PCM offloading formats for logging.
Change-Id: I4dbb8721c7e1d1f9d51bb1f964648046e7c09875
|
| |
| |
| |
| |
| |
| |
| |
| | |
Effect command doesn't necessarily fill cmd return code into &cmdStatus,
so we should initialize cmdStatus to avoid uninitialized value propagates
to upper stack caller.
Change-Id: I5694616c9d3d66071241958f54a03b8d3b9d881e
|
| |
| |
| |
| |
| |
| |
| | |
-Offload track invalidation is needed during SSR
to switch from Offload to deep buffer playback.
Change-Id: I728cfcadc8cd734914b94000a711d1e86bcfad9d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This increase is needed to accommodate higher sampling rate clip
playback over devices like BT and to support gapless playback with
larger buffer sizes. In both cases, the cblk memory allocated for a track
can be high enough that a new allocation (either due to restoreTrack_l or
opening a new track) can fail.
Change-Id: I96f674706184f029259802d5552f5ceeebc689c1
CRs-Fixed: 768106
|
|/
|
|
|
|
|
|
|
|
|
| |
-Clear effect buffers in threadloop_mix() in case audio
effects enabled when output threads are not ready
-Also clear mix buffers in threadLoop_sleepTime()when tracks
are not ready
CRs-Fixed: 765749
Change-Id: I475d42ac0cc68e4856002a9bd4c6c256a6fca70c
|
|
|
|
|
|
|
| |
If no data, should return 0 frame count and NULL ptr.
Bug: 23293002
Change-Id: Ib5364e5bceb15c2dddc4a16e85299b409cf4e137
|
|
|
|
|
|
|
|
|
|
|
| |
Add a bit to tell the HAL that the PCM data is really encoded audio
wrapped in a data burst.
Otherwise the device may try to play the encoded data directly
which will sound like modulated white noise.
Bug: 22576112
Change-Id: Ib140da96876e849023858fe2510612310501d1ee
Signed-off-by: Phil Burk <philburk@google.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
and small buffer size. Also:
Pull out the magic number "12 ms" to a named constant.
Remove obsolete AudioFlinger::mPrimaryOutputSampleRate.
Bug: 22662814
Change-Id: I261f75a222c4505a84aad2493d251bd2dea59f68
|
|/
|
|
|
| |
Bug: 22173057
Change-Id: I8f5056ff5a1252c71a3d3b354440551bcd9fd466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The AudioFlinger kept pausing the audio when playing compressed AC3 or DTS.
This caused pause/resume loops that were hard to break out of.
The AudioFlinger was thinking that the compressed audio was PCM
because the HAL was in PCM mode playing SPDIF data bursts.
It also thought that EAC3 was at 192000 Hz instead of 48000
Hz because the data bursts are played at a higher rate.
This CL adds more calls to the shim that separates the AudioFlinger.
Now the AudioFlinger gets information about the HAL sample rate,
channel masks and format from the shim instead of calling the HAL directly.
The AudioFlinger now uses a different threshold for detecting
underruns when the audio is compressed.
Bug: 19938315
Bug: 20891646
Change-Id: Ib16f539346d1c7a273ea4feb3d3afcc3dc60237d
Signed-off-by: Phil Burk <philburk@google.com>
|
|\
| |
| |
| | |
mnc-dev
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Send flush command to the audio HAL when transtioning to
next track on direct output thread, even if both tracks are in the
same audio session.
Commit 43b4dcc to fix issue 21145353 did only flush the HAL if the
audio session was different for the new track because the logic was
copied from the offload thread.
Bug: 22019044.
Change-Id: I89b217580023ed7449a58e9bf3dc068ce7a84487
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- audio policy:
Force device change to ensure new audio patch creation
upon first track activity on a given output.
Fix function device_distinguishes_on_address() which could mistake
some output device with remote submix input device.
- audio flinger:
Reduce number of binder calls upon new client registration by only
sending ioConfigChanged() callbacks to newly registered client.
Fix first patch after output thread creation not triggering an
ioConfigChanged() callback.
-audio system:
Force client registration upon routing callback installation to force
new ioConfigChanged() callback from audio flinger.
Bug: 22381136.
Change-Id: Ieb0d9f92f563a40552eb31bc0499c8ac65f78ce4
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The HAL does not reset the frame position on standby().
But applications expect the frame position to be reset.
So we subtract the position at standby from the current position.
Bug: 21724210
Bug: 21930805
Change-Id: I0c4520ba1c6c06a580f45f6bafc8cf1d56969f07
Signed-off-by: Phil Burk <philburk@google.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PatchPanel::clearPatchConnections deletes PatchRecord before
the peer PatchTrack is stopped. This can cause an access to already
free'ed memory leading to a crash in PatchTrack::getNextBuffer.
Fix is to delete PatchRecord and PatchTrack only after removing
both of them from active tracks list
Bug: 22304526.
Change-Id: I7003756d3d2dd8912ce5e3b2fc31f5e82f455888
|
|/
|
|
|
| |
Bug: 22068684.
Change-Id: Idde0eaf7121d2e43f32eee3e6b10e99d8cff4912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce the number of audio port, audio patch and
IO config changed binder calls from mediaserver to
client processes:
- Do not call IO config changed callback if selected
device is the same as previously selected one on a given
audio flinger playback or capture thread.
- Do not call the audio port or audo patch list update
callback on a client if this client as no listener registered.
Bug: 22045560.
Change-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423
|
|\
| |
| |
| | |
into mnc-dev
|
| |
| |
| |
| |
| |
| |
| | |
Centralized validation code
bug: 20701446
Change-Id: I9d9941c7639c05b2afe069ff4f858c693c910bfe
|