diff options
| -rw-r--r-- | media/libstagefright/StagefrightMetadataRetriever.cpp | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/media/libstagefright/StagefrightMetadataRetriever.cpp b/media/libstagefright/StagefrightMetadataRetriever.cpp index 7c554db..be28821 100644 --- a/media/libstagefright/StagefrightMetadataRetriever.cpp +++ b/media/libstagefright/StagefrightMetadataRetriever.cpp @@ -23,6 +23,7 @@  #include <gui/Surface.h>  #include "include/StagefrightMetadataRetriever.h" +#include "include/HTTPBase.h"  #include <media/ICrypto.h>  #include <media/IMediaHTTPService.h> @@ -62,6 +63,12 @@ StagefrightMetadataRetriever::~StagefrightMetadataRetriever() {      ALOGV("~StagefrightMetadataRetriever()");      clearMetadata();      mClient.disconnect(); + +    if (mSource != NULL && +        (mSource->flags() & DataSource::kIsHTTPBasedSource)) { +        mExtractor.clear(); +        static_cast<HTTPBase *>(mSource.get())->disconnect(); +    }  }  status_t StagefrightMetadataRetriever::setDataSource(  | 
