CCodec: request initial input buffers after start complete callback
Bug: 229655684
Test: atest android.media.encoder.cts.VideoEncoderTest
Change-Id: I66e3f62270450742072f0490c16acf0c49d59722
diff --git a/media/codec2/sfplugin/CCodec.cpp b/media/codec2/sfplugin/CCodec.cpp
index 8783c2c..19bb206 100644
--- a/media/codec2/sfplugin/CCodec.cpp
+++ b/media/codec2/sfplugin/CCodec.cpp
@@ -1826,15 +1826,13 @@
return;
}
- err2 = mChannel->requestInitialInputBuffers();
-
- if (err2 != OK) {
- ALOGE("Initial request for Input Buffers failed");
- mCallback->onError(err2,ACTION_CODE_FATAL);
- return;
- }
mCallback->onStartCompleted();
+ err2 = mChannel->requestInitialInputBuffers();
+ if (err2 != OK) {
+ ALOGE("Initial request for Input Buffers failed");
+ mCallback->onError(err2, ACTION_CODE_FATAL);
+ }
}
void CCodec::initiateShutdown(bool keepComponentAllocated) {
@@ -2128,7 +2126,11 @@
state->set(RUNNING);
}
- (void)mChannel->requestInitialInputBuffers();
+ status_t err = mChannel->requestInitialInputBuffers();
+ if (err != OK) {
+ ALOGE("Resume request for Input Buffers failed");
+ mCallback->onError(err, ACTION_CODE_FATAL);
+ }
}
void CCodec::signalSetParameters(const sp<AMessage> &msg) {