Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AC4Tbl params for dolby AC4 decoder [1/2] #5

Open
wants to merge 60 commits into
base: fifteen
Choose a base branch
from

Conversation

SharmagRit
Copy link

No description provided.

minaripenguin and others added 30 commits October 12, 2024 13:44
test: manual sound engine effects tests

Signed-off-by: minaripenguin <[email protected]>
FUXI-9082

Clear the entire chain input buffer as chain channel mask may
revert to stereo when the last spatialized track is removed,
and stale data may be read during drain.

Bug: 311519132
Change-Id: I970352d039dcdc40232fd484e98af149025815fa
Signed-off-by: laijun <[email protected]>
Signed-off-by: Pranav Vashi <[email protected]>
Sometimes when two client create a effect with the same session id,they will share the same effect BundledContext.
If the two client release effect, the bundledContext will be release twice, which will cause crash.
If one client is using the effect , the other client release the effect , also will cause crash.

To avoid process crash, add reference count when effect create and release.

Bug: 272310212
Test: vts VtsHalAudioEffectV7_0TargetTest
Change-Id: I1d097dd5d2801fa3879c1ec4d099047700f0f841
Signed-off-by: Pranav Vashi <[email protected]>
If moveEffects faild and selected output is duplicating,
return AUDIO_IO_HANDLE_NONE to audioflinger for create
effect.

test: open duplicating output and create AudioEffect from
      java api

Change-Id: I2e6a98cb5a4626f57fa7e486185c79e77e99398c
Signed-off-by: Pranav Vashi <[email protected]>
Clear and resize EQ biquad only after channel count has been changed

Bug: 301182515
Test: play music and switch effect UI/Spatial audio UI
Change-Id: I22ee07c6ce3e03cbbe410c7186ebacdc888c2bda
Signed-off-by: Pranav Vashi <[email protected]>
 This fixes an issue where video initially loop when played
 in Сhrome-like browsers and a connected BT audio device.

Change-Id: I2b5b37131a8df76159b39f44a38abbb8c1003362
Signed-off-by: Pranav Vashi <[email protected]>
… and arm64. And reduce the number of CPU instructions, optimize CPU load, and reduce power consumption.

Involving audio thread: AudioOut/FastMixer, etc.

It also has certain benefits for the audio frame loss problem of ultra-low-latency playback.

Wangzherongyao background sound reduced yield:
  Mcycles: 10.12%, Gcycles/s: 9.92%
TikTok live song request reduced yield:
  Mcycles: 10.02%, Gcycles/s: 9.90%
Power consumption reduced by 5-7mA (pure audio scenario).

Test: atest AudioMixer
Bug: 363949957

Change-Id: Icc39fd1333cbe45e81df04d3465ff24b094a597a
Signed-off-by: guonaichao <[email protected]>
Signed-off-by: minaripenguin <[email protected]>
Bug; 329395147
Test: manual

Regression introduced by checking on assigned io rather
than boolean addedToHAL. Device effects may not be assigned to
an io, hence they are never added to HAL.
This CL fixes by adding a dummy io from device effect callback.

Change-Id: I711f288b11fc303b3c428c64c4a8a687afde5872
Signed-off-by: François Gaffie <[email protected]>
Signed-off-by: Pranav Vashi <[email protected]>
Because of global effect, offload start failed. After playing in
deepbuffer Output, offload start track failed because return by the
function, isNonOffloadableGlobalEffectEnabled_l. So, delete the code, to
fix the cts case.
Test: CtsMediaAudioTestCases.android.media.audio.cts.AudioTrackOffloadTest
Bug: 313024794

Change-Id: If7c6eac3bdfccf7c86c79e5787fd1e23b715bf10
Signed-off-by: Pranav Vashi <[email protected]>
This prevents Dolby Atmos from turning off automatically.

Change-Id: Ib9f2e23689e5ef1d6999539bd0a12ea19069b1bc
- Add support for receiving dataCallback with fd/buffer as frame buffer

