diff options
author | Val Doroshchuk <valentyn.doroshchuk@qt.io> | 2017-10-16 13:26:15 +0200 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2017-12-14 10:31:38 +0000 |
commit | 8ec92863f13061c3dd2d56376eddfe258915589f (patch) | |
tree | ef60462b87cce1bdcd45386ce2d13c1dab16be03 /src/plugins/directshow/player/directshowplayerservice.h | |
parent | 7097e38a48db6ea25314121e70c48e8561399d98 (diff) | |
download | qtmultimedia-8ec92863f13061c3dd2d56376eddfe258915589f.tar.gz |
DirectShow: Fix memory leak in CLSID_FilterGraph
Fixed memory leak when using Filter Graph Manager
by moving creation of the manager to worker thread
and changing threading model from shared
to application thread.
Task-number: QTBUG-52713
Change-Id: I7725697ced1992959d18588303c329b4dfd56b2e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'src/plugins/directshow/player/directshowplayerservice.h')
-rw-r--r-- | src/plugins/directshow/player/directshowplayerservice.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/directshow/player/directshowplayerservice.h b/src/plugins/directshow/player/directshowplayerservice.h index 01d05449e..cc7b4dd3e 100644 --- a/src/plugins/directshow/player/directshowplayerservice.h +++ b/src/plugins/directshow/player/directshowplayerservice.h @@ -124,6 +124,7 @@ private: void run(); + void doCreateGraph(QMutexLocker *locker); void doSetUrlSource(QMutexLocker *locker); void doSetStreamSource(QMutexLocker *locker); void doRender(QMutexLocker *locker); @@ -169,7 +170,8 @@ private: ReleaseVideoProbe = 0x40000, ReleaseFilters = ReleaseGraph | ReleaseAudioOutput | ReleaseVideoOutput | ReleaseAudioProbe - | ReleaseVideoProbe + | ReleaseVideoProbe, + CreateGraph = 0x80000 }; enum Event |