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

Commit d1273621 authored by Wonsik Kim's avatar Wonsik Kim Committed by android-build-merger
Browse files

Merge "C2SoftOpusEnc: Fix higher bitrate encoding at lower sample rates" into qt-dev

am: 8581d92e

Change-Id: I1724c202a69755ab65f10b4ff695e581d95184eb
parents f4f4ab38 8581d92e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -471,11 +471,11 @@ void C2SoftOpusEnc::process(const std::unique_ptr<C2Work>& work,
        uint8_t* outPtr = wView.data() + mBytesEncoded;
        int encodedBytes =
            opus_multistream_encode(mEncoder, mInputBufferPcm16,
                                    mNumSamplesPerFrame, outPtr, kMaxPayload);
                                    mNumSamplesPerFrame, outPtr, kMaxPayload - mBytesEncoded);
        ALOGV("encoded %i Opus bytes from %zu PCM bytes", encodedBytes,
              processSize);

        if (encodedBytes < 0 || encodedBytes > kMaxPayload) {
        if (encodedBytes < 0 || encodedBytes > (kMaxPayload - mBytesEncoded)) {
            ALOGE("opus_encode failed, encodedBytes : %d", encodedBytes);
            mSignalledError = true;
            work->result = C2_CORRUPTED;
+3 −1
Original line number Diff line number Diff line
@@ -47,7 +47,9 @@ struct C2SoftOpusEnc : public SimpleC2Component {
private:
    /* OPUS_FRAMESIZE_20_MS */
    const int kFrameSize = 960;
    const int kMaxPayload = 4000;
    const int kMaxSampleRate = 48000;
    const int kMinSampleRate = 8000;
    const int kMaxPayload = (4000 * kMaxSampleRate) / kMinSampleRate;
    const int kMaxNumChannels = 8;

    std::shared_ptr<IntfImpl> mIntf;