A file can contain one or more programs. The programs contain data that is not related to data from another program. Each program can contain one or more streams.
Currently, only MPEG2 Transport files can contain multiple programs. These files are usually coming from HDTV capture cards and each program corresponds to a TV channel. A typical such file would look like this:
The file has 3 programs, each program corresponding to a TV channel.
Each program has one video stream and one or more audio streams. One audio stream might be in English, while another audio stream might be in Spanish or French. The streams contained in the program are related, because they are for the same movie or TV show.
The programs are not related, because they are independent (the movie on TV Channel X has no connection to the sitcom on TV Channel Y).
Each audio stream might contain one or more audio channels. For example, a stereo audio stream will contain a Left channel and Right channel. While a surround stream will also contain Center channel, Rear Left channel, Rear Right Channel, etc.
To avoid confusions between TV channels and audio channels, we used the term "Program" to refer to this logical grouping of elementary streams.
So, as a recap:
Each file can contain one or more programs (most files have only one)
Each program can contain one or more elementary streams (video, audio, metadata, etc)
Each audio stream contains one or more audio channels
LEADTOOLS will play or convert only one program at a time. You can select which program to play or convert by setting the program index. The program index is 0-based, so the allowed values are between 0 and ProgramCount - 1.
Use the following properties to get the number of programs:
Use the following properties to select the current program:
Additional functions are listed in the See Also section.
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET