예제 #1
0
        private void OnToxAvBitrateSuggestion(object sender, ToxAvEventArgs.BitrateStatusEventArgs e)
        {
            Logger.Log(LogLevel.Verbose, string.Format("Applying ToxAV suggestion: {0} for audio, {1} for video", e.AudioBitrate, e.VideoBitrate));

            var  audioBitrateError = ToxAvErrorSetBitrate.Ok;
            bool audioBitrateSet   = this.toxAv.SetAudioBitrate(e.FriendNumber, e.AudioBitrate, out audioBitrateError);

            if (!audioBitrateSet)
            {
                Logger.Log(LogLevel.Error, string.Format("Could not set audio bitrate to {0}, error: {1}", e.AudioBitrate, audioBitrateError));
            }

            var  videoBitrateError = ToxAvErrorSetBitrate.Ok;
            bool videoBitrateSet   = this.toxAv.SetVideoBitrate(e.FriendNumber, e.VideoBitrate, out videoBitrateError);

            if (!videoBitrateSet)
            {
                Logger.Log(LogLevel.Error, string.Format("Could not set video bitrate to {0}, error: {1}", e.VideoBitrate, videoBitrateError));
            }

            if (this.callInfo != null)
            {
                if (audioBitrateSet)
                {
                    this.callInfo.AudioBitrate = e.AudioBitrate;
                }

                if (videoBitrateSet)
                {
                    this.callInfo.VideoBitrate = e.VideoBitrate;
                }
            }
        }
예제 #2
0
        private void ToxAv_OnBitrateSuggestion(object sender, ToxAvEventArgs.BitrateStatusEventArgs e)
        {
            Debugging.Write(string.Format("Applying ToxAV suggestion: {1} for audio, {2} for video", e.AudioBitrate, e.VideoBitrate));

            var error = ToxAvErrorSetBitrate.Ok;

            if (!_toxAv.SetAudioBitrate(e.FriendNumber, e.AudioBitrate, out error))
            {
                Debugging.Write(string.Format("Could not set audio bitrate to {0}, error: {1}", e.AudioBitrate, error));
            }

            if (!_toxAv.SetVideoBitrate(e.FriendNumber, e.VideoBitrate, out error))
            {
                Debugging.Write(string.Format("Could not set video bitrate to {0}, error: {1}", e.AudioBitrate, error));
            }
        }
예제 #3
0
 private void VideoBitrateChangedHandler(object sender, ToxAvEventArgs.BitrateStatusEventArgs e)
 {
     VideoBitrateChanged?.Invoke(this, e);
 }