DirectShowと戦うスレ Part 2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/08(水) 00:25:56http://pc8.2ch.net/test/read.cgi/tech/1026666092/
0657デフォルトの名無しさん
2007/07/22(日) 19:41:180658デフォルトの名無しさん
2007/07/23(月) 00:55:082つの映像入力を何らかの形で合成し
1つの出力として吐き出すフィルタを作成しています。
最終的に、出力ピンに繋がった入力ピンのReceive()に
合成結果であるIMediaSampleを渡せば良いというのはわかるのですが、
映像の同期がうまくとれません。
(同期というかそれぞれの入力から1フレームずつ取得して出力したい)
どのようにすればよいでしょうか?
0659デフォルトの名無しさん
2007/07/23(月) 07:56:533つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。
□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
0660デフォルトの名無しさん
2007/07/23(月) 21:04:26入力ソースがライブ(プッシュ)だったりする?
0661658
2007/07/24(火) 10:24:31AddSourceFilterでハードディスク上のムービーファイルを扱う場合って
どっちになるんですかね?
プッシュモデルにするかプルモデルにするかは
やっぱりソースフィルタに依存します?
0662デフォルトの名無しさん
2007/07/24(火) 21:32:14ハードディスク上のムービーファイルなら通常プルモデル。
パーサー(スプリッタ)がデータを引っ張り出して後ろに流します。
んで入力2系統あるらしいけど、両方ともハードディスク上のムービーファイルなの?
ファイル形式はなんですかね?
0663デフォルトの名無しさん
2007/07/25(水) 17:12:59AMCap を参考にプログラムを作っています.
OleCreatePropertyFrame() でビデオキャプチャピンのダイアログを表示できますが,
ttp://pukapuka.sakura.ne.jp/cgi-bin/upload/puka/img-box/1185348928740.jpg
上記の 「色空間/圧縮」,「出力サイズ」をダイアログからではなく,プログラム上から制御
したいのですが,どのようにすれば可能でしょうか?
具体的には,これらの値の列挙,現在の値の取得・変更を行いたいと思っています.
参考になるページ等もありましたら御教示下さい.
0664デフォルトの名無しさん
2007/07/25(水) 17:21:17Connect する前にね。
0665663
2007/07/25(水) 21:56:05CComPtr<IAMStreamConfig> pAMStreamConfig;
hr = pCaptureGraphBuilder2->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video,
pVideoDeviceFilter, IID_IAMStreamConfig,
(void **)&pAMStreamConfig);
if( SUCCEEDED(hr) )
{
AM_MEDIA_TYPE* pMediaType;
pAMStreamConfig->GetFormat( &pMediaType ); // 現在の設定を取得
pMediaType->subtype = MEDIASUBTYPE_YUY2;// YUY2 に変更
VIDEOINFOHEADER* pVideoInfoHeader = (VIDEOINFOHEADER*)pMediaType->pbFormat;
pVideoInfoHeader->bmiHeader.biWidth = 640; // 640 wide
pVideoInfoHeader->bmiHeader.biHeight = 480; // 480 height に変更
pAMStreamConfig->SetFormat( pMediaType );//設定を反映
DeleteMediaType( pMediaType );
}
列挙も pAMStreamConfig->GetNumberOfCapabilities() と GetStreamCaps() で実現できそうです.
有難う御座いました.
0666658
2007/07/27(金) 15:52:03>両方ともハードディスク上のムービーファイルなの?
>ファイル形式はなんですかね?
とりあえずは両方ともハードディスク上のもので
ファイル形式はAVIでやってます。
0667デフォルトの名無しさん
2007/07/31(火) 15:19:35ttp://wwwdoi.elec.nara-k.ac.jp/html/jisyu/dxm/ds/index.html
ここのlist702サンプルを実行して、mpgファイルなんかだと問題なく静止画取り込みができるんだけど、
とあるDivX6エンコードのaviファイルで実行すると、GetConnectedMediaType()で取ったAM_MEDIA_TYPEの
pbFormatがNULLになってしまい、ビデオ情報が取れないみたいなんですが一体どういう原因が考えられるんでしょうか。
ファイル自体はMediaPlayerで再生できています。
0668667
2007/07/31(火) 15:46:23DivXファイルだとISampleGrabberCBでのコールバックの指定も無視されてしまうようです。
キャプチャされないように何かロックされてる?
0669デフォルトの名無しさん
2007/07/31(火) 17:13:25あとpbFormat以外のメジャータイプとサブタイプを見たほうがいい。
もしかするとDivX6はパーサーとデコーダがセットで使用されていて、
パーサーとデコーダは互いを知っているのでpbFormatなんか使わないっていう実装かもしれん。
そこにサンプルグラバがパーサーとデコーダの間に挟まれば、ありうる。
0670667
2007/07/31(火) 17:32:37ありがとうございます。
さらに調べてみたら、どうもDivXはRGB24への自動変換をサポートしていなかったり結構中途半端な模様。
で、レンダラまで自前実装してやるとキャプチャできる(SDK付属サンプルのWindowlessなら動く)ようなので、
そっちをベースにした実装にしたいと思います。
0671デフォルトの名無しさん
2007/07/31(火) 20:55:11コマ落ちばっかりです
なんか早くする方法はありませんか?
0672デフォルトの名無しさん
2007/07/31(火) 23:18:450673デフォルトの名無しさん
2007/08/01(水) 22:13:09普通にCで書いて間に合わないんなら、SIMD命令使え。
それでも間に合わないんならPCをパワーアップ。
0674デフォルトの名無しさん
2007/08/01(水) 22:25:010675デフォルトの名無しさん
2007/08/01(水) 22:40:55CTransformFilterの中で今の時間を取得することはできますでしょうか?
シークするとTransformに渡ってくるIMediaSampleのGetTimeやGetMediaTimeの時間が0に戻ってしまって、今の時間がわからなくなってしまいます・・・
それからCTransformFilterから動画の長さ(再生時間の合計)を知る方法ってありますか
0676デフォルトの名無しさん
2007/08/02(木) 09:54:52SYSTEMTIME st;
GetLocalTime( &st );
こんな感じ。
CTransformFilterから動画の長さをとることはできますが、フィルタ設計上
カメラもつなげる想定で作るべきっぽいから書いていいんだろうか
0677デフォルトの名無しさん
2007/08/03(金) 01:26:18教えてください〜
0678デフォルトの名無しさん
2007/08/03(金) 03:13:20それをfpsで割るのが「動画スタートからの時間」を得るのには最適だと
思うよ。変にタイマを使ったりすると動画のレートが変わった時点で
使えなくなっちゃうから。わからんならコードをどっかにうpするよ
んで動画の長さを得るのは、ソースフィルタから変換フィルタに渡してやるような
つくりにするのはどうでしょうか?
0679デフォルトの名無しさん
2007/08/03(金) 19:35:31"シーク可能ストリームでは、メディア タイムは常にストリームの開始タイムから相対的になる。"
とあるからGetMediaTimeはシークしても時間は0にならないみたい。
さっき試してみたけどそうなっていました。
0680デフォルトの名無しさん
2007/08/04(土) 01:05:41ありがとうございます
試してみます
0681デフォルトの名無しさん
2007/08/06(月) 23:28:44手持ちのWebカメラでは0〜100や0〜130といった値が返ってきました。
http://msdn2.microsoft.com/en-us/library/ms779747.aspx
によると、2^0 = 1sec〜2^130secといった、大きな値に相当してしまいますが、
単位はあてにできないのでしょうか?
せめて+1する毎にexposure timeが二倍になってほしいのですが、
何か方法があったら教えてほしいです。
0682デフォルトの名無しさん
2007/08/07(火) 00:48:42露光時間って、写真の撮影で、弱い光でも感光版が感光できるようにシャッタースピードを遅くするとかのあれだよな?
0683デフォルトの名無しさん
2007/08/07(火) 00:54:49pCaptureGraphBuilder2->SetOutputFileName( &MEDIASUBTYPE_Avi , L"test.avi" , &pFileOut , &pSink );
pCaptureGraphBuilder2->RenderStream( &PIN_CATEGORY_CAPTURE , NULL , pDeviceFilter , NULL , pFileOut );
というようなグラフ構築を行ったのですが、何回かテストしてtest.aviを上書きするとき、
上書き前の容量より小さいと、ファイルのプロパティに表示される容量が上書き前のまま
になります。(上書き前より大きいと更新されます)
再生してみると、正しくキャプチャされているのですが、この容量表示の問題はどのように
すれば解消できるでしょうか?
(表示上だけでなく、実際に無駄な容量が付加されているのかも?)
0684デフォルトの名無しさん
2007/08/07(火) 14:30:46DeleteFile
0686デフォルトの名無しさん
2007/08/08(水) 05:39:26削除の場合は実際にエントリが書き換えられるので、サイズを0にするのも有り。
RIFF解析して自前でサイズ調整するのも意外と簡単だよ。一番外側のチャンクだけ計算するだけで済むしな。
0688デフォルトの名無しさん
2007/08/09(木) 07:52:410689デフォルトの名無しさん
2007/08/09(木) 21:37:520690デフォルトの名無しさん
2007/08/09(木) 22:26:35世界中のソフトハウス探せばどっかにあると思う。
0691688
2007/08/09(木) 23:30:48簡単に手に入れられるなら作る必要もないと思ったのですが、作る価値はありそうですね。
やってみます。
ありがとうございました。
0692デフォルトの名無しさん
2007/08/11(土) 10:56:07GraphEditではあるのですが、アプリでインスタンスを作成できません。
CoCreateInstance( CLSID_NullRenderer , NULL , CLSCTX_INPROC_SERVER , IID_IBaseFilter , ( void** )&pNull );
このように書いたところ、ビルド時にCLSID_NullRendererが定義されていない、と言われます。
調べてみると、qedit.hにあるようなので、includeしたところ、今後はdxtrans.hがないと言われました。
でも、このヘッダファイルはPC内にはありませんでした。
どのようにすれば作成できるでしょうか?
0693デフォルトの名無しさん
2007/08/11(土) 13:10:14そのファイル名で検索すると幾つか情報が見つかるんだが・・・
俺のPCにはDirectX SDKの中に普通に入ってた。
つかDirectXSDKとPlatformSDKはいつのを使ってるかくらいは書いたほうがいいと思うぞ。
0694692
2007/08/11(土) 14:06:01Windows SDKのバージョンは最新だと思います。
DirectX SDKはインストールしていませんでした。
最新版のJune 2007を入れたら、それに入っていました。
VC++でインクルードパスを指定したのですが、それでもコンパイルはエラーになります。
エラーの内容は、DirectX SDKのIncludeフォルダにあるd3drmobj.hというファイル内に
構文エラーがある、というものがたくさん。
あと、
To compile qedit.h you must install the DirectX 9 SDK, to obtain the dxtrans.h header.
というエラーメッセージも。
0695デフォルトの名無しさん
2007/08/11(土) 14:31:58必ず発生するというわけではないのですが、高確率で発生します。
スプリッタにflvsplit.dllを使用した時のみこの現象がおきます。
WMPやMPCでは普通にシークできているので、コーディングの問題だと思うのですが...
思い当たる点として、WMPやMPCと違う部分はISampleGrabberを咬ませていることぐらいです。
(シーク時にSetBufferSamples(FALSE)を指定しても変化無しでした)
原因が分かる方はいませんでしょうか。
0696デフォルトの名無しさん
2007/08/11(土) 14:34:08なんか言ってることが
>>564-565 とか
>>621-623 あたりと全く同じに聞こえるんだが、これは試したの?ちゃんとレスを検索してる?
0699デフォルトの名無しさん
2007/08/11(土) 16:01:43>>565ためしても>>621みたいなのが出るってこと?
0700デフォルトの名無しさん
2007/08/11(土) 16:57:43GUID CLSID_NullRenderer = {0xc1f400a4, 0x3f08, 0x11d3, {0x9f, 0x0b, 0x00, 0x60, 0x08, 0x03, 0x9e, 0x37}};
0701デフォルトの名無しさん
2007/08/11(土) 17:28:22レスがそうさくしてめんどいのであまり読んでないが、
NULLレンダラのCLSIDが定義されているヘッダを読み込んだら
こんどはDirectXのヘッダが見つからないって言われたんだろ?
最新のPlatformSDKでDirectShowを使うには同時にDirectXSDKをインストールする必要がある。
もう試した?
>>700
のようにソースにじかに定義しても動くだろうが、PlatformSDKとDirectXSDKをインストールするのが正しい解決方法。
0702デフォルトの名無しさん
2007/08/11(土) 17:41:03>>693 >>694読めよ・・・ 指摘されてどっちもインストールした、って書いてんだろ
あと「レスがそうさく」、って何? 「錯綜」(さくそう)って言いたいのかな?
レス読まずに余計なレスすると余計にレスがそうさくするよ?
まずは日本語を勉強して、レスをちゃんと読むことから訓練しましょう。
0703デフォルトの名無しさん
2007/08/11(土) 18:26:350704デフォルトの名無しさん
2007/08/11(土) 18:41:20質問者はスレを全く検索せずに質問
回答者はレスを全く読まずに回答、しかも日本語が不自由
これはひどい
0705デフォルトの名無しさん
2007/08/11(土) 19:07:55',::::j ==ュ r== 〈::::::j
fヾ}.., __ i i..__ l:イ めんどい!
lと', ゚ ̄ ,l l  ゚̄ ,リぅ!
ヽ-ヘ .,_ ,ィ''。_。ヽ、_,. /_ン' レスがそうさくしてめんどい!
', / _ } ,'
l、{ |__〉 /!
0706デフォルトの名無しさん
2007/08/11(土) 21:06:39基本的には
CoCreateInstance( ・・・ );
pGraphBuilder->AddFilter( ・・・ );
・・・
pCaptureGraphBuilder2->RemoveFilter( ・・・ );
pFilter->Release();
という流れですが、以下のようにリリース前に再度作成、追加するのはマズいでしょうか?
CoCreateInstance( ・・・ );
pGraphBuilder->AddFilter( ・・・ );
・・・
pCaptureGraphBuilder2->RemoveFilter( ・・・ );
・・・
CoCreateInstance( ・・・ );
pGraphBuilder->AddFilter( ・・・ );
・・・
pCaptureGraphBuilder2->RemoveFilter( ・・・ );
pFilter->Release();
0707デフォルトの名無しさん
2007/08/12(日) 21:50:14だとしたら基本的に下なんじゃない?
ソースフィルタだけを入れ変えたい時など、わざわざフィルタグラフごと新規で作り直したりはしないよ。
0708706
2007/08/12(日) 22:10:24すみません、pFilterというのはIBaseFilter型DirectShowフィルタの例です。
おっしゃる通り、キャプチャデバイスフィルタなどを入れ替えるときに下の手順を踏んでいます。
問題ないようであれば良かったです。
ありがとうございました。
0709デフォルトの名無しさん
2007/08/12(日) 23:11:460711デフォルトの名無しさん
2007/08/15(水) 00:41:29AVIファイルに保存するようにしました。
キャプタを実行 → グラフ停止 → ファイルライタに繋がるピンを切断
と進めるた時点では保存したAVIファイルは再生できるのですが、上記流れの後、グラフを再生
すると、AVIファイルが使用中となり再生できなくなります。
アプリを閉じれば再生は可能ですが、アプリ使用中においても再生できるようにするには
どのようにすればよいでしょうか?
なお、ファイルライタはRelease()で参照カウントのデクリメントを行っています。
よろしくお願いします。
0713デフォルトの名無しさん
2007/08/16(木) 17:57:09・キー入力があるまでプレビューを表示
・キー入力があると録画を開始
上記を行うために、録画前にStop()→キャプチャピンを繋ぐ→Run()としてるですが
Webカメラの露光やホワイトバランスなどの自動設定が初期化されるので
プレビューの状態からStop()せずに録画を行う方法はありますか?
0714デフォルトの名無しさん
2007/08/21(火) 11:40:44DirectShowで取得できるハード知らない?
io dataのGV-MVP/TZが手元にあるんだけど、なんか無理そうなんだ
0715デフォルトの名無しさん
2007/08/21(火) 14:27:46キャプチャピンの先にFileWriterか何かつないでるんかな。
SampleGrabberやTeeを挟んで自前で横取りするようにしてみては。
0716デフォルトの名無しさん
2007/08/24(金) 03:55:14GV-VCP3R/PCI はダメ?
これでアプリ書いてるけど普通に
S-Video×1、コンポジット×2の
キャプチャデバイスとして見えてる。
もっとも玄人志向のTVチューナ付きに比べると
かなり高いのが難点やなあ。
0717デフォルトの名無しさん
2007/08/24(金) 05:13:32ttp://www.gdcl.co.uk/articles/MultipleGraphs.pdf
0718デフォルトの名無しさん
2007/08/24(金) 16:03:37「DirectShow.dllにアクセスして・・・云々」って書いてあるんです
けど、PlatformSDKインスコしてもDirectX9.0cインスコしても、そん
なのどこにもないんですよー。DirectShow.dllって自前で作るんです
か?どうやって?
0719デフォルトの名無しさん
2007/08/24(金) 16:15:310720デフォルトの名無しさん
2007/08/24(金) 17:17:030721デフォルトの名無しさん
2007/08/25(土) 03:22:010722デフォルトの名無しさん
2007/08/26(日) 21:55:50すげえな
0723デフォルトの名無しさん
2007/08/28(火) 01:56:12たぶん
0724デフォルトの名無しさん
2007/08/28(火) 12:40:56Inflateで格納されてたらNG
0725デフォルトの名無しさん
2007/08/28(火) 17:54:30関連付けの都合なんかで.zip.mp3なんて拡張子が付けられていることも当たり前。
0726デフォルトの名無しさん
2007/09/03(月) 00:13:21Media Plyaer SDKと戦っているんですが、
どっかわかりやすいwebページありませんか?
散々ぐぐったけど日本語で書いてあるのはGoogleキャッシュにのこってた
1サイトしかありませんでした。
http://72.14.235.104/search?q=cache:msvxh08gfA0J:developer.mine.nu/
wiki/index.php%3FWMPSDK%252FDSP%25A5%25D7%25A5%25E9%25A5%2
5B0%25A5%25A4%25A5%25F3%25B2%25F2%25C0%25E2+%E3%81%82%E3%8
1%84%E3%81%9D%E3%81%B3%E3%80%80%E9%96%8B%E7%99%BA+Meida+Player+SDK&hl=ja&ct=clnk&cd=4&gl=jp
0727デフォルトの名無しさん
2007/09/06(木) 04:28:02それを読み込んだアプリケーションの終了時にメモリリークが出る
最初は解放の手順が間違っているのかなと思ったんだけど
Grapheditでそのフィルタを読み込んだときも、終了時にエラーがでる。
CTransformFilterを継承しているインプレイスフィルタでも同じ
考える限りSDKにうついているCTransformFilter自体に根本的なバグが隠れている気がするんだが…
0728デフォルトの名無しさん
2007/09/06(木) 05:01:530729デフォルトの名無しさん
2007/09/07(金) 17:17:21一度接続したフィルタの画像サイズを変更することは可能でしょうか?
実際にやりたいこと
320*240で描画していたところを途中から640*240サイズのストリームを
描画する方法があれば教えてください。
CBaseOutputPinで作成しております。
0730デフォルトの名無しさん
2007/09/07(金) 21:59:210731デフォルトの名無しさん
2007/09/10(月) 19:08:17フォーマットチェンジはどのようにすればいいですか?
(追記)
CTransformFilterからの派生でGetMediaTypeを使用して出力ピンの情報を取得
し、変更をこころみたんですがだめでした。
0732デフォルトの名無しさん
2007/09/11(火) 23:13:08あと、入力、出力両方のメディアタイプをかえたいの?
0733デフォルトの名無しさん
2007/09/12(水) 15:59:31停止してピンの再接続はOKです。
(停止せずに出来るのであればベターです)
変更は出力のみの変更です。
0734デフォルトの名無しさん
2007/09/12(水) 21:17:40ダウンストリームが受け入れるかどうかはフィルタ次第ばい
0735デフォルトの名無しさん
2007/09/13(木) 11:02:14サンプルのフラグを立てるとはどのようにすればいいですか?
YV12などのグラフィックボード依存のフォーマットでなくRGBで接続しているので
サイズ変更で受け入れが出来ないことは考慮してないです。
0736デフォルトの名無しさん
2007/09/13(木) 20:53:53受け取る相手が何をするのか書いてあるからチェックチェック
0737デフォルトの名無しさん
2007/09/14(金) 11:32:34Receive関数の引数IMediaSample *pで出力先のピン情報は取得
出来るのですが書き換える(更新する)方法がわからないです。
SetMediaTypeで新規情報(サイズ変更)を設定しても初期設定の
情報は書き換わってないです。
0738デフォルトの名無しさん
2007/09/14(金) 14:49:08SetMediaType なんかじゃ済まず、アロケートし直しが必要になってくるような気がする。
0739デフォルトの名無しさん
2007/09/14(金) 15:34:32サンプルバッファのサイズは変更しません。
初期値で必要な最大サイズを設定しています。
メディアタイプでの変更はサイズのみです。
VIDEOINFOHEADERで設定するbiWidth,biHeightの値のみの変更です。
0740デフォルトの名無しさん
2007/09/14(金) 15:36:05↑
>>738様でした。
0741デフォルトの名無しさん
2007/09/15(土) 08:05:23Vistaで、bcdedit /debug onを実行すると、MPEGのDecodeが動作しなくなります。
Q1 これはProtected Media Pathのせいなんでしょうか?それとも、Vistaに付属しているMPEG Decoderの仕様なんでしょうか?
Q2 MPEG Decoderの仕様だとしたら、Kernel Debugできる環境で動く他のMPEG Decoderはありますか?
0742デフォルトの名無しさん
2007/09/15(土) 16:23:02表示を切り替えるプログラムを作成しています。
SDK内のサンプルプログラムBlenderでは、
2つのファイルの同時再生/透過率変更は行えるようですが、
個々のファイルに対し、再生/停止/シークといった制御が
行えません。(再生時には2つ同時に再生されてしまう)
このようなプログラムを開発する場合、何か参考になる
情報がありましたらお教え下さい。
0743デフォルトの名無しさん
2007/09/15(土) 23:15:41ムービーのアスペクト比を取得するにはどうしたらいいでしょうか?
アスペクト比が設定されているのですがIBasicVideo2が使えない状況に
ありまして困っております。
0744デフォルトの名無しさん
2007/09/18(火) 14:02:47Q1. (DVD再生時以外は)おおむねベンダ独自の耐タンパの仕組みのせい。
Q2. ffdshow
0745デフォルトの名無しさん
2007/09/18(火) 17:30:330746デフォルトの名無しさん
2007/09/20(木) 08:59:09Geekなページの記事を見ながら、チューナからの動画は表示(プレビュー?)できたのですが、音が出ません。
音周りの処理が書かれている様子もないので当然だと思うのですが、それに関する情報が見当たりません。
MSDNの概要あたりを眺めてもみました。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdx8_c/ds/appdev/capture_intro.asp
眺めてみたのですが、どのインターフェイスを使えばいいのかわかりません。
IAMAudioInputMixerかと思っているのですが、メソッドを眺めるとミキサ全体のようでこれだけではないような気がします。
この辺りの情報ってありませんか?
ヒントがいただければと思います。
0747デフォルトの名無しさん
2007/09/20(木) 15:13:220748デフォルトの名無しさん
2007/09/20(木) 15:18:56クロスバー
0749デフォルトの名無しさん
2007/09/22(土) 06:17:44何?やる気がありません?なら辞めろや、他の派遣雇うからw
0750デフォルトの名無しさん
2007/09/23(日) 18:56:300751デフォルトの名無しさん
2007/09/24(月) 20:52:13これをプログラムとして記述する際、困ったことが起きました。
フィルタを生成するのにCoCreateInstance関数を使いますが、このとき必要なGUIDが
分からないフィルタがあるんです。
Microsoftから標準で提供されているフィルタはMSDNを調べればGUIDが分かりますが、
そうでないフィルタは分かりません。
どうすればそのフィルタのGUIDを知ることができるでしょうか?
ご助言、よろしくお願いします。
0752デフォルトの名無しさん
2007/09/24(月) 21:18:100753751
2007/09/24(月) 21:32:35すみません、どこを見ればよいんでしょうか?
例えば、NullレンダラーのGUIDは
{0xc1f400a4, 0x3f08, 0x11d3, {0x9f, 0x0b, 0x00, 0x60, 0x08, 0x03, 0x9e, 0x37}}
ですが、
GraphEditを見てもこの記述があるところが見つけられません。
0754デフォルトの名無しさん
2007/09/24(月) 23:46:54メニューの[Graph]-[Insert Filter] から ダイアログ立ち上げたら
DirectShow Filter -> NULL Renderer 選んでください。んで、展開すると Display Name の後に
@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\{C1F400A4-3F0B-006008039E37}
ってあるよね。
後半の { } を見てくれ。これってGUIDじゃない?
君に幸あれ
0755デフォルトの名無しさん
2007/09/24(月) 23:51:19最悪、フィルタ名でレジストリ検索したりとか、まあ頑張ってください
0756デフォルトの名無しさん
2007/09/24(月) 23:56:18Guidにしては何か微妙に短いと思ったw
■ このスレッドは過去ログ倉庫に格納されています