From 89c3714df4dcddd87974d7844246b223dd3d4045 Mon Sep 17 00:00:00 2001 From: shubang Date: Thu, 16 Jul 2020 14:33:30 -0700 Subject: [PATCH] Tuner JNI: fix the DATA_READY and DATA_CONSUMED flags Bug: 161481210 Test: cuttlefish Change-Id: Ifd8b03259eff2296d1420695176d34026ba586fd Merged-In: Ifd8b03259eff2296d1420695176d34026ba586fd --- media/jni/android_media_tv_Tuner.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index 515d610109abb..3e3ac8d2e92cb 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -3497,6 +3497,10 @@ static jlong android_media_tv_Tuner_read_dvr(JNIEnv *env, jobject dvr, jlong siz } else { ALOGE("dvrMq.beginWrite failed"); } + + if (ret > 0) { + dvrSp->mDvrMQEventFlag->wake(static_cast(DemuxQueueNotifyBits::DATA_READY)); + } return (jlong) ret; } @@ -3524,7 +3528,7 @@ static jlong android_media_tv_Tuner_read_dvr_from_array( if (dvrSp->mDvrMQ->write(reinterpret_cast(src) + offset, size)) { env->ReleaseByteArrayElements(buffer, src, 0); - dvrSp->mDvrMQEventFlag->wake(static_cast(DemuxQueueNotifyBits::DATA_CONSUMED)); + dvrSp->mDvrMQEventFlag->wake(static_cast(DemuxQueueNotifyBits::DATA_READY)); } else { ALOGD("Failed to write FMQ"); env->ReleaseByteArrayElements(buffer, src, 0); @@ -3585,6 +3589,9 @@ static jlong android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jlong si } else { ALOGE("dvrMq.beginRead failed"); } + if (ret > 0) { + dvrSp->mDvrMQEventFlag->wake(static_cast(DemuxQueueNotifyBits::DATA_CONSUMED)); + } return (jlong) ret; }