LMNetMux Namespace > ILMNetMux Interface : MaxQueueDuration Property |
'Declaration <DispIdAttribute(5)> Property MaxQueueDuration As Double
'Usage Dim instance As ILMNetMux Dim value As Double instance.MaxQueueDuration = value value = instance.MaxQueueDuration
[DispIdAttribute(5)] double MaxQueueDuration {get; set;}
[DispIdAttribute(5)] property double MaxQueueDuration { double get(); void set ( double value); }
Imports Leadtools Imports Leadtools.Multimedia Imports LeadtoolsMultimediaExamples.Fixtures Public _result As Boolean = False Public _form As CaptureCtrlForm = New CaptureCtrlForm() Public _captureCtrl As CaptureCtrl Private Const MaxBitRate As Integer = 128 Private Const TestBitRate As Integer = MaxBitRate + 1 Public Sub NetworkMultiplexerExample() ' reference the capture control _captureCtrl = _form.CaptureCtrl ' output file Dim outFile As String = "ltsf://127.0.0.1:27015" Try ' try to find a USB camera If _captureCtrl.VideoDevices("Logitech") Is Nothing Then Throw New Exception("No Logitech video device available") End If _captureCtrl.VideoDevices("Logitech").Selected = True ' select a video compressor _captureCtrl.VideoCompressors.Mpeg4.Selected = True ' set the target output file _captureCtrl.TargetFormat = TargetFormatType.NET _captureCtrl.TargetFile = outFile If _captureCtrl.IsModeAvailable(CaptureMode.Video) Then ' just 10 seconds of capture time _captureCtrl.TimeLimit = 10 _captureCtrl.UseTimeLimit = True ' ready the capture graph in order to get the LNMetMux instance _captureCtrl.ReadyCapture(CaptureMode.Video) ' get the network multiplexer reference Dim pMux As LMNetMux = TryCast(_captureCtrl.GetSubObject(CaptureObject.TargetFilter), LMNetMux) If Not pMux Is Nothing Then ' set live source (dropping samples is allowed if the sink is not sending fast enough to keep up) pMux.LiveSource = True ' atleast 10 seconds for the netmux sample queue If pMux.MaxQueueDuration < 10 Then pMux.MaxQueueDuration = 10 End If ' 128 kbps max pMux.BitRateLimit = MaxBitRate * 1024 ' set the result to what we expect _result = True End If ' start capture _captureCtrl.StartCapture(CaptureMode.Video) ' we'll loop on the state and pump messages for this example. ' but you should not need to if running from a Windows Forms application. Do While _captureCtrl.State = CaptureState.Running If Not pMux Is Nothing Then ' confirm that the actual bitrate does not exceed our max specified above _result = _result And (pMux.BitRate / 1024 < TestBitRate) End If Application.DoEvents() Loop ' release the mux since its a COM object If Not pMux Is Nothing Then Marshal.ReleaseComObject(pMux) End If End If Catch e1 As Exception _result = False End Try End Sub
using Leadtools; using Leadtools.Multimedia; using LeadtoolsMultimediaExamples.Fixtures; public bool _result = false; public CaptureCtrlForm _form = new CaptureCtrlForm(); public CaptureCtrl _captureCtrl; const int MaxBitRate = 128; const int TestBitRate = MaxBitRate+1; public void NetworkMultiplexerExample() { // reference the capture control _captureCtrl = _form.CaptureCtrl; // output file string outFile = @"ltsf://127.0.0.1:27015"; try { // try to find a USB camera if (_captureCtrl.VideoDevices["Logitech"] == null) throw new Exception("No Logitech video device available"); _captureCtrl.VideoDevices["Logitech"].Selected = true; // select a video compressor _captureCtrl.VideoCompressors.Mpeg4.Selected = true; // set the target output file _captureCtrl.TargetFormat = TargetFormatType.NET; _captureCtrl.TargetFile = outFile; if (_captureCtrl.IsModeAvailable(CaptureMode.Video)) { // just 10 seconds of capture time _captureCtrl.TimeLimit = 10; _captureCtrl.UseTimeLimit = true; // ready the capture graph in order to get the LNMetMux instance _captureCtrl.ReadyCapture(CaptureMode.Video); // get the network multiplexer reference LMNetMux pMux = _captureCtrl.GetSubObject(CaptureObject.TargetFilter) as LMNetMux; if (pMux != null) { // set live source (dropping samples is allowed if the sink is not sending fast enough to keep up) pMux.LiveSource = true; // atleast 10 seconds for the netmux sample queue if (pMux.MaxQueueDuration < 10) pMux.MaxQueueDuration = 10; // 128 kbps max pMux.BitRateLimit = MaxBitRate * 1024; // set the result to what we expect _result = true; } // start capture _captureCtrl.StartCapture(CaptureMode.Video); // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (_captureCtrl.State == CaptureState.Running) { if (pMux != null) { // confirm that the actual bitrate does not exceed our max specified above _result &= (pMux.BitRate/1024 < TestBitRate); } Application.DoEvents(); } // release the mux since its a COM object if (pMux != null) Marshal.ReleaseComObject(pMux); } } catch (Exception) { _result = false; } }