RXP, I agree. It seems unnecessary to use VSFilter when ffdshow can do the job (and also decode video/audio if desired).
What you need to do is add
ffdshow raw video filter at Movie Post Processing in MediaPortal Configuration. Now you can watch .mkv:s with embedded subtitles and if you want them displayed, enable Subtitles in ffdshow Video decoder configuration.
I guess this is some kind of bug in MediaPortal. It would be nice if the movie launched without subtitles if no filter can handle it instead of MP crashing. If anyone is interested here's what the log file says when that happens:
Code:
2008-03-07 21:28:12.809593 [ERROR][MPMain]: VideoPlayer9: Failed to render file -> vmr9
2008-03-07 21:28:13.051765 [ERROR][MPMain]: Exception while releasing COM object (NULL) - stacktrace: at DShowNET.Helper.DirectShowUtil.ReleaseComObject(Object obj)
at MediaPortal.Player.VideoPlayerVMR9.Cleanup()
at MediaPortal.Player.VideoPlayerVMR9.CloseInterfaces()
at MediaPortal.Player.VideoPlayerVMR7.Release()
at MediaPortal.Player.g_Player.Play(String strFile)
at MediaPortal.Playlists.PlayListPlayer.FakePlayer.MediaPortal.Playlists.PlayListPlayer.IPlayer.Play(String strFile)
at MediaPortal.Playlists.PlayListPlayer.Play(Int32 iSong)
at MediaPortal.Playlists.PlayListPlayer.PlayNext()
at MediaPortal.GUI.Video.GUIVideoFiles.PlayMovieFromPlayList(Boolean askForResumeMovie, Int32 iMovieIndex)
at MediaPortal.GUI.Video.GUIVideoFiles.OnClick(Int32 iItem)
at MediaPortal.GUI.Video.GUIVideoBaseWindow.OnClicked(Int32 controlId, GUIControl control, ActionType actionType)
at MediaPortal.GUI.Video.GUIVideoFiles.OnClicked(Int32 controlId, GUIControl control, ActionType actionType)
at MediaPortal.GUI.Library.GUIWindow.OnMessage(GUIMessage message)
at MediaPortal.GUI.Video.GUIVideoFiles.OnMessage(GUIMessage message)
at MediaPortal.GUI.Library.GUIWindowManager.SendMessage(GUIMessage message)
at MediaPortal.GUI.Library.GUIWindowManager.DispatchThreadMessages()
at MediaPortalApp.FrameMove()
at MediaPortal.D3DApp.Application_Idle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at MediaPortalApp.Main(String[] args)