IMFMediaSource::P ause メソッド (mfidl.h)

メディア ソース内のすべてのアクティブなストリームを一時停止します。

構文

HRESULT Pause();

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_INVALID_STATE_TRANSITION
無効な状態遷移。 メディア ソースは開始状態である必要があります。
MF_E_SHUTDOWN
メディア ソースの Shutdown メソッドが呼び出されました。

解説

このメソッドは非同期です。 操作が完了すると、メディア ソースから MESourcePaused イベントが 送信され、アクティブなストリームごとに MEStreamPaused イベントが送信されます 。 メソッドがエラー コードを返した場合、イベントは発生しません。

メディア ソースは開始状態である必要があります。 メディア ソースが一時停止または停止した場合、メソッドは失敗します。

ソースが一時停止されている間、 IMFMediaStream::RequestSample の呼び出しは成功しますが、ソースが再び開始されるまで、ストリームはサンプルを配信しません。 ソースのイベント キューはストリーム イベント キューと共にシリアル化されないため、クライアントは MESourcePaused イベントの後にいくつかのサンプルを受け取る可能性があります。これは、マルチスレッドの問題が原因です。 ただし、 クライアントは MEStreamPaused イベントの後にストリームからサンプルを受け取りません。

すべてのメディア ソースが一時停止できるわけではありません。 メディア ソースが一時停止できる場合、 IMFMediaSource::GetCharacteristics メソッドは MFMEDIASOURCE_CAN_PAUSE フラグを返します。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

関連項目

IMFMediaSource

メディア ソース