The following subroutine obtains stream information from an AVI file and determines the stream type from the AVISTREAMINFO structure returned by the AVIStreamInfo function.
// StreamTypes - opens the streams in an AVI file and determines
// stream types.
//
// Global variables
// gcpavi - count of streams in an AVI file
// gapavi[] = array of stream-interface pointers
void StreamTypes(HWND hwnd)
{
AVISTREAMINFO avis;
LONG r, lHeight = 0;
WORD w;
int i;
RECT rc;
// Walk through all streams.
for (i = 0; i < gcpavi; i++) {
AVIStreamInfo(gapavi[i], &avis, sizeof(avis));
if (avis.fccType == streamtypeVIDEO) {
// Place video-processing functions here.
}
else if (avis.fccType == streamtypeAUDIO) {
// Place audio-processing functions here.
}
else if (avis.fccType == streamtypeTEXT) {
// Place text-processing functions here.
}
}
}