summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authorshubang <shubang@google.com>2020-08-03 15:25:09 -0700
committerHenry Fang <quxiangfang@google.com>2020-12-29 20:52:54 +0000
commit5b0bfdb03d12d610acf33601e529e87bfb6e021f (patch)
tree0a32dd7b6ff9f56b80a70faf15eb2d9d18756354 /media
parenteec09803da33c931644f8cabfefd0d9a72547862 (diff)
Tuner JNI: Correct memcpy of C2DataIdInfo
Bug: 162778666 Test: mannual test by MTK Change-Id: Ic97717e5fc32d97837e218fe769087b5abece2cb Merged-In: Ic97717e5fc32d97837e218fe769087b5abece2cb
Diffstat (limited to 'media')
-rw-r--r--media/jni/android_media_tv_Tuner.cpp5
-rw-r--r--media/jni/android_media_tv_Tuner.h5
2 files changed, 6 insertions, 4 deletions
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp
index 515d610109ab..9a9781249d92 100644
--- a/media/jni/android_media_tv_Tuner.cpp
+++ b/media/jni/android_media_tv_Tuner.cpp
@@ -291,8 +291,9 @@ MQ& Dvr::getDvrMQ() {
C2DataIdInfo::C2DataIdInfo(uint32_t index, uint64_t value) : C2Param(kParamSize, index) {
CHECK(isGlobal());
CHECK_EQ(C2Param::INFO, kind());
- DummyInfo info{value};
- memcpy(this + 1, static_cast<C2Param *>(&info) + 1, kParamSize - sizeof(C2Param));
+ mInfo = StubInfo(value);
+ memcpy(static_cast<C2Param *>(this) + 1, static_cast<C2Param *>(&mInfo) + 1,
+ kParamSize - sizeof(C2Param));
}
/////////////// MediaEvent ///////////////////////
diff --git a/media/jni/android_media_tv_Tuner.h b/media/jni/android_media_tv_Tuner.h
index 83e9db796363..fd2995917475 100644
--- a/media/jni/android_media_tv_Tuner.h
+++ b/media/jni/android_media_tv_Tuner.h
@@ -250,8 +250,9 @@ class C2DataIdInfo : public C2Param {
public:
C2DataIdInfo(uint32_t index, uint64_t value);
private:
- typedef C2GlobalParam<C2Info, C2Int64Value, 0> DummyInfo;
- static const size_t kParamSize = sizeof(DummyInfo);
+ typedef C2GlobalParam<C2Info, C2Int64Value, 0> StubInfo;
+ StubInfo mInfo;
+ static const size_t kParamSize = sizeof(StubInfo);
};
} // namespace android