private void Initialize(string path, bool enableReclock, bool enableMadvr, bool enableXySubFilter, bool isDvd) { InitializeGraph(); int hr = 0; if (!isDvd) { hr = m_graph.AddSourceFilter(path, path, out _pSource); DsError.ThrowExceptionForHR(hr); // Try to render the streams. RenderStreams(_pSource, enableReclock, enableMadvr, enableXySubFilter); } else { _logger.Debug("Initializing dvd player to play {0}", path); /* Create a new DVD Navigator. */ _dvdNav = (DirectShowLib.IBaseFilter) new DVDNavigator(); InitializeDvd(path); // Try to render the streams. RenderStreams(_dvdNav, enableReclock, enableMadvr, enableXySubFilter); } // Get the seeking capabilities. hr = _mediaSeeking.GetCapabilities(out _mSeekCaps); DsError.ThrowExceptionForHR(hr); }