diff options
author | Henry Fang <quxiangfang@google.com> | 2020-12-30 17:44:58 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-12-30 17:44:58 +0000 |
commit | ba032abd1a25f160d7211a0db0b99623a2b2adfc (patch) | |
tree | 973fecc06b25c82d58e7142c9525e4501b8169d0 /media | |
parent | de8ca7332bfe5627cdaf8e36f1889f02b049b769 (diff) | |
parent | 89c3714df4dcddd87974d7844246b223dd3d4045 (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.cpp | 9 |
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; } |