ISampleGrabber::SetMediaType-Methode

Hinweis

[Veraltet. Diese API wird möglicherweise aus zukünftigen Releases von Windows.]

Die SetMediaType -Methode gibt den Medientyp für die Verbindung auf dem Eingabepin des Sample Grabber an.

Syntax

HRESULT SetMediaType(
   const AM_MEDIA_TYPE *pType
);

Parameter

pType

Der Zeiger auf eine AM _ MEDIA _ TYPE-Struktur gibt den erforderlichen Medientyp an. Es ist nicht erforderlich, alle Strukturmitglieder zu setzen. Weitere Informationen finden Sie unter Hinweise.

Rückgabewert

Gibt S _ OK zurück.

Hinweise

Standardmäßig hat der Beispielgrabber keinen bevorzugten Medientyp. Um sicherzustellen, dass der Sample Grabber eine Verbindung mit dem richtigen Filter herstellt, rufen Sie diese Methode auf, bevor Sie das Filterdiagramm erstellen.

Diese Methode schränkt den Bereich der Medientypen ein, die der Filter akzeptiert. Wenn der Filter eine Verbindung herstellt, versucht er, mit dem in pType angegebenen Medientyp zu übereinstimmen. Zu diesem Schritt werden die Haupttyp-, Untertyp- und Formattyp-GUIDs in dieser Reihenfolge verglichen. Wenn pType für jede dieser GUIDs den Wert GUID NULL aufgibt, akzeptiert der Sample Grabber den Medientyp ohne _ weitere Überprüfungen. Wenn pType über einen anderen Wert verfügt, vergleicht der Sample Grabber ihn mit der GUID im Verbindungstyp. Sofern die beiden GUIDs nicht genau übereinstimmen, lehnt der Beispielgrabber die Verbindung ab.

Bei Videomedientypen ignoriert der Sample Grabber den Formatblock. Daher akzeptiert sie jede Videogröße und Bildfrequenz. Wenn Sie SetMediaType aufrufen, legen Sie den Formatblock (pbFormat) auf NULL und die Größe (cbFormat) auf null fest. Bei Audiomedientypen untersucht der Sample Grabber die WAVEFORMATEX-Struktur und erfordert, dass der andere Filter eine Verbindung mit diesem Format herstellen muss– es sei denn, der Formatblock in pType ist NULL, oder das Formattag ist WAVE FORMAT PCM, und die anderen Strukturmitglieder sind 0 _ _ (null).

Beispiel 1:

  • Haupttyp: MEDIATYPE _ Video
  • Untertyp: GUID _ NULL
  • Formattyp: GUID _ NULL

Der Sample Grabber akzeptiert jeden Videotyp, bei dem der Haupttyp MEDIATYPE _ Video entspricht. Der Untertyp wird nicht überprüft.

Beispiel 2:

  • Haupttyp: MEDIATYPE _ Video
  • Untertyp: MEDIASUBTYPE _ RGB24
  • Formattyp: GUID _ NULL

Das Beispielgrabber überprüft nun den Untertyp und akzeptiert nur RGB 24-Videos.

Einschränkungen: Unabhängig davon, welchen Typ Sie festlegen, lehnt der Sample Grabber Filter alle Videotypen mit top-down-Ausrichtung (negative biHeight) oder mit dem Formattyp FORMAT _ VideoInfo2 ab. Obwohl die Methode erfolgreich ist, wird in diesem Fall SetMediaType keine Verbindung mit dem Filter hergestellt.

Hinweis

Die Headerdatei Qedit.h ist nicht mit Direct3D-Headern nach Version 7 kompatibel.

Hinweis

Um Qedit.h zu erhalten, laden Sie das Microsoft Windows SDK-Update für Windows Vista und .NET Framework 3.0 herunter. Qedit.h ist im Microsoft Windows SDK für Windows 7 und .NET Framework 3.5 Service Pack 1 nicht verfügbar.

Anforderungen

Anforderung Wert
Header
Qedit.h
Bibliothek
Strmiids.lib

Siehe auch

Verwenden des Beispielgrabbers

ISampleGrabber-Schnittstelle