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

Commit 4379c034 authored by Glenn Kasten's avatar Glenn Kasten Committed by Android (Google) Code Review
Browse files

Merge "Fix tee sink" into lmp-dev

parents dc2e6ddc ba0b34c1
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -2803,6 +2803,7 @@ AudioFlinger::MixerThread::MixerThread(const sp<AudioFlinger>& audioFlinger, Aud


        // create a MonoPipe to connect our submix to FastMixer
        // create a MonoPipe to connect our submix to FastMixer
        NBAIO_Format format = mOutputSink->format();
        NBAIO_Format format = mOutputSink->format();
        NBAIO_Format origformat = format;
        // adjust format to match that of the Fast Mixer
        // adjust format to match that of the Fast Mixer
        format.mFormat = fastMixerFormat;
        format.mFormat = fastMixerFormat;
        format.mFrameSize = audio_bytes_per_sample(format.mFormat) * format.mChannelCount;
        format.mFrameSize = audio_bytes_per_sample(format.mFormat) * format.mChannelCount;
@@ -2822,14 +2823,15 @@ AudioFlinger::MixerThread::MixerThread(const sp<AudioFlinger>& audioFlinger, Aud
#ifdef TEE_SINK
#ifdef TEE_SINK
        if (mTeeSinkOutputEnabled) {
        if (mTeeSinkOutputEnabled) {
            // create a Pipe to archive a copy of FastMixer's output for dumpsys
            // create a Pipe to archive a copy of FastMixer's output for dumpsys
            Pipe *teeSink = new Pipe(mTeeSinkOutputFrames, format);
            Pipe *teeSink = new Pipe(mTeeSinkOutputFrames, origformat);
            const NBAIO_Format offers2[1] = {origformat};
            numCounterOffers = 0;
            numCounterOffers = 0;
            index = teeSink->negotiate(offers, 1, NULL, numCounterOffers);
            index = teeSink->negotiate(offers2, 1, NULL, numCounterOffers);
            ALOG_ASSERT(index == 0);
            ALOG_ASSERT(index == 0);
            mTeeSink = teeSink;
            mTeeSink = teeSink;
            PipeReader *teeSource = new PipeReader(*teeSink);
            PipeReader *teeSource = new PipeReader(*teeSink);
            numCounterOffers = 0;
            numCounterOffers = 0;
            index = teeSource->negotiate(offers, 1, NULL, numCounterOffers);
            index = teeSource->negotiate(offers2, 1, NULL, numCounterOffers);
            ALOG_ASSERT(index == 0);
            ALOG_ASSERT(index == 0);
            mTeeSource = teeSource;
            mTeeSource = teeSource;
        }
        }