facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2013/04/19(金) 11:48:58.95
BonDriver共有ツール総合

ここまで見た
  • 699
  •  
  • 2014/11/21(金) 18:54:35.52
>>698
なるほど、CloseTuner()後もRelease()されるまではGetSignalLevel()やGetTsStream()の呼び出し自体は
保証されるのがお約束だと思ってたのですが、そうでないBonDriverもあると言う事ですか(;´Д`)

しかし確かに、既にチューナをクローズしてるんだからCNR取得やTSの読み出しをしようとするのは
意味的に変なので、これはBonDriverProxy側の問題でもありますね
対応するのでちょっとお待ちください…

ここまで見た
  • 700
  •  
  • 2014/11/21(金) 19:15:26.65
PX系は無視で構わんぞ
ソースも公開してないくらいだからな
対応のしようがないだろ

ここまで見た
  • 701
  •  
  • 2014/11/21(金) 22:29:54.39
>>698
カレントバイナリを更新しました
問題が発生しなくなっていると良いのですが…
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc&usp=sharing

>>700
まあ一応こちら側でできる事もありますので…

ここまで見た
  • 702
  •  
  • 2014/11/21(金) 23:08:11.67
>>699
ReleaseはあくまでBonDriverの資源であって
Tunerに関係する要求はCloseTunerで使えなくなる、方が自然に感じるわな
ただBonDriver側もそんなの無視するほうに振れよってのもそれがより良い動作だわな

ここまで見た
  • 703
  • 697
  • 2014/11/21(金) 23:54:02.88
さっそく対応していただいたみたいでありがとうございます
申し訳ないですが週末につき録画予約が立て込んでいるためすぐに検証できそうにありません
検証出来次第報告させていただきます

ここまで見た
  • 704
  •  
  • 2014/11/21(金) 23:57:08.37
>>702
そう思います
実際ソースが公開されてるBonDriverに関しては、当方が知る限りどれも、OpenTuner()していない状態での
GetSignalLevel()やGetTsStream()には、単に0やFALSE、あるいは特定の状態に依存しない形での結果を
返すようになってますね
#BonDriver_Proxyもそうしてます

ちなみにlinuxのPX-W3U3用のデバドラは、TSストリームの配信を指示している状態でチャンネル変更を指示すると、
OSごとフリーズするそうです…
何と言うか、自分達の想定した都合の良い使われ方しかテストしてないのかもしれませんね

ここまで見た
  • 705
  •  
  • 2014/11/22(土) 00:01:25.30
>>703
了解でーす

ここまで見た
  • 706
  •  
  • 2014/11/22(土) 18:08:19.53
>>704
エラー時にDLLの中でExit呼ぶドライバとか(笑。

フリーズよりは増しにしても、救いようがねー

ここまで見た
  • 707
  •  
  • 2014/11/22(土) 21:43:41.12
うむ、PX系は救いようがないので放置でかまわんぞ
ブルスク系とも呼ばれているくらいだからな

ここまで見た
  • 708
  • 697
  • 2014/11/24(月) 11:28:03.26
一応検証出来たので報告
>>701のバイナリで>>698件の問題が再現しなくなったことを確認
一度も落ちることなく安定動作しています

ここまで見た
  • 709
  •  
  • 2014/11/25(火) 20:32:25.61
>>708
検証ありがとうございます
問題無くなったようで良かったです

ここまで見た
  • 710
  •  
  • 2014/11/26(水) 18:15:13.50
>>558
今さらだけど、libarib25って何?dll化すればWindowsでも使えるの???
b25のパッチって簡単に当てること出来るの???b25用のパッチが欲しい・・・

ここまで見た
  • 711
  •  
  • 2014/11/26(水) 18:19:00.50
>>701
BonDriverProxyEx.exe を2回実行するとタスク一覧に2つ表示されるんだけど、まずくね?

ここまで見た
  • 712
  •  
  • 2014/11/26(水) 18:39:42.06
>>711
違うポートでも使えるように。
2回実行するからだめ!

ここまで見た
  • 713
  •  
  • 2014/11/26(水) 19:06:11.11
>>710
WindowsとUnix系での動的リンクの違いが理解できるなら簡単に実装できるけど、どう考えてもその知識があるように思えない。

ここまで見た
  • 714
  •  
  • 2014/11/26(水) 19:51:44.14
>>712
ならポートチェックしないと。終了方法がタスクマネージャからだけってのもまずくね?

ここまで見た
  • 715
  •  
  • 2014/11/26(水) 20:15:12.47
>>714
軽量化でUIを省いている。
気になるならバッチファイル書いて終了させればいいんじゃないかな?

ここまで見た
  • 716
  •  
  • 2014/11/26(水) 20:15:43.78
>>713
そうですか・・・
ありがとう。

ここまで見た
  • 717
  •  
  • 2014/11/26(水) 21:31:36.58
>>710
libarib25はまるもさん作の「ARIB STD-B25 仕様確認テストプログラムソースコード」の
linux環境への移植版の事です
https://github.com/stz2012/libarib25
windowsでも使えると言うか、元々windows用のソースですね

スクランブル解除の実装に関しては、申し訳ありませんが自前でお願いします…
#linux版へのb25パッチの移植で良いと思うので、ある程度ソースが読める人なら簡単だと思います

ここまで見た
  • 718
  •  
  • 2014/11/26(水) 21:38:34.52
>>711
>>714
BonDriverProxyは多重起動を禁止していないのと、>>673にチョロッと書きましたが、
winsockの仕様で既に他プロセスが使用している同じポートへのbind/listenが出来てしまうのとで
そうなっています
#ちなみに、その状態(同じのを2つ起動した状態)でも多分正しく動くんじゃないでしょうか(試していませんが)

タスクマネージャから殺すのは、単にそれで特に困る事は無いんじゃないかなと言う判断でそうしています
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/master/ReadMe.txt#L81-L87

基本的に運用で容易に回避できるよなーと言う事への対策にはあんまり力入れていないもので…
ですが、そうなっていないと困る(あるいはそうなっていると便利だ)と言う明確な理由があるなら、
説明してもらえると対応考えるかもしれません

ここまで見た
  • 719
  •  
  • 2014/11/26(水) 22:11:42.47
SO_REUSEを起動オプションにしたらええんじゃね?

ここまで見た
  • 720
  •  
  • 2014/11/27(木) 00:14:56.78
>>719
サーバプログラムでSO_REUSEADDR指定無しは不便になるんじゃないかなーと思いつつ再度調べてみたら、
検証してる方が居ました
ttp://sakanaya.kir.jp/ymnet/diary/d/%E6%97%A5%E8%A8%98%E3%81%BE%E3%81%A8%E3%82%81/SO_EXCLUSIVEADDRUSE
うわ、winsockではSO_REUSEADDRをセットしない状態が*nix環境でのSO_REUSEADDRをセットした状態と同等なのか…
全然知りませんでした(;´Д`)時間がある時に当方でも検証してみます