CRs-fixed: 654901
Change-Id: I5c16e560f1e209a6ab4afa4f3437602b02992b9b
- Avoid waiting on results once flush is completed
- Help improve camera switch KPI

CRs-Fixed: 2525025
Change-Id: I0db7877b6582c281a178035d4c202a5bd6aaaca8
- The cacheDump() call was added for better debugging by always
  dumping the state of the last camera session. Since LT/VT chipsets
  it is adding significant delay during camera close. Hence we are
  removing cachedump call during disconnect.
  https://partnerissuetracker.corp.google.com/issues/237992867

CRs-Fixed: 3228616
Change-Id: Ibba2a51f08c592bf15b046642101e11d890ed248
 * Values end up NULL on some drivers, don't crash.

Change-Id: Ic897dbd4629cf3af98c85f93be202c382dde806b
Change-Id: Iba95bf2450be20f85c1e5db81ee5d1b950d6d497
Let conflicting camera devices list be empty and let the camera hal manage it.
Old camera hals mark camera device as conflicting if the new camera device is opened.
Fixes dual video camera mode for old devices

Change-Id: I2043dee762ddcef96432e440cc6017181950a4c3
Signed-off-by: Lostark13 <[email protected]>
In the event of a binder death, there is a chance of deadlock
due to recursive lock acquisition in the death handling sequence.
Fix:
Clear evicted client list before acquiring service lock.

Change-Id: I6fc5fa6e01c002bc46be058fcd977be14cae0270
Issue: In mcx usecase, jpeg buffer buffer size mismatch is seen after
        enabling jpeg debug data.
Fix: 1) Added vendor tag to expose jpeg debug data to framework.
     2) Framework will read the jpeg debug data size vendor tag
         and do the proper jpeg buffer size calculation

CRs-Fixed: 3164469
External Impact: None
Change-Id: I5d504a813a135150f5f187faf893dc317f97fb96
* OEMs like OnePlus and Nothing detect camera package name to unlock features like 48mp.

[PA Edit: Make this generic by defining the package
 name rather than the OEM]

Change-Id: Ic0b537820ef1874647911379bcf142f0768a7a76
Co-Authored-By: Jake Weinstein <[email protected]>
Signed-off-by: cjh1249131356 <[email protected]>
Directly set camera package name by using OnePlusCameraProvider service.
Fixes build-time linking error when utilizing TARGET_CAMERA_NEEDS_CLIENT_INFO_LIB build flags to support MIUI and OnePlus prebuilt camera apks
Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
Time stamp manipulation is needed to support HFR-60
since timePerFrame and timePerCapture are different.
Made changes for the same.

CRs-Fixed: 2105921
Change-Id: I0a23423ad980f70ed4ac3ada99c56e49033150dc
Below changes are squashed with this change.

Stagefright: Allow setting high-framerates in CameraSource
ChangeId: If66211dd81b2a08d4df4c6f23e87304e9e7013f4

Stagefright: Allow setting of high-framerates in CameraSource for HSR
ChangeId: I30cb3b656570de1b615d55c20c0b4f98ae6e0c12

Stagefright: Create CameraSource for HSR
ChangeId: I7f420f5b15fb3c05bb7f918430ca9b7a630ed18e

Stagefright: Do not skip frames in time-lapse-source for high-speed
ChangeId: I8420e44ab96484f0d6301c366a24eefc8efeaf0f

media : Changing time stamp manipulation in HFR recording.
ChangeId: I98cdb14bb2b9c86013df9b2c8f2e558f184b633e

media: Modify timestamps for HFR use case
ChangeId: I3faf7294f743b1031ccc6624c3348f7e12b339b8

CRs-Fixed: 2226740
Change-Id: I079d880252992b94bd78ac43aed732f5000175d3
* Required by OnePlus / Oplus Camera.
* Unused by others.

