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

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

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

Merge commit '9472b35ba190b24f811ff7b025a93b2023dbd58d' into eclair-mr2-plus-aosp

* commit '9472b35ba190b24f811ff7b025a93b2023dbd58d':
  Fix media player decode function. Bug 2317821.
parents 5740d1a4 0a2b8e64
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();
}