MEStreamTick 事件

訊號表示媒體串流在指定時間沒有可用的資料。

事件值

IMFMediaEvent::GetValue 擷取的可能值包括下列專案。

VARTYPE Description
VT_I8
間隔發生的時間,以 100 奈秒為單位。

備註

此事件會發出資料間距的訊號。 事件會通知下游元件在指定時間不會預期任何資料。

事件應該由哪一個物件傳送,以產生資料流程中媒體範例的時間戳記。 視資料的格式而定,這可以是:

在間距期間,物件應該傳送事件的頻率,就像通常會產生樣本一樣多。 針對視訊,針對每個遺漏畫面傳送一個事件。 若為音訊,請在間距期間至少每秒傳送事件一次。 事件的值是遺漏範例的時間戳記。 視需要傳送多個 MEStreamTick 事件,以填滿資料中的間距。

如果媒體來源有數個數據流,而且一個以上的資料流程中有一個間距,則每個資料流程都應該傳送 MEStreamTick 事件。 例如,如果音訊和視訊資料有間距,則這兩個數據流都會傳送事件。

MEStreamTick 事件未完成 IMFMediaStream::RequestSample 要求。 媒體來源仍然必須針對每個RequestSample 呼叫傳送 MEMediaSample事件。

媒體接收無法直接取用此事件。 若要將資料流程中的間距訊號傳送到媒體接收,請使用MFSTREAMSINK_MARKER_TICK標記呼叫IMFStreamSink::P laceMarker。 Media Foundation 管線會視需要將 MEStreamTick 事件轉換成 MFSTREAMSINK_MARKER_TICK 標記。

在 MEStreamTick 事件之後,請勿在下一個媒體範例上設定 MFSampleExtension_Discontinuity 屬性。 MFSampleExtension_Discontinuity屬性工作表示時間戳記與先前的時間戳記不連續,而 MEStreamTick 則表示時間戳記是連續的,但有些資料遺失。

注意

舊版的檔錯誤指出 MEStreamTick 事件之後的範例應該具有 MFSampleExtension_Discontinuity 屬性。

 

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Mfobjects.h (包含 Mfidl.h)

另請參閱

媒體基礎事件