diff options
author | Dave Sparks <davidsparks@android.com> | 2009-12-10 17:57:10 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-12-10 17:57:10 -0800 |
commit | 0a2b8e6424d1b027fb188ba0bd290fedff34b0f5 (patch) | |
tree | e856fa8b85db6937b54a49b930e079aae9764888 /media/libmediaplayerservice/MediaPlayerService.cpp | |
parent | 3869dcbacecc5575cdde7b337a39cbd14c1fd7cb (diff) | |
parent | 8eb8011120a68a86199b9960cf1ae91a6ddc7e6d (diff) | |
download | frameworks_av-0a2b8e6424d1b027fb188ba0bd290fedff34b0f5.zip frameworks_av-0a2b8e6424d1b027fb188ba0bd290fedff34b0f5.tar.gz frameworks_av-0a2b8e6424d1b027fb188ba0bd290fedff34b0f5.tar.bz2 |
am 14f89404: Fix media player decode function. Bug 2317821.
Merge commit '14f8940472217e8b0164d8f213679710d623d528' into eclair-mr2
* commit '14f8940472217e8b0164d8f213679710d623d528':
Fix media player decode function. Bug 2317821.
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index a4e3601..540d4ba 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -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(); } |