GetSubpictureStream Method

Summary

Gets a specific DVDSubpictureStream object from the title.

Syntax
C#
VB
C++
public DVDSubpictureStream GetSubpictureStream( 
   int Index 
) 
Public Function GetSubpictureStream( _ 
   ByVal Index As Integer _ 
) As DVDSubpictureStream 
public: 
DVDSubpictureStream^ GetSubpictureStream(  
   int Index 
)  

Parameters

Index
The index for a specific Subpicture stream.

Return Value

A DVDSubpictureStream object for the specified index.

Remarks

To get number of Subpicture streams in the title, use the SubpictureStreamCount property.

Example
C#
VB
using Leadtools; 
using Leadtools.Multimedia; 
using LeadtoolsMultimediaExamples.Fixtures; 
 
public bool _result = false; 
public ConvertCtrlForm _form = new ConvertCtrlForm(); 
 
public void UseDVDSourceExample() 
{ 
   // reference the convert control 
   ConvertCtrl convertctrl = _form.ConvertCtrl; 
 
   // input and output files 
   string inFile = Path.Combine(LEAD_VARS.MediaDir, @"VIDEO_TS\VIDEO_TS.IFO"); 
   string outFile = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_UseDVDSourceExample.avi"); 
 
   try 
   { 
      DVDSource dvdSource; 
      DVDTitle title; 
      DVDChapter chapter; 
      DVDSubpictureStream subpictureStream; 
      DVDAudioStream audioStream; 
      DVDVideoCompression comp; 
      DVDAudioAppMode appMode; 
      DVDAudioFormat audFormat; 
      DVDAudioLangExt audLangExt; 
      DVDSubpictureCoding subPicCoding; 
      DVDSubpictureLangExt subPicLangExt; 
      DVDSubpictureType subPicType; 
 
      int i; 
      int lCount; 
      long lVal; 
      bool bVal; 
      double dVal; 
      string strPlayList; 
 
      // force to use the DVD source 
      convertctrl.UseDVDSource = true; 
 
      // set the input and output files 
      convertctrl.SourceFile = inFile; 
      convertctrl.TargetFile = outFile; 
 
      // reference the DVDSource object 
      dvdSource = (DVDSource)convertctrl.GetSubObject(ConvertObject.SourceFilter); 
 
      //  Select the main title on the disc 
      if ((dvdSource.Selected != DVDSourceSelectedState.MainSelected)) 
         dvdSource.Selected = DVDSourceSelectedState.MainSelected; 
 
      //  Get the disc duration 
      dVal = dvdSource.TotalDuration; 
      //  Get the selected title duration 
      dVal = dvdSource.SelectedDuration; 
 
      //  Get the play list settings 
      strPlayList = dvdSource.PlayList; 
 
      //  You can save this to a file and restore the settings later 
      //  Restore the playlist settings 
      dvdSource.PlayList = strPlayList; 
 
      //  Get the title count in the disc 
      lCount = dvdSource.TitleCount; 
 
      for (i = 0; (i <= (lCount - 1)); i++) 
      { 
         //  Get the title interface 
         title = dvdSource.GetTitle(i); 
 
         //  Get the X and Y aspects 
         lVal = title.AspectX; 
         lVal = title.AspectY; 
 
         //  Get if the title is a film mode or camera mode 
         bVal = title.IsFilmMode; 
 
         //  Get if there is a user data in line 21, field 1 
         bVal = title.Line21Field1InGOP; 
 
         //  Get if there is a user data in line 21, field 2 
         bVal = title.Line21Field2InGOP; 
 
         //  Get the compression 
         comp = title.Compression; 
 
         //  Get the X source resolution 
         lVal = title.SourceResolutionX; 
 
         //  Get the Y source resolution 
         lVal = title.SourceResolutionY; 
 
         //  Get the Frame Height 
         lVal = title.FrameHeight; 
 
         //  Get the Frame Rate 
         lVal = title.FrameRate; 
 
         //  Get if the source is a letter boxed 
         bVal = title.IsSourceLetterboxed; 
 
         //  Get if the picture can be shown as letterbox 
         bVal = title.LetterboxPermitted; 
 
         //  Get if the picture can be shown as pan-scan 
         bVal = title.PanscanPermitted; 
 
         //  Get the title duration 
         dVal = title.TotalDuration; 
 
         //  Select all title chapters 
         if ((title.Selected != DVDTitleSelectedState.Selected)) 
            title.Selected = DVDTitleSelectedState.Selected; 
 
         //  Get the selected chapter duration 
         dVal = title.SelectedDuration; 
 
         //  Get the audio stream count in the title 
         if ((title.AudioStreamCount > 0)) 
         { 
            //  Select the first audio stream 
            if ((title.SelectedAudioStream == -1)) 
               title.SelectedAudioStream = 0; 
 
            //  Get the first audio stream 
            audioStream = title.GetAudioStream(0); 
 
            //  Select the audio stream 
            if ((audioStream.Selected == false)) 
               audioStream.Selected = true; 
 
            //  Get the application mode 
            appMode = audioStream.AppMode; 
 
            //  Get the application mode data 
            lVal = audioStream.AppModeData; 
 
            //  Get the auido format 
            audFormat = audioStream.AudioFormat; 
 
            //  Get the number of channels 
            lVal = audioStream.Channels; 
 
            //  Get the frequency 
            lVal = audioStream.Frequency; 
 
            //  Get the language 
            lVal = audioStream.Language; 
 
            //  Get the language extension 
            audLangExt = audioStream.LanguageExtension; 
 
            //  Get the quantization 
            lVal = audioStream.Quantization; 
 
            if ((title.SubpictureStreamCount > 0)) 
            { 
               //  Select the first subpicture stream 
               if ((title.SelectedSubpictureStream == -1)) 
                  title.SelectedSubpictureStream = 0; 
 
               //  Get the first subpicture stream 
               subpictureStream = title.GetSubpictureStream(0); 
 
               //  Select the subpicture stream 
               if ((subpictureStream.Selected == false)) 
                  subpictureStream.Selected = true; 
 
               //  Get the coding mode 
               subPicCoding = subpictureStream.CodingMode; 
 
               //  Get the langauge 
               lVal = subpictureStream.Language; 
 
               //  Get the language extension 
               subPicLangExt = subpictureStream.LanguageExtension; 
 
               //  Get the type 
               subPicType = subpictureStream.Type; 
            } 
            //  Get the chapter count 
            if ((title.ChapterCount > 0)) 
            { 
               //  Get the first chapter 
               chapter = title.GetChapter(0); 
 
               //  Get the chapter duration 
               dVal = chapter.Duration; 
 
               //  Get if the chapter is selected 
               if ((chapter.Selected == false)) 
                  chapter.Selected = true; 
            } 
         } 
      } 
   } 
   catch (COMException) 
   { 
      _result = false; 
   } 
   catch (Exception) 
   { 
      _result = false; 
   } 
 
   // 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 (convertctrl.State == ConvertState.Running) 
      Application.DoEvents(); 
} 
 
