Поделиться через


Функция MFCreateADTSMediaSink (mfidl.h)

Создает экземпляр приемника мультимедиа потока аудиоданных (ADTS).

Синтаксис

HRESULT MFCreateADTSMediaSink(
  [in]  IMFByteStream *pTargetByteStream,
  [in]  IMFMediaType  *pAudioMediaType,
  [out] IMFMediaSink  **ppMediaSink
);

Параметры

[in] pTargetByteStream

Указатель на интерфейс IMFByteStream потока байтов. Приемник мультимедиа записывает поток ADTS в этот поток байтов. Поток байтов должен быть записываемым.

[in] pAudioMediaType

Указатель на интерфейс IMFMediaType . Этот параметр задает тип носителя для потока ADTS. Тип носителя должен содержать следующие атрибуты.

attribute Значение
MF_MT_MAJOR_TYPE MFMediaType_Audio
MF_MT_SUBTYPE MFAudioFormat_AAC
MF_MT_AAC_PAYLOAD_TYPE 0 (необработанный AAC) или 1 (ADTS)

[out] ppMediaSink

Получает указатель на интерфейс IMFMediaSink . Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Приемник мультимедиа ADTS преобразует аудиопакеты AAC в поток ADTS. Основное использование этого приемника мультимедиа — потоковая передача ADTS по сети. Выходные данные — это не звуковой файл, а поток аудиокадров с заголовками ADTS.

Приемник мультимедиа может принимать необработанные кадры AAC (MF_MT_AAC_PAYLOAD_TYPE = 0) или пакеты ADTS (MF_MT_AAC_PAYLOAD_TYPE = 1). Если входные данные являются необработаннымИ AAC, приемник мультимедиа вставляет заголовок ADTS в начале каждого звукового кадра. Если входными данными являются пакеты ADTS, приемник мультимедиа передает пакеты в поток байтов без изменений.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header mfidl.h
DLL Mf.dll

См. также раздел

Функции Media Foundation