// Called on GonkVideoDecoderManager::mManagerLooper thread. void GonkVideoDecoderManager::onMessageReceived(const sp<AMessage> &aMessage) { switch (aMessage->what()) { case kNotifyCodecReserved: { // Our decode may have acquired the hardware resource that it needs // to start. Notify the state machine to resume loading metadata. GVDM_LOG("CodecReserved!"); mReaderCallback->NotifyResourcesStatusChanged(); break; } case kNotifyCodecCanceled: { mReaderCallback->ReleaseMediaResources(); break; } case kNotifyPostReleaseBuffer: { ReleaseAllPendingVideoBuffers(); break; } default: TRESPASS(); break; } }
void GonkVideoDecoderManager::ReleaseMediaResources() { GVDM_LOG("ReleseMediaResources"); if (mDecoder == nullptr) { return; } ReleaseAllPendingVideoBuffers(); mDecoder->ReleaseMediaResources(); }
// Called on GonkVideoDecoderManager::mManagerLooper thread. void GonkVideoDecoderManager::onMessageReceived(const sp<AMessage> &aMessage) { switch (aMessage->what()) { case kNotifyPostReleaseBuffer: { ReleaseAllPendingVideoBuffers(); break; } default: TRESPASS(); break; } }