From 22c93142552cf5563c5a8a1318a901f1d12326a0 Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Tue, 15 Mar 2016 00:54:45 +0100 Subject: [PATCH] MediaExtractor/PluginManager: Add plugin deletion when extractor die --- src/kits/media/AddOnManager.cpp | 2 +- src/kits/media/MediaExtractor.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/kits/media/AddOnManager.cpp b/src/kits/media/AddOnManager.cpp index 61abc71196..9be411ae34 100644 --- a/src/kits/media/AddOnManager.cpp +++ b/src/kits/media/AddOnManager.cpp @@ -216,7 +216,7 @@ AddOnManager::GetStreamers(entry_ref* outRefs, int32* outCount, outRefs++; } - return B_ERROR; + return B_OK; } diff --git a/src/kits/media/MediaExtractor.cpp b/src/kits/media/MediaExtractor.cpp index 4f381b90bf..e264977825 100644 --- a/src/kits/media/MediaExtractor.cpp +++ b/src/kits/media/MediaExtractor.cpp @@ -184,6 +184,12 @@ MediaExtractor::~MediaExtractor() gPluginManager.DestroyReader(fReader); + // If this is a streaming situation we own + // the source + if (fStreamer != NULL) { + delete fSource; + gPluginManager.DestroyStreamer(fStreamer); + } delete[] fStreamInfo; // fSource is owned by the BMediaFile }