summaryrefslogtreecommitdiffstats
path: root/media/libmedia/JetPlayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmedia/JetPlayer.cpp')
-rw-r--r--media/libmedia/JetPlayer.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/media/libmedia/JetPlayer.cpp b/media/libmedia/JetPlayer.cpp
index 2c62104..77a9013 100644
--- a/media/libmedia/JetPlayer.cpp
+++ b/media/libmedia/JetPlayer.cpp
@@ -194,8 +194,15 @@ int JetPlayer::render() {
}
while (1) {
+
mMutex.lock(); // [[[[[[[[ LOCK ---------------------------------------
+ if (mEasData == NULL) {
+ mMutex.unlock();
+ LOGV("JetPlayer::render(): NULL EAS data, exiting render.");
+ goto threadExit;
+ }
+
// nothing to render, wait for client thread to wake us up
while (!mRender)
{
@@ -255,7 +262,10 @@ int JetPlayer::render() {
}//while (1)
threadExit:
- mAudioTrack->flush();
+ if (mAudioTrack) {
+ mAudioTrack->stop();
+ mAudioTrack->flush();
+ }
if (mAudioBuffer) {
delete [] mAudioBuffer;
mAudioBuffer = NULL;