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

Commit 5b0135e4 authored by Glenn Kasten's avatar Glenn Kasten
Browse files

AudioStreamIn and AudioStreamOut

These are immutable, so make the fields const.
getOutput() and getInput() methods are now const.

Change-Id: I128246ebd56ea50b3e542be43f2aa1bcb55f1373
parent caaac348
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1808,7 +1808,7 @@ uint32_t AudioFlinger::PlaybackThread::getStrategyForSession_l(int sessionId)
}


AudioFlinger::AudioStreamOut* AudioFlinger::PlaybackThread::getOutput()
AudioFlinger::AudioStreamOut* AudioFlinger::PlaybackThread::getOutput() const
{
    Mutex::Autolock _l(mLock);
    return mOutput;
@@ -4897,7 +4897,7 @@ AudioFlinger::RecordThread::RecordTrack* AudioFlinger::RecordThread::track()
    return mTrack;
}

AudioFlinger::AudioStreamIn* AudioFlinger::RecordThread::getInput()
AudioFlinger::AudioStreamIn* AudioFlinger::RecordThread::getInput() const
{
    Mutex::Autolock _l(mLock);
    return mInput;
@@ -5045,6 +5045,7 @@ status_t AudioFlinger::closeOutput(int output)

    if (thread->type() != ThreadBase::DUPLICATING) {
        AudioStreamOut *out = thread->clearOutput();
        assert(out != NULL);
        // from now on thread->mOutput is NULL
        out->hwDev->close_output_stream(out->hwDev, out->stream);
        delete out;
@@ -5186,6 +5187,7 @@ status_t AudioFlinger::closeInput(int input)
    thread->exit();

    AudioStreamIn *in = thread->clearInput();
    assert(in != NULL);
    // from now on thread->mInput is NULL
    in->hwDev->close_input_stream(in->hwDev, in->stream);
    delete in;
+11 −7
Original line number Diff line number Diff line
@@ -727,7 +727,7 @@ private:
                                    int sessionId,
                                    status_t *status);

                    AudioStreamOut* getOutput();
                    AudioStreamOut* getOutput() const;
                    AudioStreamOut* clearOutput();
                    virtual audio_stream_t* stream();

@@ -994,7 +994,7 @@ private:
                status_t    start(RecordTrack* recordTrack);
                void        stop(RecordTrack* recordTrack);
                status_t    dump(int fd, const Vector<String16>& args);
                AudioStreamIn* getInput();
                AudioStreamIn* getInput() const;
                AudioStreamIn* clearInput();
                virtual audio_stream_t* stream();

@@ -1357,17 +1357,21 @@ mutable Mutex mLock; // mutex for process, commands and handl
        KeyedVector< int, sp<SuspendedEffectDesc> > mSuspendedEffects;
    };

    // AudioStreamOut and AudioStreamIn are immutable, so their fields are const.
    // For emphasis, we could also make all pointers to them be "const *",
    // but that would clutter the code unnecessarily.

    struct AudioStreamOut {
        audio_hw_device_t   *hwDev;
        audio_stream_out_t  *stream;
        audio_hw_device_t*  const hwDev;
        audio_stream_out_t* const stream;

        AudioStreamOut(audio_hw_device_t *dev, audio_stream_out_t *out) :
            hwDev(dev), stream(out) {}
    };

    struct AudioStreamIn {
        audio_hw_device_t   *hwDev;
        audio_stream_in_t   *stream;
        audio_hw_device_t* const hwDev;
        audio_stream_in_t* const stream;

        AudioStreamIn(audio_hw_device_t *dev, audio_stream_in_t *in) :
            hwDev(dev), stream(in) {}