メディアソースのオブジェクトによって実装されます。
メディアソースは、メディアのデータを生成するオブジェクトです。例えば、そのデータはカメラ、ビデオファイル、ネットワークストリーム、またはハードウェアデバイスから来ます。各メディアのソースは、1つまたは複数のストリームが含まれており、それぞれのストリームは、オーディオやビデオのデータタイプとして、提供されます。
メディアソースの制御記述子のコピーを取得します。
ppPresentationDescriptor
IMFPresentationDescriptorの制御記述子へのポインタを受け取ります。呼び出し元は、インターフェイスを解放する必要があります。
戻り値
可能な値は次の表のとおりであるが限定的ではない。
HRESULT CreatePresentationDescriptor( [out] IMFPresentationDescriptor **ppPresentationDescriptor );パラメーター
ppPresentationDescriptor
IMFPresentationDescriptorの制御記述子へのポインタを受け取ります。呼び出し元は、インターフェイスを解放する必要があります。
戻り値
可能な値は次の表のとおりであるが限定的ではない。
Return code | Description |
---|---|
S_OK | 処理成功 |
MF_E_SHUTDOWN | メディアソースが既に切断済み |
メディアソースの特性を取得します。
pdwCharacteristics
ビット単位の論理和(OR)の0個以上のフラグを、 MFMEDIASOURCE_CHARACTERISTICSの列挙から受け取ります。
戻り値
可能な値は次の表のとおりであるが限定的ではない。
HRESULT GetCharacteristics( [out] DWORD *pdwCharacteristics );パラメーター
pdwCharacteristics
ビット単位の論理和(OR)の0個以上のフラグを、 MFMEDIASOURCE_CHARACTERISTICSの列挙から受け取ります。
戻り値
可能な値は次の表のとおりであるが限定的ではない。
Return code | Description |
---|---|
S_OK | 処理成功 |
MF_E_SHUTDOWN | メディアソースが既に切断済み |
メディアソース内のすべてのアクティブなストリームを一時停止します。
戻り値
HRESULT Pause();パラメーター
戻り値
Return code | Description |
---|---|
S_OK | 処理成功 |
MF_E_INVALID_STATE_TRANSITION | 無効な状態遷移。 メディアソースは、開始状態になっている必要があります。 |
MF_E_SHUTDOWN | メディアソースが既に切断済み |
CreatePresentationDescriptorのリモート処理可能なバージョン。 (アプリケーションによっては使用されていない。)
アプリケーションは、このメソッドを直接呼び出すことはできません、またオブジェクトはこのメソッドを実装していません。
メソッドは、インターフェイスのvtableには表示されません。
CreatePresentationDescriptorは、プロセスの境界を越えて呼び出された場合、Media Foundation proxy/stub DLLはリモートメソッドの呼び出しにコールを変換してから戻ってそれを変換します。
リモートメソッドの呼び出しにコールを変換し,それを変換します。
戻り値
[call_as(CreatePresentationDescriptor)] HRESULT RemoteCreatePresentationDescriptor( DWORD *pcbPD, BYTE **pbPD, IMFPresentationDescriptor **ppRemotePD );パラメーター
アプリケーションは、このメソッドを直接呼び出すことはできません、またオブジェクトはこのメソッドを実装していません。
メソッドは、インターフェイスのvtableには表示されません。
CreatePresentationDescriptorは、プロセスの境界を越えて呼び出された場合、Media Foundation proxy/stub DLLはリモートメソッドの呼び出しにコールを変換してから戻ってそれを変換します。
リモートメソッドの呼び出しにコールを変換し,それを変換します。
戻り値
メディアソースをシャットダウンし、使用されているリソースを解放します。
戻り値
この関数はHRESULTを返す。可能な値は次の表のとおりであるが限定的ではない。
HRESULT Shutdown();パラメーター
戻り値
この関数はHRESULTを返す。可能な値は次の表のとおりであるが限定的ではない。
Return code | Description |
---|---|
S_OK | 処理成功 |
再生を開始する場所を指定して、メディアソースのキャプチャのスタートやシークまたは再スタートします。
pPresentationDescriptor
メディアソースの制御記述子のIMFPresentationDescriptorインターフェイスへのポインタ。
"MFMediaSource::CreatePresentationDescriptor"と呼ばれる制御記述子を取得する。
選択または選択解除ストリームまたはメディアタイプを変更するには、Startを呼び出す前に、制御記述子を変更することができます。
pguidTimeFormat
時間のフォーマットを指定するGUIDへのポインタ。
時刻形式はpvarStartPositionパラメーターの単位を定義しています。
値がGUID_NULLである場合は、時刻形式は、100ナノ秒単位です。
一部のメディアソースは、追加のタイムフォーマットのGUIDをサポートしている場合があります。このパラメータはNULLでもかまいません。
値がNULLの場合、それはGUID_NULLと同等です。
pvarStartPosition
再生を開始する場所を指定します。
このパラメータの単位はpguidTimeFormatで与えられた時間の形式で示されます。
時間のフォーマットがGUID_NULLである場合、バリアントの型は、VT_I8またはVT_EMPTYにする必要があります。
100ナノ秒単位で新しい開始位置を、指定するVT_I8を使用してください。
現在の位置から開始するVT_EMPTYを使用してください。
他の時刻形式は、他のPROPVARIANTの型を使用する場合があります。
戻り値
この関数はHRESULTを返す。可能な値は次の表のとおりであるが限定的ではない。
HRESULT Start( [in] IMFPresentationDescriptor *pPresentationDescriptor, [in] const GUID *pguidTimeFormat, [in] const PROPVARIANT *pvarStartPosition );パラメーター
pPresentationDescriptor
メディアソースの制御記述子のIMFPresentationDescriptorインターフェイスへのポインタ。
"MFMediaSource::CreatePresentationDescriptor"と呼ばれる制御記述子を取得する。
選択または選択解除ストリームまたはメディアタイプを変更するには、Startを呼び出す前に、制御記述子を変更することができます。
pguidTimeFormat
時間のフォーマットを指定するGUIDへのポインタ。
時刻形式はpvarStartPositionパラメーターの単位を定義しています。
値がGUID_NULLである場合は、時刻形式は、100ナノ秒単位です。
一部のメディアソースは、追加のタイムフォーマットのGUIDをサポートしている場合があります。このパラメータはNULLでもかまいません。
値がNULLの場合、それはGUID_NULLと同等です。
pvarStartPosition
再生を開始する場所を指定します。
このパラメータの単位はpguidTimeFormatで与えられた時間の形式で示されます。
時間のフォーマットがGUID_NULLである場合、バリアントの型は、VT_I8またはVT_EMPTYにする必要があります。
100ナノ秒単位で新しい開始位置を、指定するVT_I8を使用してください。
現在の位置から開始するVT_EMPTYを使用してください。
他の時刻形式は、他のPROPVARIANTの型を使用する場合があります。
戻り値
この関数はHRESULTを返す。可能な値は次の表のとおりであるが限定的ではない。
Return code | Description |
---|---|
S_OK | 処理成功 |
MF_E_ASF_OUTOFRANGE | 開始位置は、プレゼンテーション(ASFメディアソース)の末尾を超えています。 |
MF_E_HW_MFT_FAILED_START_STREAMING | ハードウェアデバイスはストリーミングを開始することができませんでした。このエラーコードは、カメラなどのハードウェアデバイスを表すメディアソースから返されることもあります。カメラが別のアプリケーションによって使用されている場合例えば、メソッドは、このエラーコードを返すことがあります。 |
MF_E_INVALIDREQUEST | 開始要求は無効です。例えば、開始位置は、プレゼンテーションの最後を超えています。 |
MF_E_SHUTDOWN | メディアソースが既に切断済み |
MF_E_UNSUPPORTED_TIME_FORMAT | メディアソースは、pguidTimeFormatで指定された時間のフォーマットをサポートしていません。 |
最新コメント