MEStreamTick 事件
訊號表示媒體串流在指定時間沒有可用的資料。
事件值
從 IMFMediaEvent::GetValue 擷取的可能值包括下列專案。
VARTYPE | Description |
---|---|
VT_I8 |
間隔發生的時間,以 100 奈秒為單位。 |
備註
此事件會發出資料間距的訊號。 事件會通知下游元件在指定時間不會預期任何資料。
事件應該由哪一個物件傳送,以產生資料流程中媒體範例的時間戳記。 視資料的格式而定,這可以是:
- 媒體來源上的媒體串流 (IMFMediaStream 介面) ,或
- 解碼器轉換 (IMFTransform 介面) 。
在間距期間,物件應該傳送事件的頻率,就像通常會產生樣本一樣多。 針對視訊,針對每個遺漏畫面傳送一個事件。 若為音訊,請在間距期間至少每秒傳送事件一次。 事件的值是遺漏範例的時間戳記。 視需要傳送多個 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 [僅限傳統型應用程式] |
標頭 |
|
另請參閱