IMFMediaSource::P ause メソッド (mfidl.h)
メディア ソース内のすべてのアクティブなストリームを一時停止します。
構文
HRESULT Pause();
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
無効な状態遷移。 メディア ソースは開始状態である必要があります。 |
|
メディア ソースの 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 |