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"; }
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"; }
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"; }
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"; }