Merge "Tuner FW: fix filter type check." into rvc-dev am: 9c03ae0623 am: e0ab676c03
Change-Id: I95d9a595527df12a3a85f552ecc0ad03430cac3d
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user