Loading media/libstagefright/MediaCodec.cpp +30 −1 Original line number Diff line number Diff line Loading @@ -1311,6 +1311,8 @@ status_t MediaCodec::configure( // save msg for reset mConfigureMsg = msg; sp<AMessage> callback = mCallback; status_t err; std::vector<MediaResourceParcel> resources; resources.push_back(MediaResource::CodecResource(mFlags & kFlagIsSecure, mIsVideo)); Loading @@ -1335,7 +1337,18 @@ status_t MediaCodec::configure( // the configure failure is due to wrong state. ALOGE("configure failed with err 0x%08x, resetting...", err); reset(); status_t err2 = reset(); if (err2 != OK) { ALOGE("retrying configure: failed to reset codec (%08x)", err2); break; } if (callback != nullptr) { err2 = setCallback(callback); if (err2 != OK) { ALOGE("retrying configure: failed to set callback (%08x)", err2); break; } } } if (!isResourceError(err)) { break; Loading Loading @@ -1444,6 +1457,8 @@ uint64_t MediaCodec::getGraphicBufferSize() { status_t MediaCodec::start() { sp<AMessage> msg = new AMessage(kWhatStart, this); sp<AMessage> callback; status_t err; std::vector<MediaResourceParcel> resources; resources.push_back(MediaResource::CodecResource(mFlags & kFlagIsSecure, mIsVideo)); Loading @@ -1468,6 +1483,20 @@ status_t MediaCodec::start() { ALOGE("retrying start: failed to configure codec"); break; } if (callback != nullptr) { err = setCallback(callback); if (err != OK) { ALOGE("retrying start: failed to set callback"); break; } ALOGD("succeed to set callback for reclaim"); } } // Keep callback message after the first iteration if necessary. if (i == 0 && mCallback != nullptr && mFlags & kFlagIsAsync) { callback = mCallback; ALOGD("keep callback message for reclaim"); } sp<AMessage> response; Loading Loading
media/libstagefright/MediaCodec.cpp +30 −1 Original line number Diff line number Diff line Loading @@ -1311,6 +1311,8 @@ status_t MediaCodec::configure( // save msg for reset mConfigureMsg = msg; sp<AMessage> callback = mCallback; status_t err; std::vector<MediaResourceParcel> resources; resources.push_back(MediaResource::CodecResource(mFlags & kFlagIsSecure, mIsVideo)); Loading @@ -1335,7 +1337,18 @@ status_t MediaCodec::configure( // the configure failure is due to wrong state. ALOGE("configure failed with err 0x%08x, resetting...", err); reset(); status_t err2 = reset(); if (err2 != OK) { ALOGE("retrying configure: failed to reset codec (%08x)", err2); break; } if (callback != nullptr) { err2 = setCallback(callback); if (err2 != OK) { ALOGE("retrying configure: failed to set callback (%08x)", err2); break; } } } if (!isResourceError(err)) { break; Loading Loading @@ -1444,6 +1457,8 @@ uint64_t MediaCodec::getGraphicBufferSize() { status_t MediaCodec::start() { sp<AMessage> msg = new AMessage(kWhatStart, this); sp<AMessage> callback; status_t err; std::vector<MediaResourceParcel> resources; resources.push_back(MediaResource::CodecResource(mFlags & kFlagIsSecure, mIsVideo)); Loading @@ -1468,6 +1483,20 @@ status_t MediaCodec::start() { ALOGE("retrying start: failed to configure codec"); break; } if (callback != nullptr) { err = setCallback(callback); if (err != OK) { ALOGE("retrying start: failed to set callback"); break; } ALOGD("succeed to set callback for reclaim"); } } // Keep callback message after the first iteration if necessary. if (i == 0 && mCallback != nullptr && mFlags & kFlagIsAsync) { callback = mCallback; ALOGD("keep callback message for reclaim"); } sp<AMessage> response; Loading