public override bool SetAudioDualMonoMode(eAudioDualMonoMode mode)
        {
            if (_audioSwitcherFilter == null)
            {
                Log.Info("TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded");
                return(false);
            }
            IMPAudioSwitcherFilter mpSwitcher = _audioSwitcherFilter as IMPAudioSwitcherFilter;

            if (mpSwitcher == null)
            {
                Log.Info("TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded");
                return(false);
            }
            int hr = mpSwitcher.SetAudioDualMonoMode((uint)mode);

            if (hr != 0)
            {
                Log.Info("TsReaderPlayer: SetAudioDualMonoMode mode={0} failed 0x{1:X}", mode.ToString(), hr);
            }
            else
            {
                Log.Info("TsReaderPlayer: SetAudioDualMonoMode mode={0} succeeded", mode.ToString(), hr);
            }
            return(hr == 0);
        }
        public override eAudioDualMonoMode GetAudioDualMonoMode()
        {
            if (_audioSwitcherFilter == null)
            {
                Log.Info("TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded");
                return(eAudioDualMonoMode.UNSUPPORTED);
            }
            IMPAudioSwitcherFilter mpSwitcher = _audioSwitcherFilter as IMPAudioSwitcherFilter;

            if (mpSwitcher == null)
            {
                Log.Info("TsReaderPlayer: AudioDualMonoMode switching not available. Audioswitcher filter not loaded");
                return(eAudioDualMonoMode.UNSUPPORTED);
            }
            uint iMode = 0;
            int  hr    = mpSwitcher.GetAudioDualMonoMode(out iMode);

            if (hr != 0)
            {
                Log.Info("TsReaderPlayer: GetAudioDualMonoMode failed 0x{0:X}", hr);
                return(eAudioDualMonoMode.UNSUPPORTED);
            }
            eAudioDualMonoMode mode = (eAudioDualMonoMode)iMode;

            Log.Info("TsReaderPlayer: GetAudioDualMonoMode mode={0} succeeded", iMode.ToString(), hr);
            return(mode);
        }