MEDeviceStreamCreated 是设备 MFT 使用 MEUnknown 媒体事件生成的扩展媒体事件类型。
此扩展媒体事件类型没有有效负载。 应通过 IMFMediaEvent::GetStatus 方法提供适当的 HRESULT。
言论
此扩展媒体事件必须由设备 MFT 作为 DMFT 输出流的媒体类型选择的一部分发送。 在 IMFDeviceTransform 接口上调用 SetOutputStreamState 时,DMFT 负责使用 METransformInputStreamStateChanged 媒体事件来指示所需输入流状态的变化。 当管道通过调用 DMFT 的 SetInputStreamState 确认输入流状态更改时,DMFT 负责完成其内部状态配置并引发 MEDeviceStreamCreated 扩展媒体事件类型。
如果未引发此扩展媒体事件类型,则设备转换管理器不会向 DMFT 传递任何输入帧。 扩展媒体事件类型还必须设置为 IMFMediaEvent 的属性,即使用 MF_EVENT_MFT_INPUT_STREAM_ID 属性的输出流 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 [仅限桌面应用] |
页眉 |
|
另请参阅