Signed-off-by: cjh1249131356 <[email protected]>
kk48-park and others added 29 commits November 2, 2024 19:09
Status variables in the render thread were not initialized.
Therefore, it contained garbage values, resulting in the thread
termination and causing eglCreateWindowSurface to fail.

Bug:373830419
Google: 3311539
Change-Id: I3a33e8f20eae9474c725988988a5d9950c0b248b
This is needed to prevent a race condition with
the callbacks running after a close. MediaPlayerService instance
can go out of scope and callbacks from AudioTrack can lead to crash
in MediaPlayerService or NuPlayer.

Flag: EXEMPT bugfix
Bug: 183765091
Bug: 351695164
Test: see bug for validation
Google: 3308529
Change-Id: I48ebb5643b65eec8751c7bd345bc1266c4a98659
to 300 for CBR, 450 otherwise. This matches the setting in WebRTC [1]
(where this wrapper's settings are derived from) for CBR and prevents
overshoot in CTS tests that set a low (forced) key frame interval and
use VBR.

[1]: https://webrtc.googlesource.com/src/+/bd42ee87507e8b55a37ec89e7e659a249825f69a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc#289

Bug: 369325415
Test: (komodo) atest \
  MctsMediaCodecTestCases:android.media.codec.cts.VideoCodecTest#testBasic \
  -- \
  --module-arg MctsMediaCodecTestCases:instrumentation-arg:codec-prefix:=c2.android.av1.encoder

Google: 3305826
Change-Id: Id0dbeda7cfec33ef0fa438a7a2b0453c0c504961
By fixing checking logic of old sequence id this change ensures that
restoreTrack_l() will be called everytime obtainBuffer() DEAD_OBJECT
failure happened in case noone called restoreTrack_l() meanwhile.

Test: Manual
Bug: https://partnerissuetracker.corp.google.com/issues/373284824
Google: 3307138
Change-Id: Ie2a14156217d9cd35d69dc77066b8a9e371e84a4
…yInt()

The legacy routing strategy STRATEGY_PATCH is reserved for internal use
when creating software audio patches and should never be passed to
getDevicesForStrategyInt() to get an output device.
Fixed call sites where this should happen.
Did not getDevicesForStrategyInt() because this method is supposed to
always return a valid device.

Test: basic manual audio regression tests
Flag: EXEMPT, bug fix.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b0d986eaf3507b1f4e231d1ab11cc1901ae34cf5)
Google: 3304397
Merged-In: Ibd3998b461468bc52e0b23711a7aa97e621b1f5b
Change-Id: Ibd3998b461468bc52e0b23711a7aa97e621b1f5b
Bug: 364989775
Test: Treehugger

Google: 3288947
Change-Id: Id3e611817c2308ea7afb1fa9a1a35532220b52db
Flag: EXEMPT bugfix
Test: atest CtsMediaAudioTestCases
Bug: 364243966

Google: 3308070
Merged-In: Ia87be0b9240f3da3c06f38cae9b6039cf0a7246e
Change-Id: Ia87be0b9240f3da3c06f38cae9b6039cf0a7246e
A counter mismatch can prevent the restoreRecord_l() from being
called.

Test: atest AudioRecordTest
Test: launch camera app and start record
Test: for run in {1..10}; do (sleep 8; echo $run; adb shell pkill audioserver); done
Flag: EXEMPT bugfix
Bug: 374318264

Google: 3315157
Merged-In: I9693dfbf471bd8e041b477e8916db48922c48c57
Change-Id: I9693dfbf471bd8e041b477e8916db48922c48c57
Ensures proper handling of threads and mutex locks

Bug: 343793479
Test: atest MctsMediaV2TestCases
      atest MctsMediaDecoderTestCases
      atest MctsMediaCodecTestCases
      atest VtsHalMediaC2V1_0TargetVideoDecTest

Google: 3311541
Change-Id: I80a5d57b8942ac3a5d968de6df9e983191fa221d
This causes lifetime problems.

