Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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");
            }
        }