SetPreferredMediaSourceHandler Method

Summary

Sets a preferred media source handler's GUID.

Syntax
C#
VB
C++
public virtual void SetPreferredMediaSourceHandler( 
   PreferredMediaSourceHandler MediaSourceHandlerType, 
   string val 
) 
Public Overridable Sub SetPreferredMediaSourceHandler( _ 
   ByVal MediaSourceHandlerType As PreferredMediaSourceHandler, _ 
   ByVal val As String _ 
)  
public: 
virtual void SetPreferredMediaSourceHandler(  
   PreferredMediaSourceHandler MediaSourceHandlerType, 
   String^ val 
)  

Parameters

MediaSourceHandlerType
A PreferredMediaSourceHandler enumeration value specifying the desired media source handler type

val
String with the following possible values:

Remarks

By default, the toolkit creates media sources according to the default Media Foundation mechanism, and thats by using a Source Resolver which is standard way to create media sources. However, sometimes 3rd party media sources get installed on some computers and assigns their media source handler to a specific media type and are used instead of the media sources you shipped with your application. And unexpected problems can occur if these media sources are not working properly. The SetPreferredMediaSourceHandler method allows you to control which media sources are used in your application. You can decide to use a certain media source handler or you can choose to use only the LEAD ones.

val is a string for the GUID of the media source handler.

This GUID uniquely identifies the media source handler. Every media format has a registered media source handler(s) who are responsible of creating a media source for this media type.

For example, the GUID for the LEAD MPEG2 Transport Media Source Handler is: EFE626C3-0A2C-49FA-8A01-3768B559B6DA

A list of display names for common media source handlers can be found in Constants.PreferredMediaSourceHandlers.

If the MediaSourceHandlerType parameter is equal to PreferredMediaSourceHandler.Generic, then the val parameter's possible values are: PreferredMediaSourceHandlers.LEADDefault or PreferredMediaSourceHandlers.DontCare. If PreferredMediaSourceHandlers.LEADDefault is specified, then default media source handlers will be set for all values listed in PreferredMediaSourceHandler. If PreferredMediaSourceHandlers.DontCare is specified, then the internal list of the preferred media source handler will be cleared and the media source will be created using the Media Foundation's default mechanism (Source Resolver).

It is recommended that you use the constants from Constants.PreferredMediaSourceHandlers whenever possible.

Example
C#
VB
using Leadtools; 
using Leadtools.MediaFoundation; 
using LeadtoolsMediaFoundationExamples.Fixtures; 
 
public bool _result = false; 
public ConvertCtrlForm _form = new ConvertCtrlForm(); 
 
public void ConverterPreferredMediaSourceHandlersExample() 
{ 
   ConvertCtrl convertCtrl = _form.ConvertCtrl; 
 
   try 
   { 
      // set the preferred MPEG2Transport media source handler to the LEAD default (which is the LEAD MPEG2 Transport Media Source handler) 
      convertCtrl.SetPreferredMediaSourceHandler(PreferredMediaSourceHandler.MPEG2Transport, Constants.PreferredMediaSourceHandlers.LEADDefault); 
 
      // the default MPEG2Transport media source should be the LEAD MPEG2 Transport Media Source handler now 
      _result = (string.Compare(convertCtrl.GetPreferredMediaSourceHandler(PreferredMediaSourceHandler.MPEG2Transport), 
                 Constants.PreferredMediaSourceHandlers.MPEG2Program, true) == 0); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
Imports Leadtools 
Imports Leadtools.MediaFoundation 
Imports LeadtoolsMediaFoundationExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As ConvertCtrlForm = New ConvertCtrlForm() 
 
Public Sub ConverterPreferredMediaSourceHandlersExample() 
   Try 
      ' reference the forms capture control 
      Dim convertCtrl As ConvertCtrl = _form.ConvertCtrl 
 
      ' set the preferred MPEG2Transport media source handler to the LEAD default (which is the LEAD MPEG2 Transport Media Source handler) 
      convertCtrl.SetPreferredMediaSourceHandler(PreferredMediaSourceHandler.MPEG2Transport, 
                                     Leadtools.MediaFoundation.Constants.PreferredMediaSourceHandlers.LEADDefault) 
 
      ' the default MPEG2Transport media source should be the LEAD MPEG2 Transport Media Source handler now 
      _result = (String.Compare(convertCtrl.GetPreferredMediaSourceHandler(PreferredMediaSourceHandler.MPEG2Transport), 
                                Leadtools.MediaFoundation.Constants.PreferredMediaSourceHandlers.MPEG2Transport, True) = 0) 
   Catch e1 As Exception 
      _result = False 
   End Try 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MediaFoundation Assembly