Error processing SSI file
LEADTOOLS Multimedia (Leadtools.Multimedia assembly)

Show in webframe

GetConnectedMediaType Method (SampleTarget)






Gets a copy of the connected media type.
Syntax
public MediaType GetConnectedMediaType()
'Declaration
 
Public Function GetConnectedMediaType() As MediaType
'Usage
 
Dim instance As SampleTarget
Dim value As MediaType
 
value = instance.GetConnectedMediaType()
public:
MediaType^ GetConnectedMediaType(); 

Return Value

A MediaType object that represents the actual media type of the samples that will be delivered.
Remarks
The returned value represents the actual media type of the samples that will be delivered. For more information on accepted versus connected media types, refer to GetAcceptedMediaType method. If the method fails, an error is raised. For more information, refer to the Error Codes.
Example
Copy Code  
Imports Leadtools
Imports Leadtools.Multimedia
Imports LeadtoolsMultimediaExamples.Fixtures

Public _result As Boolean = False
Public _form As CaptureAndPlayCtrlForm = New CaptureAndPlayCtrlForm()
Public _captureTarget As SampleTarget
Public _playSource As SampleSource
Public Sub GetPortableTypeExample()
   ' reference the convert control
   Dim capturectrl As CaptureCtrl = _form.CaptureCtrl
   Dim playctrl As PlayCtrl = _form.PlayCtrl

   ' This example demonstrates how to play a capture stream 
   ' using a play control and portable media types.

   Try
      ' set the source device
      If capturectrl.VideoDevices("Analog") Is Nothing Then
         Throw New Exception("No Analog video devices available!")
      End If

      capturectrl.VideoDevices("Analog").Selected = True

      ' set the preview
      capturectrl.Preview = True

      ' create a sample target object for the capture control
      _captureTarget = New SampleTarget()

      ' set the capture target to our sample target created earlier
      capturectrl.TargetObject = _captureTarget

      ' create a new sample source object for the play control
      _playSource = New SampleSource()

      ' set the video compressor 
      capturectrl.VideoCompressors.MCmpMJpeg.Selected = True

      '// for this example we will only capture 120 seconds of video
      capturectrl.UseTimeLimit = True
      capturectrl.TimeLimit = 120

      ' start the capture
      capturectrl.StartCapture(CaptureMode.Video)

      ' we could just assign the media type from target to source
      ' however, let's use the portable type to simulate
      ' the needed steps for remote playback
      Dim portableMediaType As Byte() = _captureTarget.GetConnectedMediaType().GetPortableType()

      ' initialize a new media type object with the portable type
      Dim mt As MediaType = New MediaType()
      mt.SetPortableType(portableMediaType)

      ' set the sample source media type
      _playSource.SetMediaType(mt)

      ' set the play controls sample source object
      playctrl.SourceObject = _playSource

      ' create a timer to drive the sample delivery
      AddHandler _form.TestTimer.Tick, AddressOf SampleDeliver_Tick
      _form.TestTimer.Interval = 33
      _form.TestTimer.Start()

      ' 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 _
       OrElse capturectrl.State = CaptureState.Paused OrElse capturectrl.State = CaptureState.Pending
         Application.DoEvents()
      Loop
   Catch e1 As Exception
      _result = False
   End Try
End Sub

Private Sub SampleDeliver_Tick(ByVal sender As Object, ByVal e As EventArgs)
   _form.TestTimer.Stop()

   Dim eos As Boolean = False
   Dim cs As MediaSample = Nothing

   Try
      cs = _captureTarget.GetSample(1000)
   Catch cex As COMException
      If cex.ErrorCode = CInt(ErrorCode.VFW_E_SAMPLE_REJECTED_EOS) Then
         eos = True
      Else
         Throw
      End If
   Catch ex As Exception
      Throw
   End Try

   If (Not eos) Then
      _playSource.DeliverSample(1000, cs)
      _form.TestTimer.Start()
   Else
      _playSource.DeliverEndOfStream(1000)
      _form.TestTimer.Stop()

      ' set the result
      _result = True
   End If
End Sub
using Leadtools;
using Leadtools.Multimedia;
using LeadtoolsMultimediaExamples.Fixtures;

public bool _result = false;
public CaptureAndPlayCtrlForm _form = new CaptureAndPlayCtrlForm();
public SampleTarget _captureTarget;
public SampleSource _playSource;
public void GetPortableTypeExample()
{
   // reference the convert control
   CaptureCtrl capturectrl = _form.CaptureCtrl;
   PlayCtrl playctrl = _form.PlayCtrl;

   // This example demonstrates how to play a capture stream 
   // using a play control and portable media types.

   try
   {
      // set the source device
      if (capturectrl.VideoDevices["Analog"] == null)
         throw new Exception("No Analog video devices available!");

      capturectrl.VideoDevices["Analog"].Selected = true;

      // set the preview
      capturectrl.Preview = true;

      // create a sample target object for the capture control
      _captureTarget = new SampleTarget();

      // set the capture target to our sample target created earlier
      capturectrl.TargetObject = _captureTarget;

      // create a new sample source object for the play control
      _playSource = new SampleSource();

      // set the video compressor 
      capturectrl.VideoCompressors.MCmpMJpeg.Selected = true;

      //// for this example we will only capture 120 seconds of video
      capturectrl.UseTimeLimit = true;
      capturectrl.TimeLimit = 120;

      // start the capture
      capturectrl.StartCapture(CaptureMode.Video);

      // we could just assign the media type from target to source
      // however, let's use the portable type to simulate
      // the needed steps for remote playback
      Byte[] portableMediaType = _captureTarget.GetConnectedMediaType().GetPortableType();

      // initialize a new media type object with the portable type
      MediaType mt = new MediaType();
      mt.SetPortableType(portableMediaType);

      // set the sample source media type
      _playSource.SetMediaType(mt);

      // set the play controls sample source object
      playctrl.SourceObject = _playSource;

      // create a timer to drive the sample delivery
      _form.TestTimer.Tick += new EventHandler(SampleDeliver_Tick);
      _form.TestTimer.Interval = 33;
      _form.TestTimer.Start();

      // 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
         || capturectrl.State == CaptureState.Paused
         || capturectrl.State == CaptureState.Pending)
         Application.DoEvents();
   }
   catch (Exception)
   {
      _result = false;
   }
}

void SampleDeliver_Tick(object sender, EventArgs e)
{
   _form.TestTimer.Stop();

   bool eos = false;
   MediaSample cs = null;

   try
   {
      cs = _captureTarget.GetSample(1000);
   }
   catch (COMException cex)
   {
      if (cex.ErrorCode == (int)ErrorCode.VFW_E_SAMPLE_REJECTED_EOS)
         eos = true;
      else
         throw;
   }
   catch (Exception ex)
   {
      throw new Exception(ex.Message);
   }

   if (!eos)
   {
      _playSource.DeliverSample(1000, cs);
      _form.TestTimer.Start();
   }
   else
   {
      _playSource.DeliverEndOfStream(1000);
      _form.TestTimer.Stop();

      // set the result
      _result = true;
   }
}
Requirements

Target Platforms

See Also

Reference

SampleTarget Class
SampleTarget Members

Error processing SSI file
Leadtools.Multimedia requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features