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

Commit 2cb58cb4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "aaudio: fix EXCLUSIVE mode interfering with SHARED" into oc-mr1-dev

parents 6ec6a109 39f02ddf
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ status_t AAudioStreamConfiguration::writeToParcel(Parcel* parcel) const {
    if (status != NO_ERROR) goto error;
    status = parcel->writeInt32((int32_t) getFormat());
    if (status != NO_ERROR) goto error;
    status = parcel->writeInt32((int32_t) getDirection());
    if (status != NO_ERROR) goto error;
    status = parcel->writeInt32(getBufferCapacity());
    if (status != NO_ERROR) goto error;
    return NO_ERROR;
@@ -73,6 +75,9 @@ status_t AAudioStreamConfiguration::readFromParcel(const Parcel* parcel) {
    setFormat(value);
    status = parcel->readInt32(&value);
    if (status != NO_ERROR) goto error;
    setDirection((aaudio_direction_t) value);
    status = parcel->readInt32(&value);
    if (status != NO_ERROR) goto error;
    setBufferCapacity(value);
    return NO_ERROR;
error:
+0 −8
Original line number Diff line number Diff line
@@ -46,9 +46,6 @@ status_t AAudioStreamRequest::writeToParcel(Parcel* parcel) const {
    status_t status = parcel->writeInt32((int32_t) mUserId);
    if (status != NO_ERROR) goto error;

    status = parcel->writeInt32((int32_t) mDirection);
    if (status != NO_ERROR) goto error;

    status = parcel->writeBool(mSharingModeMatchRequired);
    if (status != NO_ERROR) goto error;

@@ -71,10 +68,6 @@ status_t AAudioStreamRequest::readFromParcel(const Parcel* parcel) {
    if (status != NO_ERROR) goto error;
    mUserId = (uid_t) temp;

    status = parcel->readInt32(&temp);
    if (status != NO_ERROR) goto error;
    mDirection = (aaudio_direction_t) temp;

    status = parcel->readBool(&mSharingModeMatchRequired);
    if (status != NO_ERROR) goto error;

@@ -98,7 +91,6 @@ aaudio_result_t AAudioStreamRequest::validate() const {
void AAudioStreamRequest::dump() const {
    ALOGD("AAudioStreamRequest mUserId    = %d", mUserId);
    ALOGD("AAudioStreamRequest mProcessId = %d", mProcessId);
    ALOGD("AAudioStreamRequest mDirection = %d", mDirection);
    ALOGD("AAudioStreamRequest mSharingModeMatchRequired = %d", mSharingModeMatchRequired);
    ALOGD("AAudioStreamRequest mInService = %d", mInService);
    mConfiguration.dump();
+2 −11
Original line number Diff line number Diff line
@@ -52,14 +52,6 @@ public:
        mProcessId = processId;
    }

    aaudio_direction_t getDirection() const {
        return mDirection;
    }

    void setDirection(aaudio_direction_t direction) {
        mDirection = direction;
    }

    bool isSharingModeMatchRequired() const {
        return mSharingModeMatchRequired;
    }
@@ -94,9 +86,8 @@ public:

protected:
    AAudioStreamConfiguration  mConfiguration;
    uid_t                      mUserId;
    pid_t                      mProcessId;
    aaudio_direction_t         mDirection;
    uid_t                      mUserId = (uid_t) -1;
    pid_t                      mProcessId = (pid_t) -1;
    bool                       mSharingModeMatchRequired = false;
    bool                       mInService = false; // Stream opened by AAudioservice
};
+2 −1
Original line number Diff line number Diff line
@@ -105,13 +105,13 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) {
    // Build the request to send to the server.
    request.setUserId(getuid());
    request.setProcessId(getpid());
    request.setDirection(getDirection());
    request.setSharingModeMatchRequired(isSharingModeMatchRequired());
    request.setInService(mInService);

    request.getConfiguration().setDeviceId(getDeviceId());
    request.getConfiguration().setSampleRate(getSampleRate());
    request.getConfiguration().setSamplesPerFrame(getSamplesPerFrame());
    request.getConfiguration().setDirection(getDirection());
    request.getConfiguration().setSharingMode(getSharingMode());

    request.getConfiguration().setBufferCapacity(builder.getBufferCapacity());
@@ -357,6 +357,7 @@ aaudio_result_t AudioStreamInternal::startClient(const android::AudioClient& cli
    if (mServiceStreamHandle == AAUDIO_HANDLE_INVALID) {
        return AAUDIO_ERROR_INVALID_STATE;
    }

    return mServiceInterface.startClient(mServiceStreamHandle, client, clientHandle);
}

+4 −0
Original line number Diff line number Diff line
@@ -93,6 +93,10 @@ public:

    aaudio_result_t stopClient(audio_port_handle_t clientHandle);

    aaudio_handle_t getServiceHandle() const {
        return mServiceStreamHandle;
    }

protected:

    aaudio_result_t processData(void *buffer,
Loading