Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c37cb40 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12378824 from b6620eaf to 24Q4-release

Change-Id: I9ec2c963487af38c3125419694b8b87c4a85e449
parents a58b7f39 b6620eaf
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -125,14 +125,6 @@ flag {
    }
}

flag {
    namespace: "camera_platform"
    name: "concert_mode_api"
    description: "Covers the eyes free videography public facing API"
    bug: "297083874"
}


flag {
    namespace: "camera_platform"
    name: "cache_permission_services"
+0 −3
Original line number Diff line number Diff line
@@ -91,7 +91,6 @@ typedef enum acamera_metadata_section {
    ACAMERA_AUTOMOTIVE_LENS,
    ACAMERA_EXTENSION,
    ACAMERA_JPEGR,
    ACAMERA_EFV,
    ACAMERA_SECTION_COUNT,
    ACAMERA_VENDOR = 0x8000
@@ -139,7 +138,6 @@ typedef enum acamera_metadata_section_start {
    ACAMERA_AUTOMOTIVE_LENS_START  = ACAMERA_AUTOMOTIVE_LENS   << 16,
    ACAMERA_EXTENSION_START        = ACAMERA_EXTENSION         << 16,
    ACAMERA_JPEGR_START            = ACAMERA_JPEGR             << 16,
    ACAMERA_EFV_START              = ACAMERA_EFV               << 16,
    ACAMERA_VENDOR_START           = ACAMERA_VENDOR            << 16
} acamera_metadata_section_start_t;
@@ -11573,7 +11571,6 @@ typedef enum acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configu
__END_DECLS
#endif /* _NDK_CAMERA_METADATA_TAGS_H */
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ cc_library {
        "framework-permission-aidl-cpp",
        "libbinder",
        "libmediametrics",
        "libmediautils",
        "spatializer-aidl-cpp",
    ],

+22 −20
Original line number Diff line number Diff line
@@ -38,12 +38,12 @@ void TrackPlayerBase::init(const sp<AudioTrack>& pat,
                           player_type_t playerType, audio_usage_t usage,
                           audio_session_t sessionId) {
    PlayerBase::init(playerType, usage, sessionId);
    mAudioTrack = pat;
    if (mAudioTrack != 0) {
    mAudioTrack.store(pat);
    if (pat != 0) {
        mCallbackHandle = callback;
        mSelfAudioDeviceCallback = new SelfAudioDeviceCallback(*this);
        mAudioTrack->addAudioDeviceCallback(mSelfAudioDeviceCallback);
        mAudioTrack->setPlayerIId(mPIId); // set in PlayerBase::init().
        pat->addAudioDeviceCallback(mSelfAudioDeviceCallback);
        pat->setPlayerIId(mPIId);  // set in PlayerBase::init().
    }
}

@@ -65,12 +65,15 @@ void TrackPlayerBase::SelfAudioDeviceCallback::onAudioDeviceUpdate(audio_io_hand
}

void TrackPlayerBase::doDestroy() {
    if (mAudioTrack != 0) {
        mAudioTrack->stop();
        mAudioTrack->removeAudioDeviceCallback(mSelfAudioDeviceCallback);
        mSelfAudioDeviceCallback.clear();
    sp<AudioTrack> audioTrack = getAudioTrack();

    // Note that there may still be another reference in post-unlock phase of SetPlayState
        mAudioTrack.clear();
    clearAudioTrack();

    if (audioTrack != 0) {
        audioTrack->stop();
        audioTrack->removeAudioDeviceCallback(mSelfAudioDeviceCallback);
        mSelfAudioDeviceCallback.clear();
    }
}

@@ -87,16 +90,16 @@ void TrackPlayerBase::setPlayerVolume(float vl, float vr) {
// Implementation of IPlayer
status_t TrackPlayerBase::playerStart() {
    status_t status = NO_INIT;
    if (mAudioTrack != 0) {
        status = mAudioTrack->start();
    if (sp<AudioTrack> audioTrack = getAudioTrack(); audioTrack != 0) {
        status = audioTrack->start();
    }
    return status;
}

status_t TrackPlayerBase::playerPause() {
    status_t status = NO_INIT;
    if (mAudioTrack != 0) {
        mAudioTrack->pause();
    if (sp<AudioTrack> audioTrack = getAudioTrack(); audioTrack != 0) {
        audioTrack->pause();
        status = NO_ERROR;
    }
    return status;
@@ -105,8 +108,8 @@ status_t TrackPlayerBase::playerPause() {

status_t TrackPlayerBase::playerStop() {
    status_t status = NO_INIT;
    if (mAudioTrack != 0) {
        mAudioTrack->stop();
    if (sp<AudioTrack> audioTrack = getAudioTrack(); audioTrack != 0) {
        audioTrack->stop();
        status = NO_ERROR;
    }
    return status;
@@ -118,10 +121,10 @@ status_t TrackPlayerBase::playerSetVolume() {

status_t TrackPlayerBase::doSetVolume() {
    status_t status = NO_INIT;
    if (mAudioTrack != 0) {
    if (sp<AudioTrack> audioTrack = getAudioTrack(); audioTrack != 0) {
        float tl = mPlayerVolumeL * mPanMultiplierL * mVolumeMultiplierL;
        float tr = mPlayerVolumeR * mPanMultiplierR * mVolumeMultiplierR;
        mAudioTrack->setVolume(tl, tr);
        audioTrack->setVolume(tl, tr);
        status = NO_ERROR;
    }
    return status;
@@ -140,10 +143,9 @@ binder::Status TrackPlayerBase::applyVolumeShaper(
    if (s != OK) {
        return binderStatusFromStatusT(s);
    }

    if (mAudioTrack != 0) {
    if (sp<AudioTrack> audioTrack = getAudioTrack(); audioTrack != 0) {
        ALOGD("TrackPlayerBase::applyVolumeShaper() from IPlayer");
        VolumeShaper::Status status = mAudioTrack->applyVolumeShaper(spConfiguration, spOperation);
        VolumeShaper::Status status = audioTrack->applyVolumeShaper(spConfiguration, spOperation);
        if (status < 0) { // a non-negative value is the volume shaper id.
            ALOGE("TrackPlayerBase::applyVolumeShaper() failed with status %d", status);
        }
+6 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@

#include <media/AudioTrack.h>
#include <media/PlayerBase.h>
#include <mediautils/Synchronization.h>

namespace android {

@@ -37,8 +38,9 @@ public:
            const media::VolumeShaperConfiguration& configuration,
            const media::VolumeShaperOperation& operation);

    //FIXME move to protected field, so far made public to minimize changes to AudioTrack logic
    sp<AudioTrack> mAudioTrack;
    sp<AudioTrack> getAudioTrack() { return mAudioTrack.load(); }

    void clearAudioTrack() { mAudioTrack.store(nullptr); }

    void setPlayerVolume(float vl, float vr);

@@ -68,6 +70,7 @@ private:
    float mPlayerVolumeL, mPlayerVolumeR;
    sp<AudioTrack::IAudioTrackCallback> mCallbackHandle;
    sp<SelfAudioDeviceCallback> mSelfAudioDeviceCallback;
    mediautils::atomic_sp<AudioTrack> mAudioTrack;
};

} // namespace android
Loading