Loading media/libstagefright/include/SimpleSoftOMXComponent.h +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ struct SimpleSoftOMXComponent : public SoftOMXComponent { OMX_PTR appData, OMX_COMPONENTTYPE **component); virtual ~SimpleSoftOMXComponent(); virtual void prepareForDestruction(); void onMessageReceived(const sp<AMessage> &msg); Loading media/libstagefright/include/SoftOMXComponent.h +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ struct SoftOMXComponent : public RefBase { void setLibHandle(void *libHandle); void *libHandle() const; virtual void prepareForDestruction() {} protected: virtual ~SoftOMXComponent(); Loading media/libstagefright/omx/SimpleSoftOMXComponent.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,11 @@ SimpleSoftOMXComponent::SimpleSoftOMXComponent( PRIORITY_AUDIO); } SimpleSoftOMXComponent::~SimpleSoftOMXComponent() { void SimpleSoftOMXComponent::prepareForDestruction() { // The looper's queue may still contain messages referencing this // object. Make sure those are flushed before returning so that // a subsequent dlunload() does not pull out the rug from under us. mLooper->unregisterHandler(mHandler->id()); mLooper->stop(); } Loading media/libstagefright/omx/SoftOMXPlugin.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,8 @@ OMX_ERRORTYPE SoftOMXPlugin::destroyComponentInstance( (SoftOMXComponent *) ((OMX_COMPONENTTYPE *)component)->pComponentPrivate; me->prepareForDestruction(); void *libHandle = me->libHandle(); CHECK_EQ(me->getStrongCount(), 1); Loading Loading
media/libstagefright/include/SimpleSoftOMXComponent.h +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ struct SimpleSoftOMXComponent : public SoftOMXComponent { OMX_PTR appData, OMX_COMPONENTTYPE **component); virtual ~SimpleSoftOMXComponent(); virtual void prepareForDestruction(); void onMessageReceived(const sp<AMessage> &msg); Loading
media/libstagefright/include/SoftOMXComponent.h +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ struct SoftOMXComponent : public RefBase { void setLibHandle(void *libHandle); void *libHandle() const; virtual void prepareForDestruction() {} protected: virtual ~SoftOMXComponent(); Loading
media/libstagefright/omx/SimpleSoftOMXComponent.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,11 @@ SimpleSoftOMXComponent::SimpleSoftOMXComponent( PRIORITY_AUDIO); } SimpleSoftOMXComponent::~SimpleSoftOMXComponent() { void SimpleSoftOMXComponent::prepareForDestruction() { // The looper's queue may still contain messages referencing this // object. Make sure those are flushed before returning so that // a subsequent dlunload() does not pull out the rug from under us. mLooper->unregisterHandler(mHandler->id()); mLooper->stop(); } Loading
media/libstagefright/omx/SoftOMXPlugin.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,8 @@ OMX_ERRORTYPE SoftOMXPlugin::destroyComponentInstance( (SoftOMXComponent *) ((OMX_COMPONENTTYPE *)component)->pComponentPrivate; me->prepareForDestruction(); void *libHandle = me->libHandle(); CHECK_EQ(me->getStrongCount(), 1); Loading