Merge "Tuner FW: fix filter type check." into rvc-dev am: 9c03ae0623 am: e0ab676c03

Change-Id: I95d9a595527df12a3a85f552ecc0ad03430cac3d
This commit is contained in:
TreeHugger Robot
2020-05-27 04:29:57 +00:00
committed by Automerger Merge Worker
3 changed files with 11 additions and 12 deletions

View File

@@ -447,7 +447,7 @@ public class Tuner implements AutoCloseable {
private native DvrRecorder nativeOpenDvrRecorder(long bufferSize); private native DvrRecorder nativeOpenDvrRecorder(long bufferSize);
private native DvrPlayback nativeOpenDvrPlayback(long bufferSize); private native DvrPlayback nativeOpenDvrPlayback(long bufferSize);
private static native DemuxCapabilities nativeGetDemuxCapabilities(); private native DemuxCapabilities nativeGetDemuxCapabilities();
private native int nativeCloseDemux(int handle); private native int nativeCloseDemux(int handle);
private native int nativeCloseFrontend(int handle); private native int nativeCloseFrontend(int handle);
@@ -939,8 +939,7 @@ public class Tuner implements AutoCloseable {
Filter filter = nativeOpenFilter( Filter filter = nativeOpenFilter(
mainType, TunerUtils.getFilterSubtype(mainType, subType), bufferSize); mainType, TunerUtils.getFilterSubtype(mainType, subType), bufferSize);
if (filter != null) { if (filter != null) {
filter.setMainType(mainType); filter.setType(mainType, subType);
filter.setSubtype(subType);
filter.setCallback(cb, executor); filter.setCallback(cb, executor);
if (mHandler == null) { if (mHandler == null) {
mHandler = createEventHandler(); mHandler = createEventHandler();
@@ -1147,8 +1146,11 @@ public class Tuner implements AutoCloseable {
} }
/* package */ void releaseLnb() { /* package */ void releaseLnb() {
mTunerResourceManager.releaseLnb(mLnbHandle, mClientId); if (mLnbHandle != null) {
mLnbHandle = null; // LNB handle can be null if it's opened by name.
mTunerResourceManager.releaseLnb(mLnbHandle, mClientId);
mLnbHandle = null;
}
mLnb = null; mLnb = null;
} }
} }

View File

@@ -221,12 +221,9 @@ public class Filter implements AutoCloseable {
} }
/** @hide */ /** @hide */
public void setMainType(@Type int mainType) { public void setType(@Type int mainType, @Subtype int subtype) {
mMainType = mainType; mMainType = mainType;
} mSubtype = TunerUtils.getFilterSubtype(mainType, subtype);
/** @hide */
public void setSubtype(@Subtype int subtype) {
mSubtype = subtype;
} }
/** @hide */ /** @hide */

View File

@@ -2975,7 +2975,7 @@ static jint copyData(JNIEnv *env, std::unique_ptr<MQ>& mq, EventFlag* flag, jbyt
jbyte *dst = env->GetByteArrayElements(buffer, &isCopy); jbyte *dst = env->GetByteArrayElements(buffer, &isCopy);
ALOGD("copyData, isCopy=%d", isCopy); ALOGD("copyData, isCopy=%d", isCopy);
if (dst == nullptr) { if (dst == nullptr) {
ALOGD("Failed to GetByteArrayElements"); jniThrowRuntimeException(env, "Failed to GetByteArrayElements");
return 0; return 0;
} }
@@ -2983,7 +2983,7 @@ static jint copyData(JNIEnv *env, std::unique_ptr<MQ>& mq, EventFlag* flag, jbyt
env->ReleaseByteArrayElements(buffer, dst, 0); env->ReleaseByteArrayElements(buffer, dst, 0);
flag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED)); flag->wake(static_cast<uint32_t>(DemuxQueueNotifyBits::DATA_CONSUMED));
} else { } else {
ALOGD("Failed to read FMQ"); jniThrowRuntimeException(env, "Failed to read FMQ");
env->ReleaseByteArrayElements(buffer, dst, 0); env->ReleaseByteArrayElements(buffer, dst, 0);
return 0; return 0;
} }