C2SoftHevcEnc: Do not initialize encoder in onInit()
Like c2 soft avc encoder, defer encoder initialization to process()
This change allows multiple start() and reset() calls.
Test: adb shell /data/local/tmp/vts/VtsHidlC2V1_0TargetComponentTest\
-C c2.android.hevc.encoder -P /sdcard/media/ -I software
Test: atest android.media.cts.VideoEncoderTest
Bug: 133067331
Change-Id: Ia66206e9cfc008508222900dc498ff3b30e2fb4e
diff --git a/media/codec2/components/hevc/C2SoftHevcEnc.cpp b/media/codec2/components/hevc/C2SoftHevcEnc.cpp
index 0d3357f..9b93cf3 100644
--- a/media/codec2/components/hevc/C2SoftHevcEnc.cpp
+++ b/media/codec2/components/hevc/C2SoftHevcEnc.cpp
@@ -390,27 +390,23 @@
}
C2SoftHevcEnc::~C2SoftHevcEnc() {
- releaseEncoder();
+ onRelease();
}
c2_status_t C2SoftHevcEnc::onInit() {
- return initEncoder();
+ return C2_OK;
}
c2_status_t C2SoftHevcEnc::onStop() {
- if (!mStarted) {
- return C2_OK;
- }
- return releaseEncoder();
+ return C2_OK;
}
void C2SoftHevcEnc::onReset() {
- onStop();
- initEncoder();
+ releaseEncoder();
}
void C2SoftHevcEnc::onRelease() {
- onStop();
+ releaseEncoder();
}
c2_status_t C2SoftHevcEnc::onFlush_sm() {