An dieser Stelle werden eventuelle Korrekturen und Erweiterungen einzelner Beispielquelltexte und Buchseiten veröffentlicht.

Bugfix Klasse CMCIObject (3.2.2003)

 
Betrifft: alle MCI-Beispiele aus Abschnitt 2.1.3
Datei: MCIObject.cpp
Beschreibung: Ohne diese Änderung wird die Positionsanzeige beim Abspielen mit dem
MCI nach genau 4:15 Minuten wieder auf 0:00 zurückspringen.
Update: Zu ändern sind in der Methode GetPosition der Klasse CMCIObject die letzten beiden Programmcodezeilen von bisher:

case TF_MS:
sek = (BYTE) (pos.dwReturn/1000)%60;
min = (BYTE) (pos.dwReturn/1000)/60;

zu

case TF_MS:
sek = (BYTE) ((pos.dwReturn/1000)%60);
min = (BYTE) ((pos.dwReturn/1000)/60);
 

Bugfix Klasse (Namespace) DShowUtils (1.9.2003)

 
Betrifft: alle DirectShow-Beispiele aus Abschnitt 2.2, 2.3, 2.4
Datei: DShowUtils.cpp
Beschreibung: Ohne diese Änderung wird in der Funktion GetPin() eine angeforderte Objektinstanz nicht freigegeben, was zum Programmabsturz führen kann.
Update: fügen Sie in der Methode DShowUtils::GetPin die folgende Programmcodezeile hinzu:

...
while(EnumMedia->Next(1, &pmt, 0) == S_OK)
{
         if (pmt->majortype==*Major_Type) mediafound=true;
         DeleteMediaType(pmt);
}

EnumMedia->Release();

if (mediafound!=true) bFound = FALSE;
...
 

Fehler auf Seite 185 (Kapitel 4) (9.9.2003)

 
Beschreibung: Leider ist uns im abgedruckten Beispiel 4.6 auf Seite 185 ein kleiner Fehler unterlaufen. In den Quellcodebeispielen auf der Buch-CD kommt dieser Fehler nicht vor!
Update: ...
if (i>size1) t=(BYTE*)size2;  //FALSCH
...

...
if (i>size1) t=(BYTE*)p2;  //RICHTIG
...