Directory.SetCurrentDirectory(path);\r
\r
path = Path.Combine(path, "LAVSplitter.ax");\r
-\r
+ logger.Info("Loading splitter from " + path);\r
IntPtr lavVideoDll = LoadLibrary(path);\r
IntPtr proc = GetProcAddress(lavVideoDll, "DllGetClassObject");\r
\r
if (oSettings != null) Marshal.ReleaseComObject(oSettings);\r
throw new Exception("Could not QueryInterface for the ILAVSplitterSettings interface");\r
}\r
-\r
}\r
- catch\r
+ catch (Exception e)\r
{\r
+ logger.Error(e.Message);\r
// if somehting bad happens give back the path since we will rethrow the exception ater cleanup\r
Directory.SetCurrentDirectory(currentDir);\r
\r
}\r
}\r
else {\r
- logger.Debug("Path does not exists: "+path);\r
+ logger.Info("Path does not exists: "+path);\r
}\r
\r
return filter;\r
#endif\r
logger.Debug("Add SourceFilter to graph");\r
DsError.ThrowExceptionForHR(graphBuilder.AddSourceFilter(fileName, fileName, out IBaseFilter sourceFilter));\r
+ if (sourceFilter == null) {\r
+ throw new Exception("Source filter is null");\r
+ }\r
\r
Splitter = AddSplitter(graphBuilder, sourceFilter);\r
bool audioOnly = true;\r
{\r
logger.Debug("Add LAVSplitter to graph");\r
IBaseFilter splitter = LoadSplitter(graphBuilder);\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
\r
private IBaseFilter LoadVideoDecoder(IGraphBuilder graphBuilder)\r
{\r
- IBaseFilter videoDecoder = null;\r
ILAVVideoSettings lavVideoSettings;\r
- videoDecoder = FilterProvider.GetVideoFilter(out lavVideoSettings);\r
+ IBaseFilter videoDecoder = FilterProvider.GetVideoFilter(out lavVideoSettings);\r
if (videoDecoder == null)\r
videoDecoder = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Video Decoder");\r
//if (videoDecoder != null)\r
\r
private IBaseFilter LoadAudioDecoder(IGraphBuilder graphBuilder)\r
{\r
- IBaseFilter audioDecoder = null;\r
ILAVAudioSettings lavAudioSettings;\r
ILAVAudioStatus lavAudioStatus;\r
- audioDecoder = FilterProvider.GetAudioFilter(out lavAudioSettings, out lavAudioStatus);\r
+ IBaseFilter audioDecoder = FilterProvider.GetAudioFilter(out lavAudioSettings, out lavAudioStatus);\r
if (audioDecoder == null)\r
audioDecoder = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Audio Decoder");\r
//if (audioDecoder != null)\r
\r
private IBaseFilter LoadSplitter(IGraphBuilder graphBuilder)\r
{\r
- IBaseFilter splitter = null;\r
ILAVSplitterSettings lavSplitterSettings;\r
- splitter = FilterProvider.GetSplitter(out lavSplitterSettings);\r
- if (splitter == null) \r
+ IBaseFilter splitter = FilterProvider.GetSplitter(out lavSplitterSettings);\r
+ if (splitter == null) {\r
+ logger.Info("No splitter found in codecs dir, using installed");\r
splitter = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Splitter");\r
+ }\r
+\r
+ if (splitter == null) {\r
+ throw new Exception("A splitter betöltése sikertelen!");\r
+ }\r
\r
- //if (Splitter != null)\r
- // graphBuilder.AddFilter(Splitter, "LAV Splitter");\r
+ //graphBuilder.AddFilter(splitter, "LAV Splitter");\r
return splitter;\r
}\r
\r