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

Commit f1300d31 authored by Marco Nelissen's avatar Marco Nelissen Committed by Android Git Automerger
Browse files

am cdf96ffa: Merge "ulaw and alaw aren\'t limited to 8kHz"

* commit 'cdf96ffa':
  ulaw and alaw aren't limited to 8kHz
parents 76b54aa5 cdf96ffa
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -290,7 +290,7 @@ private:
            OMX_U32 portIndex, OMX_AUDIO_CODINGTYPE desiredFormat);

    status_t setupAMRCodec(bool encoder, bool isWAMR, int32_t bitRate);
    status_t setupG711Codec(bool encoder, int32_t numChannels);
    status_t setupG711Codec(bool encoder, int32_t sampleRate, int32_t numChannels);

    status_t setupFlacCodec(
            bool encoder, int32_t numChannels, int32_t sampleRate, int32_t compressionLevel);
+1 −1
Original line number Diff line number Diff line
@@ -250,7 +250,7 @@ private:

    status_t setAC3Format(int32_t numChannels, int32_t sampleRate);

    void setG711Format(int32_t numChannels);
    void setG711Format(int32_t sampleRate, int32_t numChannels);

    status_t setVideoPortFormatType(
            OMX_U32 portIndex,
+7 −3
Original line number Diff line number Diff line
@@ -1586,7 +1586,11 @@ status_t ACodec::configureCodec(
        if (!msg->findInt32("channel-count", &numChannels)) {
            err = INVALID_OPERATION;
        } else {
            err = setupG711Codec(encoder, numChannels);
            int32_t sampleRate;
            if (!msg->findInt32("sample-rate", &sampleRate)) {
                sampleRate = 8000;
            }
            err = setupG711Codec(encoder, sampleRate, numChannels);
        }
    } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_FLAC)) {
        int32_t numChannels, sampleRate, compressionLevel = -1;
@@ -2040,11 +2044,11 @@ status_t ACodec::setupAMRCodec(bool encoder, bool isWAMR, int32_t bitrate) {
            1 /* numChannels */);
}

status_t ACodec::setupG711Codec(bool encoder, int32_t numChannels) {
status_t ACodec::setupG711Codec(bool encoder, int32_t sampleRate, int32_t numChannels) {
    CHECK(!encoder);  // XXX TODO

    return setupRawAudioFormat(
            kPortIndexInput, 8000 /* sampleRate */, numChannels);
            kPortIndexInput, sampleRate, numChannels);
}

status_t ACodec::setupFlacCodec(
+7 −3
Original line number Diff line number Diff line
@@ -629,10 +629,14 @@ status_t OMXCodec::configureCodec(const sp<MetaData> &meta) {
        // These are PCM-like formats with a fixed sample rate but
        // a variable number of channels.

        int32_t sampleRate;
        int32_t numChannels;
        CHECK(meta->findInt32(kKeyChannelCount, &numChannels));
        if (!meta->findInt32(kKeySampleRate, &sampleRate)) {
            sampleRate = 8000;
        }

        setG711Format(numChannels);
        setG711Format(sampleRate, numChannels);
    } else if (!strcasecmp(MEDIA_MIMETYPE_AUDIO_RAW, mMIME)) {
        CHECK(!mIsEncoder);

@@ -3616,9 +3620,9 @@ status_t OMXCodec::setAC3Format(int32_t numChannels, int32_t sampleRate) {
            sizeof(def));
}

void OMXCodec::setG711Format(int32_t numChannels) {
void OMXCodec::setG711Format(int32_t sampleRate, int32_t numChannels) {
    CHECK(!mIsEncoder);
    setRawAudioFormat(kPortIndexInput, 8000, numChannels);
    setRawAudioFormat(kPortIndexInput, sampleRate, numChannels);
}

void OMXCodec::setImageOutputFormat(
+5 −2
Original line number Diff line number Diff line
@@ -41,8 +41,9 @@ SoftG711::SoftG711(
        OMX_COMPONENTTYPE **component)
    : SimpleSoftOMXComponent(name, callbacks, appData, component),
      mIsMLaw(true),
      mSignalledError(false),
      mNumChannels(1),
      mSignalledError(false) {
      mSamplingRate(8000) {
    if (!strcmp(name, "OMX.google.g711.alaw.decoder")) {
        mIsMLaw = false;
    } else {
@@ -129,7 +130,7 @@ OMX_ERRORTYPE SoftG711::internalGetParameter(
            pcmParams->eChannelMapping[1] = OMX_AUDIO_ChannelRF;

            pcmParams->nChannels = mNumChannels;
            pcmParams->nSamplingRate = 8000;
            pcmParams->nSamplingRate = mSamplingRate;

            return OMX_ErrorNone;
        }
@@ -159,6 +160,8 @@ OMX_ERRORTYPE SoftG711::internalSetParameter(
                mNumChannels = pcmParams->nChannels;
            }

            mSamplingRate = pcmParams->nSamplingRate;

            return OMX_ErrorNone;
        }

Loading