private void cmbVideoEncoder_SelectedIndexChanged(object sender, EventArgs e) { VideoEncoderConfigurationWrapper config = cmbVideoEncoder.SelectedItem as VideoEncoderConfigurationWrapper; if ((config == null) || (config.Configuration.token != _currentVideoEncoder)) { _currentVideoEncoder = config.Configuration.token; cmbVideoCodec.Items.Clear(); cmbVideoResolution.Items.Clear(); txtVideoBitrate.Text = null; txtVideoFramerate.Text = null; btnGetStreams.Enabled = _videoWindow != null; } }
private void buttonGetVideoCodecs_Click(object sender, EventArgs e) { VideoEncoderConfigurationWrapper encoderConfig = cmbVideoEncoder.SelectedItem as VideoEncoderConfigurationWrapper; if (encoderConfig == null) { ShowPrompt("Select video encoder configuration", "Error"); } else { try { _controller.GetVideoEncoderConfigOptions(encoderConfig.Configuration.token); } catch (Exception ex) { ShowError(ex); } } }
private void OnPlayVideo() { MediaProfileWrapper profile = cmbMediaProfile.SelectedItem as MediaProfileWrapper; if (profile != null) { VideoSourceConfigurationWrapper videoSourceConfig = cmbVideoSource.SelectedItem as VideoSourceConfigurationWrapper; VideoEncoderConfigurationWrapper videoEncoderConfig = cmbVideoEncoder.SelectedItem as VideoEncoderConfigurationWrapper; AudioSourceConfigurationWrapper audioSourceConfig = cmbAudioSource.SelectedItem as AudioSourceConfigurationWrapper; AudioEncoderConfigurationWrapper audioEncoderConfig = cmbAudioEncoder.SelectedItem as AudioEncoderConfigurationWrapper; Media.TransportProtocol transport = GetTransportProtocol(); if ((videoSourceConfig != null) && (videoEncoderConfig != null)) { bool testProfile = IsTestProfile(profile.Profile); if (testProfile) { VideoCodecWrapper codecOptions = cmbVideoCodec.SelectedItem as VideoCodecWrapper; VideoResolutionWrapper resolution = cmbVideoResolution.SelectedItem as VideoResolutionWrapper; int?framerate = null; if (!string.IsNullOrEmpty(txtVideoFramerate.Text)) { framerate = int.Parse(txtVideoFramerate.Text); } int?bitrate = null; if (!string.IsNullOrEmpty(txtVideoBitrate.Text)) { bitrate = int.Parse(txtVideoBitrate.Text); } if (codecOptions.Encoding == Media.VideoEncoding.H264) { SetH264Configuration(videoEncoderConfig.Configuration, codecOptions.H264, resolution.Resolution, framerate, bitrate); } else if (codecOptions.Encoding == Media.VideoEncoding.JPEG) { SetJPEGConfiguration(videoEncoderConfig.Configuration, codecOptions.Jpeg, resolution.Resolution, framerate, bitrate); } else if (codecOptions.Encoding == Media.VideoEncoding.MPEG4) { SetMPEG4Configuration(videoEncoderConfig.Configuration, codecOptions.Mpeg4, resolution.Resolution, framerate, bitrate); } if ((audioEncoderConfig != null) && (audioEncoderConfig.Configuration != null)) { Media.AudioEncoderConfigurationOption audioCodecOptions = cmbAudioCodec.SelectedItem as Media.AudioEncoderConfigurationOption; if (audioCodecOptions != null) { SetAudioConfiguration(audioEncoderConfig.Configuration, audioCodecOptions); } } Controller.GetMediaUri( profile.Profile.token != null ? profile.Profile : null,//if profile was not really created, pass null as parameter videoSourceConfig.Configuration, videoEncoderConfig.Configuration, audioSourceConfig != null ? audioSourceConfig.Configuration : null, audioEncoderConfig != null ? audioEncoderConfig.Configuration : null, transport); } else { Controller.GetMediaUri(profile.Profile, transport); } } else { ShowPrompt("Select video source and encoder configuration", "Error"); } } else { ShowPrompt("Select media profile", "Error"); } }