你好,
欢迎来到Q&A论坛
传入的样本是解码后的数据吗
IMFStreamSink::ProcessSample方法将示例传送到流。媒体接收器处理此示例。传入的样本不是解码后的数据。在媒体接收器可以接收样本之前,客户端必须在流接收器上设置媒体类型。该示例通常包含流的有效数据,这些数据是否需要进行解码,取决于输出的媒体类型。
参考这个文档:Media Foundation 转换解码
单个视频帧会不会分成多个样本
单个视频帧可以被拆分为多个样本。视频帧可能会被分成几个较小的样本,以便单独处理。
媒体会话在是按帧率调用ProcessSample还是连续调用
Media Sink 消耗样本的速率由 Presentation Clock 控制。
大多数媒体接收器以异步方式处理样本,因此 Stream Sink 可以一次发送多个样本请求。
每个流接收器发送一个或多个 MEStreamSinkRequestSample 事件。为了响应其中每个事件,客户端获取该流的下一个数据示例,并调用 IMFStreamSink::ProcessSample。
ProcessSample的调用取决于媒体接收器的实现和媒体流的计时要求。可以按媒体类型指定的帧速率调用它,如果媒体接收器需要快速处理多个样本,则可以连续调用它
更多细节我建议你参考这个文档:媒体接收器
Thank you
Jeanine