using System.Runtime.InteropServices;\r
\r
namespace DxPlay\r
-{/*lejatsztasi sebesseg megkeresese */\r
+{\r
public class PlayerGraph : FilterGraph, IDisposable\r
{\r
#if DEBUG\r
catch (Exception e)\r
{\r
logger.Error(e.Message);\r
+ logger.Error(e.StackTrace);\r
throw e;\r
}\r
}\r
}\r
catch (Exception e)\r
{\r
- logger.Error(e);\r
+ logger.Error(e.StackTrace);\r
graphBuilder.RemoveFilter(videoRenderer);\r
logger.Info("Trying default VideoRenderer instead Video Mixing Renderer 9");\r
AddDefaultRenderer(graphBuilder, sampleGrabber);\r
}\r
catch (Exception e)\r
{\r
- logger.Error(e);\r
+ logger.Error(e.StackTrace);\r
graphBuilder.RemoveFilter(videoRenderer);\r
logger.Info("Trying default VideoRenderer instead Video Mixing Renderer 7");\r
AddDefaultRenderer(graphBuilder, sampleGrabber);\r
{\r
logger.Debug("Add LAVSplitter to graph");\r
IBaseFilter splitter = LoadSplitter(graphBuilder);\r
- if (splitter == null)\r
+ if (splitter == null) {\r
throw new Exception("Can not load splitter!");\r
+ }\r
logger.Debug("Connect SourceFilter -> LAVSplitter");\r
FilterGraphTools.ConnectFilters(graphBuilder, sourceFilter, "Output", splitter, "Input", true);\r
return splitter;\r
ILAVSplitterSettings lavSplitterSettings;\r
splitter = FilterProvider.GetSplitter(out lavSplitterSettings);\r
if (splitter == null)\r
+ {\r
splitter = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Splitter");\r
+ }\r
\r
if (splitter != null)\r
graphBuilder.AddFilter(splitter, "LAV Splitter");\r
FilterGraphTools.RemoveAllFilters(graphBuilder);\r
}\r
\r
- Marshal.ReleaseComObject(this);\r
+ if (this != null)\r
+ { \r
+ Marshal.ReleaseComObject(this); \r
+ }\r
isDisposed = true;\r
}\r
}\r