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

Commit e1879085 authored by Chia-chi Yeh's avatar Chia-chi Yeh Committed by Android Git Automerger
Browse files

am ae93f52e: Merge "RTP: remove froyo-compatible code." into gingerbread

Merge commit 'ae93f52e' into gingerbread-plus-aosp

* commit 'ae93f52e':
  RTP: remove froyo-compatible code.
parents 36beeca4 ae93f52e
Loading
Loading
Loading
Loading
+0 −74
Original line number Diff line number Diff line
@@ -526,70 +526,6 @@ AudioGroup::~AudioGroup()
    LOGD("group[%d] is dead", mDeviceSocket);
}

#define FROYO_COMPATIBLE
#ifdef FROYO_COMPATIBLE

// Copied from AudioRecord.cpp.
status_t AudioRecord_getMinFrameCount(
        int* frameCount,
        uint32_t sampleRate,
        int format,
        int channelCount)
{
    size_t size = 0;
    if (AudioSystem::getInputBufferSize(sampleRate, format, channelCount, &size)
            != NO_ERROR) {
        LOGE("AudioSystem could not query the input buffer size.");
        return NO_INIT;
    }

    if (size == 0) {
        LOGE("Unsupported configuration: sampleRate %d, format %d, channelCount %d",
            sampleRate, format, channelCount);
        return BAD_VALUE;
    }

    // We double the size of input buffer for ping pong use of record buffer.
    size <<= 1;

    if (AudioSystem::isLinearPCM(format)) {
        size /= channelCount * (format == AudioSystem::PCM_16_BIT ? 2 : 1);
    }

    *frameCount = size;
    return NO_ERROR;
}

// Copied from AudioTrack.cpp.
status_t AudioTrack_getMinFrameCount(
        int* frameCount,
        int streamType,
        uint32_t sampleRate)
{
    int afSampleRate;
    if (AudioSystem::getOutputSamplingRate(&afSampleRate, streamType) != NO_ERROR) {
        return NO_INIT;
    }
    int afFrameCount;
    if (AudioSystem::getOutputFrameCount(&afFrameCount, streamType) != NO_ERROR) {
        return NO_INIT;
    }
    uint32_t afLatency;
    if (AudioSystem::getOutputLatency(&afLatency, streamType) != NO_ERROR) {
        return NO_INIT;
    }

    // Ensure that buffer depth covers at least audio hardware latency
    uint32_t minBufCount = afLatency / ((1000 * afFrameCount) / afSampleRate);
    if (minBufCount < 2) minBufCount = 2;

    *frameCount = (sampleRate == 0) ? afFrameCount * minBufCount :
              afFrameCount * minBufCount * sampleRate / afSampleRate;
    return NO_ERROR;
}

#endif

bool AudioGroup::set(int sampleRate, int sampleCount)
{
    mEventQueue = epoll_create(2);
@@ -603,15 +539,6 @@ bool AudioGroup::set(int sampleRate, int sampleCount)
    // Find out the frame count for AudioTrack and AudioRecord.
    int output = 0;
    int input = 0;
#ifdef FROYO_COMPATIBLE
    if (AudioTrack_getMinFrameCount(&output, AudioSystem::VOICE_CALL,
        sampleRate) != NO_ERROR || output <= 0 ||
        AudioRecord_getMinFrameCount(&input, sampleRate,
        AudioSystem::PCM_16_BIT, 1) != NO_ERROR || input <= 0) {
        LOGE("cannot compute frame count");
        return false;
    }
#else
    if (AudioTrack::getMinFrameCount(&output, AudioSystem::VOICE_CALL,
        sampleRate) != NO_ERROR || output <= 0 ||
        AudioRecord::getMinFrameCount(&input, sampleRate,
@@ -619,7 +546,6 @@ bool AudioGroup::set(int sampleRate, int sampleCount)
        LOGE("cannot compute frame count");
        return false;
    }
#endif
    LOGD("reported frame count: output %d, input %d", output, input);

    output = (output + sampleCount - 1) / sampleCount * sampleCount;