ここまで見た
  • 721
  •  
  • 2014/11/27(木) 13:36:03.76
>>718
それで、どうやってプロセス間の調停を取るのか謎だな?、
エラー判定に間違いは無いか?
SO_REUSEADDR は、CLOSE後のWAIT状態に在るポート再利用を求める
オプションじゃなかったかな?、

ここまで見た
  • 722
  •  
  • 2014/11/28(金) 00:12:57.66
>>721
> SO_REUSEADDR は、CLOSE後のWAIT状態に在るポート再利用を求める
> オプションじゃなかったかな?、

もちろん本来の意味はその通りですね
ですが>>720の通り、winsockではそうではないと言うのが実際のところの様です
ttp://msdn.microsoft.com/en-us/library/ms740621.aspx
この辺読めばわかりますが、winsockでのSO_REUSEADDRは妙に強い権限を持ってますね
昔は良くあったMSの独自仕様って奴が今も生き残ってる例なんでしょう

ttp://www.geekpage.jp/programming/winsock/so_reuseaddr.php
あきみちさんですら知らないようなので多分知ってる人は殆どいないんじゃないでしょうか…

ちなみに、実際windows2000なんかでは、IIS動かしててもポート80をbind/listenするプログラムを
普通に動かせて、IISへのリクエストを横取りできてしまう様な状況があったと記憶しています
IISつくってる人ですら知らない仕様だったんじゃないのと邪推しちゃいますね…

