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

Commit b8bff0c4 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Add IAudioManager method for releasing a recorder.

oneway releaseRecorder(int riid)
  - unregisters a client recorder

Bug: 123312504
Test: start and stop audio recording, check "dumpsys audio"
Change-Id: I894de434a0bfeaaca37601a406feda1c62e060c7
parent 46b45af9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ public:
        RELEASE_PLAYER                        = IBinder::FIRST_CALL_TRANSACTION + 3,
        TRACK_RECORDER                        = IBinder::FIRST_CALL_TRANSACTION + 4,
        RECORDER_EVENT                        = IBinder::FIRST_CALL_TRANSACTION + 5,
        RELEASE_RECORDER                      = IBinder::FIRST_CALL_TRANSACTION + 6,
    };

    DECLARE_META_INTERFACE(AudioManager)
@@ -52,6 +53,7 @@ public:
    /*oneway*/ virtual status_t releasePlayer(audio_unique_id_t piid) = 0;
    virtual audio_unique_id_t trackRecorder(const sp<IBinder>& recorder) = 0;
    /*oneway*/ virtual status_t recorderEvent(audio_unique_id_t riid, recorder_state_t event) = 0;
    /*oneway*/ virtual status_t releaseRecorder(audio_unique_id_t riid) = 0;
};

// ----------------------------------------------------------------------------
+7 −0
Original line number Diff line number Diff line
@@ -122,6 +122,13 @@ public:
        data.writeInt32((int32_t) event);
        return remote()->transact(RECORDER_EVENT, data, &reply, IBinder::FLAG_ONEWAY);
    }

    virtual status_t releaseRecorder(audio_unique_id_t riid) {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioManager::getInterfaceDescriptor());
        data.writeInt32((int32_t) riid);
        return remote()->transact(RELEASE_RECORDER, data, &reply, IBinder::FLAG_ONEWAY);
    }
};

IMPLEMENT_META_INTERFACE(AudioManager, "android.media.IAudioService");