diff options
Diffstat (limited to 'media/libstagefright/codecs/hevcdec/SoftHEVC.cpp')
-rw-r--r-- | media/libstagefright/codecs/hevcdec/SoftHEVC.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp b/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp index 5c05a0e..1db350f 100644 --- a/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp +++ b/media/libstagefright/codecs/hevcdec/SoftHEVC.cpp @@ -82,7 +82,10 @@ SoftHEVC::SoftHEVC( initPorts( kNumBuffers, max(kMaxOutputBufferSize / kMinCompressionRatio, (size_t)INPUT_BUF_SIZE), kNumBuffers, CODEC_MIME_TYPE, kMinCompressionRatio); - CHECK_EQ(initDecoder(), (status_t)OK); +} + +status_t SoftHEVC::init() { + return initDecoder(); } SoftHEVC::~SoftHEVC() { @@ -766,5 +769,10 @@ void SoftHEVC::onQueueFilled(OMX_U32 portIndex) { android::SoftOMXComponent *createSoftOMXComponent(const char *name, const OMX_CALLBACKTYPE *callbacks, OMX_PTR appData, OMX_COMPONENTTYPE **component) { - return new android::SoftHEVC(name, callbacks, appData, component); + android::SoftHEVC *codec = new android::SoftHEVC(name, callbacks, appData, component); + if (codec->init() != android::OK) { + android::sp<android::SoftOMXComponent> release = codec; + return NULL; + } + return codec; } |