From: elgekko Date: Tue, 13 Jun 2023 19:23:16 +0000 (+0200) Subject: Nem mukodo graph X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=701c435c8e3e62d11a35668cad6fc90c7772a3d4;p=mediacube.git Nem mukodo graph --- diff --git a/client/DxPlay/LAVInterfaces.cs b/client/DxPlay/LAVInterfaces.cs index ef7e8b4f..70a58712 100644 --- a/client/DxPlay/LAVInterfaces.cs +++ b/client/DxPlay/LAVInterfaces.cs @@ -1045,7 +1045,7 @@ namespace DxPlay { Directory.SetCurrentDirectory(path); path = Path.Combine(path, "LAVSplitter.ax"); - + logger.Info("Loading splitter from " + path); IntPtr lavVideoDll = LoadLibrary(path); IntPtr proc = GetProcAddress(lavVideoDll, "DllGetClassObject"); @@ -1080,10 +1080,10 @@ namespace DxPlay { if (oSettings != null) Marshal.ReleaseComObject(oSettings); throw new Exception("Could not QueryInterface for the ILAVSplitterSettings interface"); } - } - catch + catch (Exception e) { + logger.Error(e.Message); // if somehting bad happens give back the path since we will rethrow the exception ater cleanup Directory.SetCurrentDirectory(currentDir); @@ -1107,7 +1107,7 @@ namespace DxPlay { } } else { - logger.Debug("Path does not exists: "+path); + logger.Info("Path does not exists: "+path); } return filter; diff --git a/client/DxPlay/PlayerGraph.cs b/client/DxPlay/PlayerGraph.cs index 8fad9c5a..b6e612b7 100644 --- a/client/DxPlay/PlayerGraph.cs +++ b/client/DxPlay/PlayerGraph.cs @@ -38,6 +38,9 @@ namespace DxPlay { #endif logger.Debug("Add SourceFilter to graph"); DsError.ThrowExceptionForHR(graphBuilder.AddSourceFilter(fileName, fileName, out IBaseFilter sourceFilter)); + if (sourceFilter == null) { + throw new Exception("Source filter is null"); + } Splitter = AddSplitter(graphBuilder, sourceFilter); bool audioOnly = true; @@ -242,9 +245,6 @@ namespace DxPlay { { logger.Debug("Add LAVSplitter to graph"); IBaseFilter splitter = LoadSplitter(graphBuilder); - if (splitter == null) { - throw new Exception("Can not load Splitter!"); - } logger.Debug("Connect SourceFilter -> LAVSplitter"); FilterGraphTools.ConnectFilters(graphBuilder, sourceFilter, "Output", splitter, "Input", true); return splitter; @@ -281,9 +281,8 @@ namespace DxPlay { private IBaseFilter LoadVideoDecoder(IGraphBuilder graphBuilder) { - IBaseFilter videoDecoder = null; ILAVVideoSettings lavVideoSettings; - videoDecoder = FilterProvider.GetVideoFilter(out lavVideoSettings); + IBaseFilter videoDecoder = FilterProvider.GetVideoFilter(out lavVideoSettings); if (videoDecoder == null) videoDecoder = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Video Decoder"); //if (videoDecoder != null) @@ -293,10 +292,9 @@ namespace DxPlay { private IBaseFilter LoadAudioDecoder(IGraphBuilder graphBuilder) { - IBaseFilter audioDecoder = null; ILAVAudioSettings lavAudioSettings; ILAVAudioStatus lavAudioStatus; - audioDecoder = FilterProvider.GetAudioFilter(out lavAudioSettings, out lavAudioStatus); + IBaseFilter audioDecoder = FilterProvider.GetAudioFilter(out lavAudioSettings, out lavAudioStatus); if (audioDecoder == null) audioDecoder = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Audio Decoder"); //if (audioDecoder != null) @@ -310,14 +308,18 @@ namespace DxPlay { private IBaseFilter LoadSplitter(IGraphBuilder graphBuilder) { - IBaseFilter splitter = null; ILAVSplitterSettings lavSplitterSettings; - splitter = FilterProvider.GetSplitter(out lavSplitterSettings); - if (splitter == null) + IBaseFilter splitter = FilterProvider.GetSplitter(out lavSplitterSettings); + if (splitter == null) { + logger.Info("No splitter found in codecs dir, using installed"); splitter = FilterGraphTools.AddFilterByName(graphBuilder, FilterCategory.LegacyAmFilterCategory, "LAV Splitter"); + } + + if (splitter == null) { + throw new Exception("A splitter betöltése sikertelen!"); + } - //if (Splitter != null) - // graphBuilder.AddFilter(Splitter, "LAV Splitter"); + //graphBuilder.AddFilter(splitter, "LAV Splitter"); return splitter; }