掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DirectShowでピクセルクロックを変更するには? (ID:69209)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になっています。 少し動作確認できる時間できたので、動かせてみたのですが、 前回IReferenceClockポインタの取得はできましたが、 まだ任意のクロックが変えれません。 // IBaseFilter pSrc; pSrc->GetSyncSource(&clock);←こちらの方がシンプルでしたので を行う前にフィルタ等の初期化後、 1度IMediaControlの Run(); Stop(); を実行してストリーム タイム取得する必要があります。 前回、最高fps動作できたのは、graphedtを使用し、Captureソースを設置 した後、出力のピンプロパティからピクセルクロックを最高周波数に変えていた からでした。 たしかにクロックを読み出しただけで、クロック変更できないですよね。 それで、IAMClockAdjustのSetClockDeltaを用いて任意の クロック設定(カレント値からの差分)にしようと思ったのですが、 前回同様どこから取得して良いのかわかりません。 IReferenceClockの時の様にQueryInterface()ではダメでしたから 引数がIAMClockAdjustとなっている関数を探しましたが、見つからず。 インスタンスを作成後、IGraphBuilderに設置してみようとしましたが、 ダメでした。。。 CComPtr<IAMClockAdjust> pSetCLK; if( S_OK != pSetCLK.CoCreateInstance(CLSID_SystemClock, NULL, CLSCTX_INPROC) ){TRACE("IAMClockAdjust Failed\n"); return FALSE;} CComQIPtr< IBaseFilter, &IID_IBaseFilter > pClockFilter(pSetCLK); if ( S_OK != m_pGraph->AddFilter(pClockFilter, L"Clock Device") ){TRACE("IAMClockAdjust Failed2\n"); return FALSE;} CSystemClockクラスのインスタンス(CreateInstance)を作成して、 m_pGraphフィルタにどの様にして関連付けたら良いのか わからなくなってしまい、m_pGraphに関連付けされたSetClockDeltaを 行いたいのですが、どの様にすれば良いか、ご教授願えませんでしょうか? よろしくお願いします
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.