Shoutbox

Msg Plus Live not releasing DirectShow Filters - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: WLM Plus! Bug Reports (/forumdisplay.php?fid=7)
+----- Thread: Msg Plus Live not releasing DirectShow Filters (/showthread.php?tid=64106)

Msg Plus Live not releasing DirectShow Filters by oggiejnr on 07-27-2006 at 09:44 PM

When an event which triggers a sound occurs in plus live (I know this is the case when new pop3 email arrives but I'm not sure about other events) a directshow filter is instantiated but is not released at the end of playback.  On my machine the outcome is many instances of the FFDShow filter in the system tray with one being added when an MSG Plus Live sound is played.  This is both an annoyance and uses system resources and the only way of clearing them is to restart messenger.  This does not happen if a messenger (not plus) event occurs.

Hope this can be resolved

Peter


RE: Msg Plus Live not releasing DirectShow Filters by RaceProUK on 07-28-2006 at 11:06 AM

I don't get DirectShow filters appearing like that on my PC. However, Plus! does have a dependency on DirectDraw, so I'll check this out more when I get home to my own PC.


RE: Msg Plus Live not releasing DirectShow Filters by oggiejnr on 07-28-2006 at 01:02 PM

The problem appears to be due to the audio rather than the video parts of DirectShow - it is the FFDShow Audio Decoder which is being not being released.  It may well be that FFDShow is adding itself into the audio render graph when it isn't really needed and not expected, such as during playback of a wave file, and hence not being cleaned up.

I created a filter graph of playing a wave file in GraphEdit and it appears that FFDShow does add itself to the graph even when not needed.  While this still means that Plus! isn't cleaning up the filter graph properly following sound playback, it may be that it is not cleaning the filters that are not normally created.

The work around is to reduce the merit of the FFDShow audio filter so that it is not created in these cases it would still be preferable that Plus! properly disposed of the filters in the playback filter graph.

Peter


RE: Msg Plus Live not releasing DirectShow Filters by RaceProUK on 07-28-2006 at 01:16 PM

A Google of FFDShow leads to a Sourceforge project for a codec. Is this what you're talking about?

It's possible the bug is actually with FFDShow, not with Plus!. I would assume that, when Plus! plays a sound file, it hands the actual processing to DirectShow, which finds the appropriate codec and then plays the sound using it.

So actually, by that logic, the bug lies down the line from Plus!, in either DirectShow, or the codec itself. One way to test this will be to see if there's a similar 'filter leak' when using a different program.


RE: Msg Plus Live not releasing DirectShow Filters by oggiejnr on 07-28-2006 at 01:34 PM

The filter leak only occurs in Plus! as far as I am aware.  Media player and other programs that use DirectShow appear to be able to handle it - as does MSN messenger when its events occur - such as the sound when a hotmail e-mail is received.

I've changed the filter merits so that FFDShow doesn't get created but I believe it the responsibility of the of the application to dispose of the filters even if they are created automatically through IGraphBuilder.RenderFile or equivilant. 

I had a similar problem with a media decoding I created using DirectShow and the solution was to enumerate the filters and dispose of them singularly.

Its not a pressing concern though as changing the Merits has stopped the visible problems even though this may be a symptom of an underlying resource leak.


RE: Msg Plus Live not releasing DirectShow Filters by Patchou on 07-29-2006 at 05:33 PM

Thank you for the report.

Messenger Plus! does not instanciate any DirectShow filter directly or even DirectShow itself directly for that matter. What it can do however is instanciate an internal Windows Media Player object. It is supposed to release it when the sound is closed. or that reason, I suspect that your default audio codec for wma files is the one causing the problem. Can you check that out?

Thanks.


RE: Msg Plus Live not releasing DirectShow Filters by oggiejnr on 07-29-2006 at 06:55 PM

I think the problem was an incorrect merit setting for FFDShow.  I reset it and the problem appears to have disappeared.  I'm still at a loss as to why it was only affecting Plus! but since it is not an issue anymore I don't think it matters.