Merge "Tuner JNI: fix the DATA_READY and DATA_CONSUMED flags" am: ba032abd1a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536947

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If7092d7333a95f440490b8432cf7c2e9f209c16f
This commit is contained in:
Henry Fang
2020-12-30 18:16:44 +00:00
committed by Automerger Merge Worker

View File

@@ -3509,6 +3509,10 @@ static jlong android_media_tv_Tuner_read_dvr(JNIEnv *env, jobject dvr, jlong siz
} else { } else {
ALOGE("dvrMq.beginWrite failed"); ALOGE("dvrMq.beginWrite failed");
} }
if (ret > 0) {
dvrSp->mDvrMQEventFlag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_READY));
}
return (jlong) ret; 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)) { if (dvrSp->mDvrMQ->write(reinterpret_cast<unsigned char*>(src) + offset, size)) {
env->ReleaseByteArrayElements(buffer, src, 0); 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 { } else {
ALOGD("Failed to write FMQ"); ALOGD("Failed to write FMQ");
env->ReleaseByteArrayElements(buffer, src, 0); env->ReleaseByteArrayElements(buffer, src, 0);
@@ -3597,6 +3601,9 @@ static jlong android_media_tv_Tuner_write_dvr(JNIEnv *env, jobject dvr, jlong si
} else { } else {
ALOGE("dvrMq.beginRead failed"); ALOGE("dvrMq.beginRead failed");
} }
if (ret > 0) {
dvrSp->mDvrMQEventFlag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED));
}
return (jlong) ret; return (jlong) ret;
} }