SourceFilterClassID Property

Summary
Gets the Class ID string of the source filter used to read and expose the contents of the current source media file.
Syntax
C#
C++/CLI
public string SourceFilterClassID { get; } 
public: 
property String^ SourceFilterClassID { 
   String^ get(); 
} 

Property Value

A value representing the Class ID of the source filter used to read the source media.

Remarks

This property is updated automatically when the SourceFile property is set to the current source media file. The current source media file is found in the SourceFile property. This is the file that the MediaInfo object gets information for. The SourceFile property must be set before retrieving information from any of the other MediaInfo properties. Call the ResetSource method to release the source file when it is no longer needed.

Example
C#
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
 
public PlayCtrlForm _form = new PlayCtrlForm(); 
public bool _result = false; 
 
public void ResetSourceExample() 
{ 
   // reference the play control 
   PlayCtrl playctrl = _form.PlayCtrl; 
 
   // input file 
   string inWmvFile = Path.Combine(LEAD_VARS.MediaDir, "MediaInfo_Source.wmv"); 
   string inAviFile = Path.Combine(LEAD_VARS.MediaDir, "MediaInfo_Source.avi"); 
             
   try 
   { 
      // create a new media info object 
      MediaInfo mi = new MediaInfo(); 
 
      // get MP3 info 
      mi.SourceFile = inWmvFile; 
 
      // set the info string with general media information 
      Console.WriteLine("General Info"); 
      Console.WriteLine("Title: " + mi.Title); 
      Console.WriteLine("Author: " + mi.Author); 
      Console.WriteLine("Description: " + mi.Description); 
      Console.WriteLine("Rating: " + mi.Rating); 
      Console.WriteLine("Copyright: " + mi.Copyright); 
      Console.WriteLine(); 
 
      // reset the source 
      mi.ResetSource(); 
 
      // get AVI info 
      mi.SourceFile = inAviFile; 
 
      Console.WriteLine("General Info"); 
      Console.WriteLine("File: " + mi.SourceFile); 
      Console.WriteLine("File Size: " + mi.SourceFileSize); 
      Console.WriteLine("Format: " + mi.SourceFormat + "(" + mi.SourceFormatName + ")"); 
      Console.WriteLine("Duration: " + mi.SourceDuration); 
      Console.WriteLine("Real Bit-rate: " + mi.SourceBitRate); 
      Console.WriteLine("Format Type: " + mi.SourceMediaType.FormatType); 
      Console.WriteLine(); 
 
      Console.WriteLine("Source Filter Info"); 
                
      var s = mi.SourceFilter; 
      IntPtr ptr = Marshal.GetIUnknownForObject(s); 
      Console.WriteLine(string.Format("Address of Object Pointer: 0x{0:X}", ptr.ToInt64())); 
 
      Console.WriteLine("ClassID: " + mi.SourceFilterClassID); 
      Console.WriteLine("Name: " + mi.SourceFilterName); 
 
      Console.WriteLine("Streams Info"); 
      for ( int streamIndex = 0; streamIndex < mi.OutputStreams; streamIndex++ ) 
      { 
         mi.CurrentStream = streamIndex; 
         Console.WriteLine("Stream Index: " + streamIndex); 
         Console.WriteLine("Type: " + mi.StreamType + "(" + mi.StreamTypeName); 
         Console.WriteLine("Subtype: " + mi.StreamSubtype + "(" + mi.StreamSubtypeName); 
         Console.WriteLine("Format Type: " + mi.StreamMediaType.FormatType); 
 
         if (mi.StreamTypeName == "Video") 
         { 
            Console.WriteLine("Width: " + mi.VideoWidth + " pixels"); 
            Console.WriteLine("Height: " + mi.VideoHeight + " pixels"); 
            Console.WriteLine("Bit Count: " + mi.VideoBitCount + " bits per pixel"); 
            Console.WriteLine("Frame Count: " + mi.VideoFrames); 
            Console.WriteLine("Frame Rate: " + mi.VideoFrameRate + "frames per second"); 
            Console.WriteLine("Compression: " + mi.VideoCompression); 
            Console.WriteLine("Bit-rate: " + mi.VideoBitRate + "kbps"); 
            Console.WriteLine("Duration: " + mi.StreamDuration + "seconds"); 
            Console.WriteLine(); 
         } 
         else if (mi.StreamTypeName == "Audio") 
         { 
            Console.WriteLine("Format Tag: " + mi.AudioFormatTag); 
            Console.WriteLine("Channels: " + mi.AudioChannels); 
            Console.WriteLine("Frequency: " + mi.AudioSamplesPerSec + " samples per second"); 
            Console.WriteLine("Sample Size: " + mi.AudioBitsPerSample + " bits per sample"); 
            Console.WriteLine("Average Rate: " + mi.AudioAvgBytesPerSec + "bytes per second"); 
            Console.WriteLine("Duration: " + mi.StreamDuration + "seconds"); 
            Console.WriteLine(); 
         } 
      } 
 
      // media info outputted to console, set result to true 
      _result = true; 
 
      // reset the source 
      mi.ResetSource(); 
 
      // set the result to what we expect 
      _result = (mi.SourceFile == null); 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\LEADTOOLS23\Media"; 
} 
Requirements

Target Platforms

See Also

Reference

MediaInfo Class

MediaInfo Members

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

Leadtools.Multimedia Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.