am 14f89404: Fix media player decode function. Bug 2317821.
Merge commit '14f8940472217e8b0164d8f213679710d623d528' into eclair-mr2 * commit '14f8940472217e8b0164d8f213679710d623d528': Fix media player decode function. Bug 2317821.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user