mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-14 10:24:32 -05:00
76 lines
2.8 KiB
Diff
76 lines
2.8 KiB
Diff
|
From 9c7408ab0710a9e36fd2a258098afde863cb6544 Mon Sep 17 00:00:00 2001
|
||
|
From: Harish Mahendrakar <harish.mahendrakar@ittiam.com>
|
||
|
Date: Wed, 19 Oct 2022 18:17:07 -0700
|
||
|
Subject: [PATCH] Codec2 decoders: Invalidate allocated graphic buffer in
|
||
|
stop()
|
||
|
|
||
|
Bug: 243583691
|
||
|
Test: atest CtsMediaV2TestCases -- --module-arg \
|
||
|
CtsMediaV2TestCases:instrumentation-arg:codec-prefix:=c2.android.
|
||
|
|
||
|
Change-Id: I312c106350b2eb072f0e6f2f9a83f16eb8424cb2
|
||
|
---
|
||
|
media/codec2/components/avc/C2SoftAvcDec.cpp | 3 +++
|
||
|
media/codec2/components/hevc/C2SoftHevcDec.cpp | 3 +++
|
||
|
media/codec2/components/mpeg2/C2SoftMpeg2Dec.cpp | 3 +++
|
||
|
media/codec2/components/mpeg4_h263/C2SoftMpeg4Dec.cpp | 4 +++-
|
||
|
4 files changed, 12 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/media/codec2/components/avc/C2SoftAvcDec.cpp b/media/codec2/components/avc/C2SoftAvcDec.cpp
|
||
|
index 953afc57cd..96a4c4a756 100644
|
||
|
--- a/media/codec2/components/avc/C2SoftAvcDec.cpp
|
||
|
+++ b/media/codec2/components/avc/C2SoftAvcDec.cpp
|
||
|
@@ -671,6 +671,9 @@ status_t C2SoftAvcDec::resetDecoder() {
|
||
|
void C2SoftAvcDec::resetPlugin() {
|
||
|
mSignalledOutputEos = false;
|
||
|
mTimeStart = mTimeEnd = systemTime();
|
||
|
+ if (mOutBlock) {
|
||
|
+ mOutBlock.reset();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
status_t C2SoftAvcDec::deleteDecoder() {
|
||
|
diff --git a/media/codec2/components/hevc/C2SoftHevcDec.cpp b/media/codec2/components/hevc/C2SoftHevcDec.cpp
|
||
|
index 5a660c5ca1..7d3b9d9399 100644
|
||
|
--- a/media/codec2/components/hevc/C2SoftHevcDec.cpp
|
||
|
+++ b/media/codec2/components/hevc/C2SoftHevcDec.cpp
|
||
|
@@ -664,6 +664,9 @@ status_t C2SoftHevcDec::resetDecoder() {
|
||
|
void C2SoftHevcDec::resetPlugin() {
|
||
|
mSignalledOutputEos = false;
|
||
|
mTimeStart = mTimeEnd = systemTime();
|
||
|
+ if (mOutBlock) {
|
||
|
+ mOutBlock.reset();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
status_t C2SoftHevcDec::deleteDecoder() {
|
||
|
diff --git a/media/codec2/components/mpeg2/C2SoftMpeg2Dec.cpp b/media/codec2/components/mpeg2/C2SoftMpeg2Dec.cpp
|
||
|
index 9a4191025f..439323c76e 100644
|
||
|
--- a/media/codec2/components/mpeg2/C2SoftMpeg2Dec.cpp
|
||
|
+++ b/media/codec2/components/mpeg2/C2SoftMpeg2Dec.cpp
|
||
|
@@ -732,6 +732,9 @@ status_t C2SoftMpeg2Dec::resetDecoder() {
|
||
|
void C2SoftMpeg2Dec::resetPlugin() {
|
||
|
mSignalledOutputEos = false;
|
||
|
mTimeStart = mTimeEnd = systemTime();
|
||
|
+ if (mOutBlock) {
|
||
|
+ mOutBlock.reset();
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
status_t C2SoftMpeg2Dec::deleteDecoder() {
|
||
|
diff --git a/media/codec2/components/mpeg4_h263/C2SoftMpeg4Dec.cpp b/media/codec2/components/mpeg4_h263/C2SoftMpeg4Dec.cpp
|
||
|
index 54a1d0e354..3bf9c48dc3 100644
|
||
|
--- a/media/codec2/components/mpeg4_h263/C2SoftMpeg4Dec.cpp
|
||
|
+++ b/media/codec2/components/mpeg4_h263/C2SoftMpeg4Dec.cpp
|
||
|
@@ -256,7 +256,9 @@ c2_status_t C2SoftMpeg4Dec::onStop() {
|
||
|
mFramesConfigured = false;
|
||
|
mSignalledOutputEos = false;
|
||
|
mSignalledError = false;
|
||
|
-
|
||
|
+ if (mOutBlock) {
|
||
|
+ mOutBlock.reset();
|
||
|
+ }
|
||
|
return C2_OK;
|
||
|
}
|
||
|
|