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

Commit 8ee003d8 authored by Ajender Reddy's avatar Ajender Reddy
Browse files

AudioRecord: add set/get Parameters API's

The metadata related to compress formats would be necessary
for the Audio HAL in case of encoding.
Thereby, Encoded Record uses the DIRECT flag.

To communicate the metadata info for the compress format,
set/get parameters are introduced.

Bug: 245550345

Test: m

Change-Id: I3777009089de111cd803f09eeb5ca914b923fe44
parent 7a6f79bc
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -1222,6 +1222,21 @@ audio_io_handle_t AudioRecord::getInputPrivate() const
    return mInput;
}

status_t AudioRecord::setParameters(const String8& keyValuePairs) {
    AutoMutex lock(mLock);
    if (mInput == AUDIO_IO_HANDLE_NONE || mAudioRecord == nullptr) {
        return NO_INIT;
    }
    return statusTFromBinderStatus(mAudioRecord->setParameters(keyValuePairs.c_str()));
}

String8 AudioRecord::getParameters(const String8& keys) {
    AutoMutex lock(mLock);
    return mInput != AUDIO_IO_HANDLE_NONE
               ? AudioSystem::getParameters(mInput, keys)
               : String8();
}

// -------------------------------------------------------------------------

ssize_t AudioRecord::read(void* buffer, size_t userSize, bool blocking)
+6 −0
Original line number Diff line number Diff line
@@ -589,6 +589,12 @@ public:
    /* Get the flags */
            audio_input_flags_t getFlags() const { AutoMutex _l(mLock); return mFlags; }

    /* Set parameters */
            status_t    setParameters(const String8& keyValuePairs);

    /* Get parameters */
            String8     getParameters(const String8& keys);

    /* Get active microphones. A empty vector of MicrophoneInfoFw will be passed as a parameter,
     * the data will be filled when querying the hal.
     */