Событие MEDeviceStreamCreated

MEDeviceStreamCreated — это расширенный тип события мультимедиа, создаваемый событием MEUnknown в MFT устройства.

Этот расширенный тип события мультимедиа не имеет полезных данных. Соответствующий hrESULT должен быть предоставлен с помощью метода IMFMediaEvent::GetStatus .

Комментарии

Это расширенное событие мультимедиа должно быть отправлено устройством MFT в рамках выбора типа носителя в выходном потоке DMFT. При вызове SetOutputStreamState в интерфейсе IMFDeviceTransform DMFT отвечает за передачу сигналов об изменении требуемых состояний входного потока с помощью события мультимедиа METransformInputStreamStateChanged . Если конвейер подтверждает изменение состояния входного потока с помощью вызова SetInputStreamState DMFT, DMFT отвечает за завершение внутренней настройки состояния и вызов расширенного типа события MEDeviceStreamCreated .

Если этот расширенный тип события мультимедиа не вызывается, диспетчер преобразования устройств не доставляет входные кадры в DMFT. Расширенный тип события мультимедиа также должен быть задан в качестве атрибута IMFMediaEvent, идентификатора выходного потока с помощью атрибута MF_EVENT_MFT_INPUT_STREAM_ID .

IMFMediaEvent* pMediaEvent = nullptr;

hr = MFCreateMediaEvent (MEUnknown,
                         MEDeviceStreamCreated,
                         S_OK,
                         nullptr,
                         &pMediaEvent);
if (SUCCEEDED(hr))
{
    hr = pMediaEvent->SetUINT32(MF_EVENT_MFT_INPUT_STREAM_ID, GetOutputStreamId());
}

if (SUCCEEDED(hr))
{
    hr = m_pEventQueue->QueueEvent(pMediaEvent);
}

if (nullptr != pMediaEvent)
{
    pMediaEvent->Release();
    pMediaEvent = nullptr;
}

return hr;

Требования

Требование Значение
Минимальная версия клиента
Windows 10 [только классические приложения]
Минимальная версия сервера
Windows Server 2016 [только классические приложения]
Заголовок
mftransform.h

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

События Media Foundation

Отрисовщик потоковой передачи звука