Example #1
0
 public void AudioDelayPlus()
 {
     try
     {
         if (_baseFilterLavAudio != null)
         {
             ILAVAudioSettings asett = _baseFilterLavAudio as ILAVAudioSettings;
             if (asett != null)
             {
                 bool enable;
                 int  delay;
                 var  hr = asett.GetAudioDelay(out enable, out delay);
                 DsError.ThrowExceptionForHR(hr);
                 hr = asett.SetAudioDelay(true, delay + AudioDelayInterval);
                 DsError.ThrowExceptionForHR(hr);
             }
         }
     }
     catch (Exception)
     {
         if (_baseFilterLavAudio != null)
         {
             DirectShowUtil.ReleaseComObject(_baseFilterLavAudio);
             _baseFilterLavAudio = null;
         }
     }
 }
Example #2
0
        private void PlayerStateChanged(object sender, PlayerStateEventArgs e)
        {
            if (e.OldState == PlayerState.Closed)
            {
                var audioDecoder = Player.Filters.Audio.FirstOrDefault(f => f.ClsId == s_ClsIdLavAudioDecoder);
                if (audioDecoder == null)
                {
                    return;
                }

                ComThread.Do(() =>
                {
                    var settings       = (ILAVAudioSettings)audioDecoder.Base;
                    m_LavAudioSettings = settings;
                });

                m_AddDelayMenu.Enabled   = true;
                m_MinusDelayMenu.Enabled = true;
                m_ResetDelayMenu.Enabled = true;
            }
            else if (e.NewState == PlayerState.Closed)
            {
                m_LavAudioSettings       = null;
                m_AddDelayMenu.Enabled   = false;
                m_MinusDelayMenu.Enabled = false;
                m_ResetDelayMenu.Enabled = false;
            }
        }
Example #3
0
 public void AudioDelayMinus()
 {
     try
     {
         if (_baseFilterLavAudio != null)
         {
             ILAVAudioSettings asett = _baseFilterLavAudio as ILAVAudioSettings;
             if (asett != null)
             {
                 bool enable;
                 int  delay;
                 var  hr = asett.GetAudioDelay(out enable, out delay);
                 DsError.ThrowExceptionForHR(hr);
                 hr = asett.SetAudioDelay(true, delay - AudioDelayInterval);
                 DsError.ThrowExceptionForHR(hr);
             }
         }
     }
     catch (Exception ex)
     {
         Log.Error("LAVEngine: AudioDelayMinus: {0}", ex.Message);
         if (_baseFilterLavAudio != null)
         {
             DirectShowUtil.ReleaseComObject(_baseFilterLavAudio);
             _baseFilterLavAudio = null;
         }
     }
 }
Example #4
0
        private void PlayerStateChanged(object sender, PlayerStateEventArgs e)
        {
            if (e.OldState == PlayerState.Closed)
            {
                var audioDecoder = Player.Filters.Audio.FirstOrDefault(f => f.ClsId == s_ClsIdLavAudioDecoder);
                if (audioDecoder == null)
                    return;

                ComThread.Do(() =>
                {
                    var settings = (ILAVAudioSettings)audioDecoder.Base;
                    m_LavAudioSettings = settings;
                });

                m_AddDelayMenu.Enabled = true;
                m_MinusDelayMenu.Enabled = true;
                m_ResetDelayMenu.Enabled = true;
            }
            else if (e.NewState == PlayerState.Closed)
            {
                m_LavAudioSettings = null;
                m_AddDelayMenu.Enabled = false;
                m_MinusDelayMenu.Enabled = false;
                m_ResetDelayMenu.Enabled = false;
            }
        }