Flag: EXEMPT bugfix
Test: atest MediaPlayerTest
Bug: 351695164
Merged-In: I1f3dae49b4d612e6effafbbfd70ccc0c82f90642
Google: 3310702
Change-Id: I1f3dae49b4d612e6effafbbfd70ccc0c82f90642
Properly handle some AudioFlinger/AudioRecord bugs
…oder lib

[HELLBOY017]: Also allow to load dolby codec in MediaCodecList

Change-Id: I3b85c15889c9e3aef152e726a83936234103254e
Requires proprietary Dolby changes in libstagefright.

This partially reverts commit 01090fa125c2993654e18e024ddf7cef87bca30e.

Change-Id: Ifdf36ad253155e77ba14d0624612bf6be6711ca6
- Imported from Xiaomi Android 13 Changes

Change-Id: Ia7da9da19bfa10c64a82eb68eef3857a78e12469
Add changes to pick the right media xml's from vendor/etc
of the target based on target specific system property

CRs-Fixed: 2083569

[neobuddy89: Squashed similar commits]

Change-Id: I18d89821e765e8cd1b6003f99bc21dcd87a1458c
Signed-off-by: tejas101k <[email protected]>
* Some devices copy init.qti.media.rc or such qcom scripts which makes MediaProfiles
  to select platform specific xml without checking if that xml is present.
* Issue highlighted by [Electimon]

Change-Id: If1e27a77298fea75a4f1c22e49fa078b1b14c1d7
Signed-off-by: Pranav Vashi <[email protected]>
Signed-off-by: tejas101k <[email protected]>
c2.android.avc.encoder advertised support for bitrate upto 4mbps in
slow-cpu case, but for level 3 (that is required by CDD), 10mbps is
required.

Bug: 357645122
Test: atest MctsMediaV2TestCases:EncoderProfileLevelTest

Change-Id: Id76d6cba61247f430898d12368a0d337ed874d92
* fixes vtservice cpu hogging

Change-Id: Ief25e83c5b4d40e56da8487eef52574a969af9ca
Signed-off-by: minaripenguin <[email protected]>
 * Remove unnecessary check condition.

Change-Id: Ia5055195f1a74cdba96ad0b7598da321c25fe27c
Signed-off-by: Pranav Vashi <[email protected]>
* Give freedom to screen recorder apps

Change-Id: I726bde4f44bba6fc8cd771ae90c8864b26cdd919
Signed-off-by: Pranav Vashi <[email protected]>
issue tracker id b/222071096
not to send csd with size 0

Test:
Thumbnail preview OK
MMP playback OK

Bug: 222071096
Change-Id: I09e84a4b4d6b37948268225fc7d1fdced75e05f8
We need to use this from SystemUI which runs under app uid.
Instead check for MODIFY_AUDIO_ROUTING permission which is granted only
to select system apps (including SystemUI) and also matches the API
@RequiresPermission annotation in framework.

Change-Id: Ib78565c15cbdc8619bf94240a2329e97fd40c6a9
Signed-off-by: Pranav Vashi <[email protected]>
Squashed:

    From: someone5678 <[email protected]>
    Date: Wed, 20 Mar 2024 11:10:40 +0900
    Subject: [PATCH] fixup! av: support per-app volume [1/3]

    Change-Id: I669bacfb8ee4a7a60c15a8dac4c487e2eccc94c6

Change-Id: I12b203964821c654bd4a34a988f54d453815d548
Signed-off-by: cjybyjk <[email protected]>
Signed-off-by: Pranav Vashi <[email protected]>
SystemUI needs to call these but it runs under app UID.
It's not really necessary anyway since the framework API requires
MODIFY_AUDIO_ROUTING permission which is granted only to system apps.

Change-Id: Iecfd17207d8651846a919b33c39bdc2d7eb434ec
Signed-off-by: Pranav Vashi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.