static class LEAD_VARS 
{ 
   public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media"; 
} 
Imports Leadtools 
Imports Leadtools.Multimedia 
Imports LeadtoolsMultimediaExamples.Fixtures 
 
Public _result As Boolean = False 
Public _form As ConvertCtrlForm = New ConvertCtrlForm() 
 
Public Sub UseDVDSourceExample() 
   ' reference the convert control 
   Dim convertctrl As ConvertCtrl = _form.ConvertCtrl 
 
   ' input and output files 
   Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "VIDEO_TS.IFO") 
   Dim outFile As String = Path.Combine(LEAD_VARS.MediaDir, "ConvertCtrl_UseDVDSourceExample.avi") 
 
   Try 
      Dim dvdSource As DVDSource 
      Dim title As DVDTitle 
      Dim chapter As DVDChapter 
      Dim subpictureStream As DVDSubpictureStream 
      Dim audioStream As DVDAudioStream 
      Dim comp As DVDVideoCompression 
      Dim appMode As DVDAudioAppMode 
      Dim audFormat As DVDAudioFormat 
      Dim audLangExt As DVDAudioLangExt 
      Dim subPicCoding As DVDSubpictureCoding 
      Dim subPicLangExt As DVDSubpictureLangExt 
      Dim subPicType As DVDSubpictureType 
 
      Dim i As Integer 
      Dim lCount As Integer 
      Dim lVal As Long 
      Dim bVal As Boolean 
      Dim dVal As Double 
      Dim strPlayList As String 
 
      ' force to use the DVD source 
      convertctrl.UseDVDSource = True 
 
      ' set the input and output files 
      convertctrl.SourceFile = inFile 
      convertctrl.TargetFile = outFile 
 
      ' reference the DVDSource object 
      dvdSource = CType(convertctrl.GetSubObject(ConvertObject.SourceFilter), DVDSource) 
 
      '  Select the main title on the disc 
      If (dvdSource.Selected <> DVDSourceSelectedState.MainSelected) Then 
         dvdSource.Selected = DVDSourceSelectedState.MainSelected 
      End If 
 
      '  Get the disc duration 
      dVal = dvdSource.TotalDuration 
      '  Get the selected title duration 
      dVal = dvdSource.SelectedDuration 
 
      '  Get the play list settings 
      strPlayList = dvdSource.PlayList 
 
      '  You can save this to a file and restore the settings later 
      '  Restore the playlist settings 
      dvdSource.PlayList = strPlayList 
 
      '  Get the title count in the disc 
      lCount = dvdSource.TitleCount 
 
      i = 0 
      Do While (i <= (lCount - 1)) 
         '  Get the title interface 
         title = dvdSource.GetTitle(i) 
 
         '  Get the X and Y aspects 
         lVal = title.AspectX 
         lVal = title.AspectY 
 
         '  Get if the title is a film mode or camera mode 
         bVal = title.IsFilmMode 
 
         '  Get if there is a user data in line 21, field 1 
         bVal = title.Line21Field1InGOP 
 
         '  Get if there is a user data in line 21, field 2 
         bVal = title.Line21Field2InGOP 
 
         '  Get the compression 
         comp = title.Compression 
 
         '  Get the X source resolution 
         lVal = title.SourceResolutionX 
 
         '  Get the Y source resolution 
         lVal = title.SourceResolutionY 
 
         '  Get the Frame Height 
         lVal = title.FrameHeight 
 
         '  Get the Frame Rate 
         lVal = title.FrameRate 
 
         '  Get if the source is a letter boxed 
         bVal = title.IsSourceLetterboxed 
 
         '  Get if the picture can be shown as letterbox 
         bVal = title.LetterboxPermitted 
 
         '  Get if the picture can be shown as pan-scan 
         bVal = title.PanscanPermitted 
 
         '  Get the title duration 
         dVal = title.TotalDuration 
 
         '  Select all title chapters 
         If (title.Selected <> DVDTitleSelectedState.Selected) Then 
            title.Selected = DVDTitleSelectedState.Selected 
         End If 
 
         '  Get the selected chapter duration 
         dVal = title.SelectedDuration 
 
         '  Get the audio stream count in the title 
         If (title.AudioStreamCount > 0) Then 
            '  Select the first audio stream 
            If (title.SelectedAudioStream = -1) Then 
               title.SelectedAudioStream = 0 
            End If 
 
            '  Get the first audio stream 
            audioStream = title.GetAudioStream(0) 
 
            '  Select the audio stream 
            If (audioStream.Selected = False) Then 
               audioStream.Selected = True 
            End If 
 
            '  Get the application mode 
            appMode = audioStream.AppMode 
 
            '  Get the application mode data 
            lVal = audioStream.AppModeData 
 
            '  Get the auido format 
            audFormat = audioStream.AudioFormat 
 
            '  Get the number of channels 
            lVal = audioStream.Channels 
 
            '  Get the frequency 
            lVal = audioStream.Frequency 
 
            '  Get the language 
            lVal = audioStream.Language 
 
            '  Get the language extension 
            audLangExt = audioStream.LanguageExtension 
 
            '  Get the quantization 
            lVal = audioStream.Quantization 
 
            If (title.SubpictureStreamCount > 0) Then 
               '  Select the first subpicture stream 
               If (title.SelectedSubpictureStream = -1) Then 
                  title.SelectedSubpictureStream = 0 
               End If 
 
               '  Get the first subpicture stream 
               subpictureStream = title.GetSubpictureStream(0) 
 
               '  Select the subpicture stream 
               If (subpictureStream.Selected = False) Then 
                  subpictureStream.Selected = True 
               End If 
 
               '  Get the coding mode 
               subPicCoding = subpictureStream.CodingMode 
 
               '  Get the langauge 
               lVal = subpictureStream.Language 
 
               '  Get the language extension 
               subPicLangExt = subpictureStream.LanguageExtension 
 
               '  Get the type 
               subPicType = subpictureStream.Type 
            End If 
            '  Get the chapter count 
            If (title.ChapterCount > 0) Then 
               '  Get the first chapter 
               chapter = title.GetChapter(0) 
 
               '  Get the chapter duration 
               dVal = chapter.Duration 
 
               '  Get if the chapter is selected 
               If (chapter.Selected = False) Then 
                  chapter.Selected = True 
               End If 
            End If 
         End If 
         i += 1 
      Loop 
   Catch e1 As COMException 
      _result = False 
   Catch e2 As Exception 
      _result = False 
   End Try 
 
   ' 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 convertctrl.State = ConvertState.Running 
      Application.DoEvents() 
   Loop 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 20\Media" 
End Class 
Requirements

Target Platforms

See Also

Reference

DVDTitle Class

DVDTitle Members

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

Leadtools.Multimedia Assembly