ここまで見た
  • 723
  •  
  • 2014/11/28(金) 00:42:55.75
>>722
ワォ!。素敵ですねー。
winsockでは、排他したいなら SO_EXCLUSIVEADDRUSE なんだ。
だとすると、若しかしたら、winsock では SO_REUSEADDR の指定無しでも
TIME_WAIT状態のポートにbind出来るんじゃ無いかな?、
なんか、そんな仕様でないと、色々と苦しいでしょ。

ここまで見た
  • 724
  •  
  • 2014/11/28(金) 01:23:41.17
>>723
ええ、>>720に書いたのはそう言う意味です
しかしオプション無しの場合、多重起動によって自身が同じポートへbindしようとするのは防げますが、
他のSO_REUSEADDR有りのアプリが同じポートをbindする事は防げませんし、SO_EXCLUSIVEADDRUSE使っても
TIME_WAITでなら再bindできるみたいなので、それが一番良いかもしれませんね
いずれにせよ、その辺の挙動に関してはその内検証してみてどうするか決めるつもりです

ここまで見た
  • 725
  •  
  • 2014/11/29(土) 00:32:34.27
win 8.1 proで検証してみたら、SO_EXCLUSIVEADDRUSEに関しては>>720のURLの方の検証結果とは
微妙に違う結果でした
#FIN_WAIT_2があってもbindできる様でした
この場合、SO_EXCLUSIVEADDRUSEを使う事による不都合は何も無さそうですし、
仮にFIN_WAIT_2でbindできなくても、用途的に多分深刻な問題にはならないでしょうから、
とりあえずソースの方はSO_EXCLUSIVEADDRUSEを使うように変更しておきました
#ついでにiniのPACKET_FIFO_SIZE、TS_FIFO_SIZEのデフォルト値を64にしました(>>632)

ここまで見た
  • 726
  •  
  • 2014/11/29(土) 00:35:12.90
