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

Commit ac3e9db8 authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Add mFrameSize but do not remove mFrameBitShift yet

Change-Id: Icb1edefeb6a0e659503f6b7a92c9d15784df9865
parent 7a0662af
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -126,7 +126,8 @@ public:


protected:
protected:
    NBAIO_Port(const NBAIO_Format& format) : mNegotiated(false), mFormat(format),
    NBAIO_Port(const NBAIO_Format& format) : mNegotiated(false), mFormat(format),
                                             mBitShift(Format_frameBitShift(format)) { }
                                             mBitShift(Format_frameBitShift(format)),
                                             mFrameSize(Format_frameSize(format)) { }
    virtual ~NBAIO_Port() { }
    virtual ~NBAIO_Port() { }


    // Implementations are free to ignore these if they don't need them
    // Implementations are free to ignore these if they don't need them
@@ -134,6 +135,7 @@ protected:
    bool            mNegotiated;    // mNegotiated implies (mFormat != Format_Invalid)
    bool            mNegotiated;    // mNegotiated implies (mFormat != Format_Invalid)
    NBAIO_Format    mFormat;        // (mFormat != Format_Invalid) does not imply mNegotiated
    NBAIO_Format    mFormat;        // (mFormat != Format_Invalid) does not imply mNegotiated
    size_t          mBitShift;      // assign in parallel with any assignment to mFormat
    size_t          mBitShift;      // assign in parallel with any assignment to mFormat
    size_t          mFrameSize;     // assign in parallel with any assignment to mFormat
};
};


// Abstract class (interface) representing a non-blocking data sink, for use by a data provider.
// Abstract class (interface) representing a non-blocking data sink, for use by a data provider.
+1 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ public:
private:
private:
    const sp<NBAIO_Source> mSource;     // the wrapped source
    const sp<NBAIO_Source> mSource;     // the wrapped source
    /*const*/ size_t    mFrameBitShift; // log2(frame size in bytes)
    /*const*/ size_t    mFrameBitShift; // log2(frame size in bytes)
    /*const*/ size_t    mFrameSize; // frame size in bytes
    void*               mAllocated; // pointer to base of allocated memory
    void*               mAllocated; // pointer to base of allocated memory
    size_t              mSize;      // size of mAllocated in frames
    size_t              mSize;      // size of mAllocated in frames
    size_t              mOffset;    // frame offset within mAllocated of valid data
    size_t              mOffset;    // frame offset within mAllocated of valid data
+1 −0
Original line number Original line Diff line number Diff line
@@ -49,6 +49,7 @@ ssize_t AudioStreamInSource::negotiate(const NBAIO_Format offers[], size_t numOf
                    (audio_channel_mask_t) mStream->common.get_channels(&mStream->common);
                    (audio_channel_mask_t) mStream->common.get_channels(&mStream->common);
            mFormat = Format_from_SR_C(sampleRate, popcount(channelMask));
            mFormat = Format_from_SR_C(sampleRate, popcount(channelMask));
            mBitShift = Format_frameBitShift(mFormat);
            mBitShift = Format_frameBitShift(mFormat);
            mFrameSize = Format_frameSize(mFormat);
        }
        }
    }
    }
    return NBAIO_Source::negotiate(offers, numOffers, counterOffers, numCounterOffers);
    return NBAIO_Source::negotiate(offers, numOffers, counterOffers, numCounterOffers);
+1 −0
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ ssize_t AudioStreamOutSink::negotiate(const NBAIO_Format offers[], size_t numOff
                    (audio_channel_mask_t) mStream->common.get_channels(&mStream->common);
                    (audio_channel_mask_t) mStream->common.get_channels(&mStream->common);
            mFormat = Format_from_SR_C(sampleRate, popcount(channelMask));
            mFormat = Format_from_SR_C(sampleRate, popcount(channelMask));
            mBitShift = Format_frameBitShift(mFormat);
            mBitShift = Format_frameBitShift(mFormat);
            mFrameSize = Format_frameSize(mFormat);
        }
        }
    }
    }
    return NBAIO_Sink::negotiate(offers, numOffers, counterOffers, numCounterOffers);
    return NBAIO_Sink::negotiate(offers, numOffers, counterOffers, numCounterOffers);
+2 −1
Original line number Original line Diff line number Diff line
@@ -24,7 +24,7 @@ namespace android {


SourceAudioBufferProvider::SourceAudioBufferProvider(const sp<NBAIO_Source>& source) :
SourceAudioBufferProvider::SourceAudioBufferProvider(const sp<NBAIO_Source>& source) :
    mSource(source),
    mSource(source),
    // mFrameBitShiftFormat below
    // mFrameSize below
    mAllocated(NULL), mSize(0), mOffset(0), mRemaining(0), mGetCount(0), mFramesReleased(0)
    mAllocated(NULL), mSize(0), mOffset(0), mRemaining(0), mGetCount(0), mFramesReleased(0)
{
{
    ALOG_ASSERT(source != 0);
    ALOG_ASSERT(source != 0);
@@ -38,6 +38,7 @@ SourceAudioBufferProvider::SourceAudioBufferProvider(const sp<NBAIO_Source>& sou
    index = source->negotiate(counterOffers, 1, NULL, numCounterOffers);
    index = source->negotiate(counterOffers, 1, NULL, numCounterOffers);
    ALOG_ASSERT(index == 0);
    ALOG_ASSERT(index == 0);
    mFrameBitShift = Format_frameBitShift(source->format());
    mFrameBitShift = Format_frameBitShift(source->format());
    mFrameSize = Format_frameSize(source->format());
}
}


SourceAudioBufferProvider::~SourceAudioBufferProvider()
SourceAudioBufferProvider::~SourceAudioBufferProvider()