summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorHenry Fang <quxiangfang@google.com>2020-12-30 17:44:58 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-12-30 17:44:58 +0000
commitba032abd1a25f160d7211a0db0b99623a2b2adfc (patch)
tree973fecc06b25c82d58e7142c9525e4501b8169d0 /media
parentde8ca7332bfe5627cdaf8e36f1889f02b049b769 (diff)
parent89c3714df4dcddd87974d7844246b223dd3d4045 (diff)
Merge "Tuner JNI: fix the DATA_READY and DATA_CONSUMED flags"
Diffstat (limited to 'media')
-rw-r--r--media/jni/android_media_tv_Tuner.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp
index f195d85eef67..5db672993df1 100644
--- a/media/jni/android_media_tv_Tuner.cpp
+++ b/media/jni/android_media_tv_Tuner.cpp
@@ -3509,6 +3509,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<uint32_t>(DemuxQueueNotifyBits::DATA_READY));
+ }
return (jlong) ret;
}
@@ -3536,7 +3540,7 @@ static jlong android_media_tv_Tuner_read_dvr_from_array(
if (dvrSp->mDvrMQ->write(reinterpret_cast<unsigned char*>(src) + offset, size)) {
env->ReleaseByteArrayElements(buffer, src, 0);
- dvrSp->mDvrMQEventFlag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED));
+ dvrSp->mDvrMQEventFlag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_READY));
} else {
ALOGD("Failed to write FMQ");
env->ReleaseByteArrayElements(buffer, src, 0);
@@ -3597,6 +3601,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<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED));
+ }
return (jlong) ret;
}