am 9ec965e4: am b78599b7: Merge change Ia67d5388 into eclair-mr2

Merge commit '9ec965e4fb242c9c570e43980425b8f275eb2159'

* commit '9ec965e4fb242c9c570e43980425b8f275eb2159':
  remote destructors are not synchronously executed by the binder...
This commit is contained in:
Andreas Huber
2009-12-11 09:14:07 -08:00
committed by Android Git Automerger

View File

@@ -20,6 +20,7 @@
#include "include/AwesomePlayer.h"
#include <binder/IPCThreadState.h>
#include <media/stagefright/AudioPlayer.h>
#include <media/stagefright/DataSource.h>
#include <media/stagefright/FileSource.h>
@@ -313,6 +314,12 @@ void AwesomePlayer::initRenderer_l() {
CHECK(meta->findInt32(kKeyWidth, &decodedWidth));
CHECK(meta->findInt32(kKeyHeight, &decodedHeight));
mVideoRenderer.clear();
// Must ensure that mVideoRenderer's destructor is actually executed
// before creating a new one.
IPCThreadState::self()->flushCommands();
mVideoRenderer =
mClient.interface()->createRenderer(
mISurface, component,
@@ -530,6 +537,12 @@ void AwesomePlayer::onEvent(int32_t code) {
return;
}
if (mVideoBuffer->range_length() == 0) {
mVideoBuffer->release();
mVideoBuffer = NULL;
continue;
}
break;
}
}