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

Commit 9472b35b authored by Dave Sparks's avatar Dave Sparks Committed by Android Git Automerger
Browse files

am 14f89404: Fix media player decode function. Bug 2317821.

Merge commit '14f89404' into eclair-mr2

* commit '14f89404':
  Fix media player decode function. Bug 2317821.
parents 221fa910 14f89404
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -1605,12 +1605,14 @@ status_t MediaPlayerService::AudioCache::open(
        uint32_t sampleRate, int channelCount, int format, int bufferCount,
        AudioCallback cb, void *cookie)
{
    LOGV("open(%u, %d, %d, %d)", sampleRate, channelCount, format, bufferCount);
    if (cb != NULL) {
        return UNKNOWN_ERROR;  // TODO: implement this.
    }
    if (mHeap->getHeapID() < 0) {
        return NO_INIT;
    }

    LOGV("open(%u, %d, %d, %d)", sampleRate, channelCount, format, bufferCount);
    if (mHeap->getHeapID() < 0) return NO_INIT;
    mSampleRate = sampleRate;
    mChannelCount = (uint16_t)channelCount;
    mFormat = (uint16_t)format;
@@ -1659,16 +1661,24 @@ void MediaPlayerService::AudioCache::notify(void* cookie, int msg, int ext1, int
    AudioCache* p = static_cast<AudioCache*>(cookie);

    // ignore buffering messages
    if (msg == MEDIA_BUFFERING_UPDATE) return;

    // set error condition
    if (msg == MEDIA_ERROR) {
    switch (msg)
    {
    case MEDIA_ERROR:
        LOGE("Error %d, %d occurred", ext1, ext2);
        p->mError = ext1;
        break;
    case MEDIA_PREPARED:
        LOGV("prepared");
        break;
    case MEDIA_PLAYBACK_COMPLETE:
        LOGV("playback complete");
        break;
    default:
        LOGV("ignored");
        return;
    }

    // wake up thread
    LOGV("wakeup thread");
    p->mCommandComplete = true;
    p->mSignal.signal();
}