それからついでに調べたのですが、少なくともwin 8.1 proでは>>722のMSのURLに載っている
表通りの挙動をしないオプションの組み合わせパターンもあるようです
#コメント欄には、win 7でも表通りの動きしないぞと書いてる方が居ます
単なる誤記か、記事が書かれた当時とまた仕様が変わったのか…
いずれにせよ、一次ソースが信頼できないと言う状態は何とかして欲しいものです(;´Д`)

ここまで見た
  • 727
  •  
  • 2014/11/29(土) 08:24:09.08
サーバでIPアドレス指定してると127.0.0.1ではbindしないのね
同一ホストで繋がらなくて5分ぐらい悩んだ

ここまで見た
  • 728
  •  
  • 2014/11/29(土) 11:54:08.79
0.0.0.0でいいんじゃね

ここまで見た
  • 729
  •  
  • 2014/12/03(水) 20:16:22.94
大抵は0.0.0.0でいいだろうけど
ADDRESS=127.0.0.1;192.168.0.100
みたいな感じで複数アドレス指定できたらいいかなーと思った
全公開はしたくないけどこっちとそっちでは公開したい、みたいなニーズはあるかもしれない

ここまで見た
  • 730
  •  
  • 2014/12/04(木) 06:51:01.70
>>729
ナルホド…
正直需要としては相当ニッチな気はしますが、
対応自体は多分簡単なので、ちょっと試してみます

ここまで見た
  • 731
  •  
  • 2014/12/18(木) 10:57:26.79
ここを見てBonDriverProxyExを使ってみようと思って設定し、
BonDriverProxyEx.exeを実行しても何のプロセスも走りません
>>454のファイルで.iniを設定配置するだけで使えるはずですよね?
環境はWindows8.1 64bitです

ド素人の質問で申し訳ありません

ここまで見た
  • 732
  • 55
  • 2014/12/18(木) 12:35:56.59
起動しても、見た目にはなにも変わりませんよ。
タスクマネージャーで確認しましたか?

ここまで見た
  • 733
  •  
  • 2014/12/18(木) 18:10:48.73
はい
タスクマネージャーのプロセス、詳細、サービスのどこを見てもそれらしきものが出てきません

ここまで見た
  • 734
  •  
  • 2014/12/18(木) 18:15:49.64
タスクトレイにアイコンぐらい出したらいいのに

ここまで見た
  • 735
  •  
  • 2014/12/18(木) 20:14:22.98
ランタイムが入ってないとか? その場合はエラー吐くかな。
ソースをざっと見たところ、勝手に終了するのならini絡みかWinsock絡みの様で、
終了コードを確認したら切り分けできるかも。
手順分からんかった時のために、適当にぐぐったら出てきたのおいとく。
ttp://ips.nekotype.com/3476/

ここまで見た
  • 736
  •  
  • 2014/12/18(木) 21:58:28.49
>>731
>>735さんもおっしゃってますが、可能性が高いのはiniファイルがみつからない状態である事かと思います
iniファイルは、実行ファイルの拡張子だけをiniに変えた物をファイル名とした上で、
実行ファイルと同じフォルダに置く必要があります
例えば実行ファイルが「BonDriverProxyEx.exe」なら「BonDriverProxyEx.ini」となりますので、
確認してみてください

>>734
ぶっちゃけUI周りはめんどくさいんですよね(;´Д`)

ここまで見た
  • 737
  •  
  • 2014/12/19(金) 10:02:15.37
>>736
念のために.exeからコピペしてリネームしてみたけどダメでした
普通に実行するだけでたとえ設定ファイルの内容が間違っていようと
バックグラウンドプロセスに「BonDriverProxyEx.exe」が立ち上がるはずでいいんですよね?

>>735
ちょっと正しいか自信ないけど

echo %ERRORLEVEL%
2

となりました

ここまで見た
  • 738
  •  
  • 2014/12/19(金) 10:59:27.12
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/master/BonDriverProxyEx/BonDriverProxyEx.cpp#L1217-L1222
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/master/inc/BonDriverProxyEx.h#L53

[OPTION]
ADDRESS= ← このホスト名を解決できずに終了してるようですね。
正しいホスト名に直すか0.0.0.0 にしてみては。

ここまで見た
  • 739
  •  
  • 2014/12/19(金) 12:07:33.05
>>738
おお、それだ
なんか変な値が入力されてました
ありがとうございました

Bondriverの初期化ができませんのエラーが出るけどもう少し頑張ってみます

ここまで見た
  • 740
  •  
  • 2014/12/20(土) 12:10:35.44
うーん
BonDriverProxyExが長時間チューナー使用したり
クライアントが物理チューナー数超えて取り合い繰り返すと落ちるなあ

ここまで見た
  • 741
  • 730
  • 2014/12/20(土) 13:23:00.81
おかげさまでとりあえず使えるようにはなりました
ありがとうございます

ところでProxyEXをRDCTで地上と衛星を統合できているかたはいませんでしょうか?
当方の環境ではRDCTを経由させるとうまく動作しないのですが

ここまで見た
  • 742
  •  
  • 2014/12/20(土) 15:06:39.34
>>740
おお、今度は何だろう…
良かったら使用BonDriverとか設定、あともしわかるならで結構ですので、
現象の確実な再現方法を教えて頂けるでしょうか

