Beispiel #1
0
        private void Play()
        {
            int    r;
            String selected_device_name = cbDevices.SelectedItem.ToString();

            if (selected_device_name.Length <= 0)
            {
                return;
            }

            IBaseFilter input = ((Device)cbDevices.SelectedItem).Filter;
            VideoOutPinConfiguration pin_config = (VideoOutPinConfiguration)cbFormat.SelectedItem;

            if (input == null || pin_config == null || !pin_config.ApplyConfiguration())
            {
                return;
            }

            r = graph_builder.AddFilter(input, cbDevices.SelectedText);
            r = graph_builder.AddFilter((IBaseFilter)grabber, "grabber");
            IPin input_out  = pin_config.Pin;
            IPin grabber_in = GetFirstPin((IBaseFilter)grabber, PinDirection.Input);

            if (input_out != null && grabber_in != null)
            {
                r = graph_builder.Connect(input_out, grabber_in);
            }
            r = media_control.Run();

            active_config = pin_config;
            bPlay.Text    = "Stop";
        }
Beispiel #2
0
        private void Stop()
        {
            media_control.Stop();
            if (active_config != null)
            {
                graph_builder.RemoveFilter(active_config.Filter);
            }
            graph_builder.RemoveFilter((IBaseFilter)grabber);
            active_config = null;

            bPlay.Text = "Play";
        }
Beispiel #3
0
        private void Stop()
        {
            media_control.Stop();
            if ( active_config != null )
            {
                graph_builder.RemoveFilter( active_config.Filter );
            }
            graph_builder.RemoveFilter( (IBaseFilter)grabber );
            active_config = null;

            bPlay.Text = "Play";
        }
Beispiel #4
0
        private void Play()
        {
            int r;
            String selected_device_name = cbDevices.SelectedItem.ToString();
            if ( selected_device_name.Length <= 0 ) return;

            IBaseFilter input = ( (Device)cbDevices.SelectedItem ).Filter;
            VideoOutPinConfiguration pin_config = (VideoOutPinConfiguration)cbFormat.SelectedItem;
            if ( input == null || pin_config == null || !pin_config.ApplyConfiguration() ) return;

            r = graph_builder.AddFilter( input, cbDevices.SelectedText );
            r = graph_builder.AddFilter( (IBaseFilter)grabber, "grabber" );
            IPin input_out = pin_config.Pin;
            IPin grabber_in = GetFirstPin( (IBaseFilter)grabber, PinDirection.Input );
            if ( input_out != null && grabber_in != null )
            {
                r = graph_builder.Connect( input_out, grabber_in );
            }
            r = media_control.Run();

            active_config = pin_config;
            bPlay.Text = "Stop";
        }