﻿// Decompiled with JetBrains decompiler
// Type: AForge.Video.DirectShow.Internals.IAMCrossbar
// Assembly: PluginRemoteWebcam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 264B4BD0-AE99-4418-804A-8A34B1A0A20B
// Assembly location: C:\Users\ian\Downloads\Telegram Desktop\fein\Plugins\PluginRemoteWebcam.dll

using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;


namespace AForge.Video.DirectShow.Internals
{
	[SuppressUnmanagedCodeSecurity]
	[Guid("C6E13380-30AC-11D0-A18C-00A0C9118956")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	[ComImport]
	internal interface IAMCrossbar
	{
		[MethodImpl(MethodImplOptions.PreserveSig)]
		int get_PinCounts(out int outputPinCount, out int inputPinCount);

		[MethodImpl(MethodImplOptions.PreserveSig)]
		int CanRoute([In] int outputPinIndex, [In] int inputPinIndex);

		[MethodImpl(MethodImplOptions.PreserveSig)]
		int Route([In] int outputPinIndex, [In] int inputPinIndex);

		[MethodImpl(MethodImplOptions.PreserveSig)]
		int get_IsRoutedTo([In] int outputPinIndex, out int inputPinIndex);

		[MethodImpl(MethodImplOptions.PreserveSig)]
		int get_CrossbarPinInfo(
			[MarshalAs(UnmanagedType.Bool), In] bool isInputPin,
			[In] int pinIndex,
			out int pinIndexRelated,
			out PhysicalConnectorType physicalType);
	}
}