ここまで見た
  • 743
  •  
  • 2014/12/22(月) 20:24:42.58
俺はRDCTの設定方法が知りたーい。

ここまで見た
  • 744
  •  
  • 2014/12/22(月) 21:27:40.01
>>742
まだ使い始めて間もないから色々実験中です
落ちたのはプレミアムのBonDriver_BDAなのでそっちに問題あるかもしれません
とりあえず試験運用終わってこれからプレミアムを山ほど録画してくので
問題の再現性がわかったら報告します
今はとりあえずRestartOnCrashで保険掛けてます

あと気になった点
チューナーを2つ登録してる場合(仮にA,Bとする
A,Bそれぞれ使用中で3つ目のクライアントが割り込んだ場合Bのチューナーを横取りしますが
そこから続けて割り込みかけるとずっとBのチューナーのみに割り込みがかかります
これはチューナーオープンの順番を記憶させて古い順番から割り込みかかるようにした方がいいと思いました

ここまで見た
  • 745
  •  
  • 2014/12/23(火) 00:29:21.48
>>741
俺もBonDriverProxyExとRDCTの組み合わせは
うまくいかなかった
地上と衛星の統合にそこまでこだわってなかったから、
今はBonDriverProxyExだけで使ってる

ここまで見た
  • 746
  •  
  • 2014/12/23(火) 02:05:51.04
Spinel でしか動作確認してないからねぇ

ここまで見た
  • 747
  •  
  • 2014/12/23(火) 23:45:29.18
>>744
了解でーす

> あと気になった点

ナルホド、チューナが足りない時に既存のどれを横取りするかは、取れるやつを取れば良いだろとしか考えてませんでした
とりあえずカレントバージョンで対応してみました

ここまで見た
  • 748
  •  
  • 2014/12/23(火) 23:51:05.80
BonDriver_RDCTに関しては、内部でSpinelに特化した処理をしてるのかもしれませんね
時間ができたらちょっと調べてみます

ここまで見た
  • 749
  •  
  • 2014/12/23(火) 23:51:41.68
>>742
ログ見たら落ちてたみたいなので
イベントビューアーのログ貼っておきます

障害が発生しているアプリケーション名: BonDriverProxyEx_x86.exe、バージョン: 1.1.4.5、タイム スタンプ: 0x5482e44a
障害が発生しているモジュール名: d3d9.dll_unloaded、バージョン: 0.0.0.0、タイム スタンプ: 0x4ce7b7b3
例外コード: 0xc0000005
障害オフセット: 0x5ea596b4
障害が発生しているプロセス ID: 0xe0c
障害が発生しているアプリケーションの開始時刻: 0x01d01dab9b16901f
障害が発生しているアプリケーション パス: D:\PT2\BonDriverProxyEx\x86\BonDriverProxyEx_x86.exe
障害が発生しているモジュール パス: d3d9.dll
レポート ID: 6a2bc155-8a75-11e4-ad80-005056c00008

ここまで見た
  • 750
  •  
  • 2014/12/24(水) 02:17:02.38
古い機種で申し訳ないのですが、HDUSFで上手く動きません。
チューナー切替時に障害が発生するようです。

HDUSF → PT2 → HDUSF(BonDriverの初期化ができません。)
障害が発生しているモジュール名: nnb4hdus.dll
機嫌の良い時と悪い時がありますが、大体悪いです。
BonDriver付属のログ吐き版dll,exeを使用してみましたが、チューナーを開けてないので、
エラー時のログは取得できませんでした。

【OS】Windows8.1 x64 テストモード
【BonDriverProxy】BonDriverProxy v1.1.4.7 x86
【Tuner】SKnet MonsterTV HDUSF, PT2
【BonDriver】BonDriver_nnb_009
【Client】TVTest dev 0.9.0.0 x86

砂時計アラームタイマー
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード