MFCreateADTSMediaSink-Funktion (mfidl.h)
Erstellt eine instance der ADTS-Mediensenke (Audio Data Transport Stream).
Syntax
HRESULT MFCreateADTSMediaSink(
[in] IMFByteStream *pTargetByteStream,
[in] IMFMediaType *pAudioMediaType,
[out] IMFMediaSink **ppMediaSink
);
Parameter
[in] pTargetByteStream
Ein Zeiger auf die IMFByteStream-Schnittstelle eines Bytestreams. Die Mediensenke schreibt den ADTS-Stream in diesen Bytestream. Der Bytestream muss beschreibbar sein.
[in] pAudioMediaType
Ein Zeiger auf die IMFMediaType-Schnittstelle . Dieser Parameter gibt den Medientyp für den ADTS-Stream an. Der Medientyp muss die folgenden Attribute enthalten.
attribute | Wert |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Audio |
MF_MT_SUBTYPE | MFAudioFormat_AAC |
MF_MT_AAC_PAYLOAD_TYPE | 0 (roher AAC) oder 1 (ADTS) |
[out] ppMediaSink
Empfängt einen Zeiger auf die IMFMediaSink-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.
Rückgabewert
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die ADTS-Mediensenke konvertiert AAC-Audiopakete (Advanced Audio Coding) in einen ADTS-Stream. Die primäre Verwendung für diese Mediensenke besteht darin, ADTS über ein Netzwerk zu streamen. Die Ausgabe ist keine Audiodatei, sondern ein Stream von Audioframes mit ADTS-Headern.
Die Mediensenke kann unformatierte AAC-Frames (MF_MT_AAC_PAYLOAD_TYPE = 0) oder ADTS-Pakete (MF_MT_AAC_PAYLOAD_TYPE = 1) akzeptieren. Wenn die Eingabe ein unformatierter AAC ist, fügt die Mediensenke am Anfang jedes Audioframes einen ADTS-Header ein. Wenn es sich bei der Eingabe um ADTS-Pakete handelt, übergibt die Mediensenke die Pakete ohne Änderung an den Bytestream.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mfidl.h |
DLL | Mf.dll |