IMFASFMultiplexer::P rocessSample-Methode (wmcontainer.h)
Übermittelt Eingabebeispiele an den Multiplexer.
Syntax
HRESULT ProcessSample(
[in] WORD wStreamNumber,
[in] IMFSample *pISample,
[in] LONGLONG hnsTimestampAdjust
);
Parameter
[in] wStreamNumber
Die Streamnummer des Datenstroms, zu dem das Beispiel gehört.
[in] pISample
Zeiger auf die IMFSample-Schnittstelle des Eingabebeispiels. Das Eingabebeispiel enthält die Mediendaten, die in ASF-Datenpakete konvertiert werden sollen. Wenn möglich, sollte der Zeitstempel dieses Beispiels genau sein.
[in] hnsTimestampAdjust
Die Anpassung, die auf den Zeitstempel des Beispiels angewendet werden soll. Dieser Parameter wird verwendet, wenn der Aufrufer die Beispielzeit auf pISample verschieben möchte. Dieser Wert sollte positiv sein, wenn der Zeitstempel vorgeschoben werden soll, und negativ, wenn der Zeitstempel zurückgeschoben werden soll. Dieser Zeitstempel wird der Stichprobenzeit auf pISample hinzugefügt, und die resultierende Zeit wird vom Multiplexer anstelle der ursprünglichen Samplezeit verwendet. Wenn keine Anpassung erforderlich ist, legen Sie diesen Wert auf 0 fest.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Es gibt zu viele Pakete, die darauf warten, vom Multiplexer abgerufen zu werden. Rufen Sie IMFASFMultiplexer::GetNextPacket auf, um die Pakete abzurufen. |
|
Das verarbeitete Beispiel verstößt gegen die Bandbreitenbeschränkungen, die für den Stream im ASF ContentInfo-Objekt angegeben sind. Wenn dieser Fehler generiert wird, wird das Beispiel gelöscht. |
|
Der in wStreamNumber übergebene Wert ist ungültig. |
|
Die Präsentationszeit des Eingabemedienbeispiels ist früher als die Sendezeit. |
Hinweise
Die Anwendung übergibt Beispiele an ProcessSample, und der ASF-Multiplexer stellt sie intern in die Warteschlange, bis sie in ASF-Pakete platziert werden können. Rufen Sie IMFASFMultiplexer::GetNextPacket auf, um das ASF-Datenpaket abzurufen.
Rufen Sie nach jedem Aufruf von ProcessSampleGetNextPacket in einer Schleife auf, um alle verfügbaren Datenpakete abzurufen. Ein Codebeispiel finden Sie unter Generieren neuer ASF-Datenpakete.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wmcontainer.h |
Bibliothek | Mfuuid.lib |