BonDriver共有ツール総合 [sc](★0)
-
- 824
- 2015/01/27(火) 21:24:02.31
-
>>602のリンク先のパッチをもうちょっと変更して、上に少し書いた192バイトTSでの問題への対応と、
ライブラリとして使用する際に、ごく小さなサイズでput()を繰り返されると、ユニットサイズの検出や
TS同期ができない問題に対応したバージョンにしておきました
ttp://pastebin.com/zV1WvNb8
実用上は殆ど変わりませんが、気になってたので一応…
あと、手元では>>816さんのパッチに>>817の修正をやって機能するのを確認できました
-
- 825
- 2015/01/27(火) 21:25:46.44
-
>>821-823
おお、詳細な報告ありがとうございます
ちょっと確認してみます
-
- 826
- 2015/01/28(水) 01:44:21.74
-
>824
ご苦労さまです。
ところでパッチの
@@ -539,6 +539,9 @@
if(r < 0){
return r;
}
+ if(prv->unit_size < 188){
+ return ARIB_STD_B25_ERROR_NON_TS_INPUT_STREAM;
+ }
のところですが、
if(prv->unit_size < 188){
はいらなくないですか?
そのすぐ上にあるので。
-
- 827
- 2015/01/28(水) 01:47:48.38
-
>826
あ、select_unit_sizeで、prv->unit_sizeの値が変わるから
その判定をしてたんですね。
-
- 828
- 2015/01/28(水) 02:07:18.05
-
要望なのですが、BonDriver_Proxy.iniに
BONDRIVER=PT-S
BONDRIVER=PT-T
のように2つ書いて、地デジ,BS,CS全部1つのドライバーで
扱えるようにしていただけると便利かと思います。
-
- 830
- 2015/01/28(水) 09:24:28.96
-
BonDriver_ProxyやExで現在どのチューナーが使われているのか確認する方法ありますか?
-
- 833
- 2015/01/28(水) 21:25:36.73
-
>>831
BonDriverProxy_current(20150128).zipを試してみました。
結果同じ症状でしたが、再現の詳細がわかりましたのでご報告します。
TVTest.exe d BonDriver_Proxy_T.dll /rch 1
Sleep, 0
TVTest..exe d BonDriver_Proxy_T.dll /rch 1
で、TVTest.を2つ起動させてWin7のタスクバーから同時に2つ終了すると、BonDriverProxyEx.exeが落ちる。
個別に1つずつ間隔をあけて終了すると落ちない。
(Sleep 0 だと100%落ちます。Sleep 3000 だと落ちません。 Sllp時間に比例して落ちにくくなる?)
TVTest.を3つ起動させて、1つも先に、2つをタスクバーから同時終了してもBonDriverProxyEx.が落ちます。
他、こちらから補足したほうがいい情報がありましたら教えてください。
-
- 834
- 2015/01/28(水) 21:26:37.76
-
問題の署名:
問題イベント名: APPCRASH
アプリケーション名: BonDriverProxyEx.exe
アプリケーションのバージョン: 1.1.4.9
アプリケーションのタイムスタンプ: 54c8b264
障害モジュールの名前: ntdll.dll
障害モジュールのバージョン: 6.1.7601.18247
障害モジュールのタイムスタンプ: 521ea8e7
例外コード: c0000005
例外オフセット: 00038e19
OS バージョン: 6.1.7601.2.1.0.256.1
ロケール ID: 1041
追加情報 1: 0a9e
追加情報 2: 0a9e372d3b4ad19135b953a78882e789
追加情報 3: 0a9e
追加情報 4: 0a9e372d3b4ad19135b953a78882e789
-
- 835
- 2015/01/28(水) 21:29:02.75
-
1度だけ落ちないで下記ウィンドウが表示されたので、関係ないかもしれませんがご報告しておきます。
∇ ウィンドウ タイトル ∇
BonDriverProxyEx.exe - アプリケーション エラー
∇ スタティックテキスト ∇
OK
0x778b43e0 の命令が 0x00000005 のメモリを参照しました。メモリが read になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
-
- 836
- 2015/01/28(水) 21:54:25.56
-
ごめんなさい。
再現方法凄く簡単でした。
同じjチャンネルを開いたままタスクトレイからTVTestを終了するだけで、BonDriverProxyEx.が落ちました。
1)TVTest.Aを起動
2)TVTest.Bを起動
3)同じチャンネルにする
4)タスクトレイから2つ同時に終了
5)BonDriverProxyEx.が落ちる
凄く複雑化させてしまいました。すみません。
-
- 837
- 2015/01/28(水) 21:58:43.98
-
タスクトレイじゃなくて、タスクバー
-
- 838
- 2015/01/28(水) 23:59:17.46
-
>>833-837
ありがとうございます、対応してみました
タスクバーからまとめて終了と言う再現方法を絞り込んで頂けたおかげで、
原因らしきモノの特定が非常に楽でしたヽ(;´ー`)ノ今度は大丈夫ではないかと…
-
- 839
- 2015/01/29(木) 00:11:16.67
-
バグレポはかくありたい
-
- 840
- 2015/01/29(木) 01:09:03.92
-
>>788 で BonDriverProxyEx の Linux版が欲しいと言った張本人です。
作者さん、ありがとう!!これで完全にWindowsサーバから脱却できる。
-
- 841
- 2015/01/29(木) 01:14:14.11
-
>>832
828です。ありがとうございます!
デバッグビルドはGoogleドライブにあるのでしょうか?
-
- 842
- 2015/01/29(木) 01:42:23.20
-
>>840
もとから Windows "Server" でなければならない理由は何一つないだろ
-
- 843
- 2015/01/29(木) 08:40:16.66
-
>>842
-
- 844
- 2015/01/29(木) 08:55:58.21
-
>>842
-
- 845
- 2015/01/29(木) 09:28:30.71
-
>>842
-
- 846
- 2015/01/29(木) 11:16:36.84
-
bondriverproxyexつけた状態で元のBondriver-T0.dllとかのドライバ読むと
PT3ctrl.exeが落ちるんスけど
-
- 850
- 2015/01/29(木) 21:29:21.89
-
PS2コントローラーの刑にしたいね
-
- 851
- 2015/01/29(木) 22:34:37.29
-
なんで俺の書き方が悪いことになってんのw
-
- 852
- 2015/01/29(木) 22:43:40.51
-
>>851
あんたが 838 なのであれば
例えば Windows 7 と Windows Server 2008 R2 をはっきりと区別していないじゃないの ?
> Windowsサーバから脱却できる
この言い方したら Win6.1 でも Windows 7 ではなく Windows Server 2008 R2 って事になる。
たんに Windows から脱却できると言えば問題はない。
-
- 853
- 2015/01/29(木) 22:50:42.11
-
文脈くらい見ろアホ
-
- 854
- 2015/01/29(木) 23:22:14.81
-
やっとある程度整理出来たので貼っておきます。
http://pastebin.com/B5H8DBR6
改良点などありましたら教えて下さい。
-
- 855
- 2015/01/30(金) 00:17:42.12
-
NULLパケットを削るstripとEMM処理の有無もiniで設定できるといいんじゃないでしょうか。
B25Decoder::strip = GetPrivateProfileIntA("OPTION", "B25_STRIP", 0, szIniPath);
B25Decoder::emm_proc = GetPrivateProfileIntA("OPTION", "B25_EMM_PROC", 0, szIniPath);
-
- 856
- 2015/01/30(金) 00:44:57.87
-
>>852
べつにどうでもいいんだけどさ…。
「Windowsサーバ」って、別に「Windows Server」を指してなくて、
ただ単に24時間起動させとくサーバとしてのWindowsは必要なくなった、
と言いたかっただけなんだけど。
アンタは「Linuxサーバ」って聞いて「そんなディストリビューションはない!」
とか言っちゃう人?
-
- 857
- 2015/01/30(金) 01:45:51.49
-
ほーむさーばー
-
- 859
- 2015/01/30(金) 02:09:49.68
-
>>856
Windows の場合、 Windows Server ってのが Worstation と区別して販売されている。
たぶん、あんたの場合は Workstation な Windows を Server のような用い方していただけなのだろう。
些細なことだが "Windowsサーバー" という表現が悪かっただけだよ。
Windows使いからすれば、サーバー版というだけで
お前 Server 使うだけの意味あるのか ?
と突っ込まれる。
-
- 861
- 2015/01/30(金) 03:21:34.12
-
ちょっとでも人の上に立ちたい奴なんだよ
話を聞く周りの人間の眉毛は八の字になってて孤立
口癖は多分「バカばっかだな」「俺の言ってること分かる?」
-
- 863
- 2015/01/30(金) 09:20:59.62
-
>>806
早速の対策ありがとうございます。
テストがおそくなり、申し訳ありません。
BonDriverProxy_current(20150126) を使用し、サーバ側 ini に SANDBOXED_RELEASE=1追加、
結果は、状況変わらずでした。
前回、報告漏れのイベントログがありました。
0xc0000005 の1〜2秒前に、0xc00001a5 が発生しています。
別チャンネルを同時視聴する場合は、問題が発生しないので、
同一チャンネルへのリクエストでも、オプション設定で、
別チューナを利用するような実装は困難でしょうか?
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.4.8、タイム スタンプ: 0x54c54f74
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.9600.16384、タイム スタンプ: 0x5215828a
例外コード: 0xc00001a5
障害オフセット: 0x00155430
障害が発生しているプロセス ID: 0x6dc
障害が発生しているモジュール パス: msvidctl.dll
レポート ID: f566afa5-a812-11e4-9745-0007e90e95ee
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.4.8、タイム スタンプ: 0x54c54f74
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.9600.16384、タイム スタンプ: 0x5215828a
例外コード: 0xc0000005
障害オフセット: 0x0008b880
障害が発生しているプロセス ID: 0x6dc
障害が発生しているモジュール パス: msvidctl.dll
レポート ID: f63a970a-a812-11e4-9745-0007e90e95ee
-
- 864
- 2015/01/30(金) 09:21:57.57
-
アスペの人は文脈が読めずに書いてある字面に引っ張られるからな。
それでもツッコみたいところはあるけど無意味なんでやめとく。
有益な話が出てくるわけでもなく無駄にスレを消費するだけなんで、触りなさんな。
-
- 867
- 2015/01/30(金) 23:25:50.65
-
>863 PX-S1UDでやってみると同じエラーが出ます。
815と同じ現象です。
-
- 869
- 2015/01/30(金) 23:47:51.64
-
どうでもいいわ蒸し返すなクソボケ
-
- 870
- 2015/01/30(金) 23:59:45.39
-
>>863
ダメでしたかー
となるともしかして、IBonDriver::Release()を呼んだ後も対象BonDriver(とか、それが呼んだ何か)内に
何らかのスレッドが残ってて、直後のFreeLibrary()でアンロードされたアドレスにアクセスして
死んでるのかも…と考えたので、BonDriverが未使用状態になってもDLLをアンロードしない設定を追加してみました
最新版でiniの[OPTION]に、
---
DISABLE_UNLOAD_BONDRIVER=1
---
として、もう一度試してみていただけるでしょうか?
なお、>>803で書かれている、
「両方のクライアント終了時に」
と言うのが、
「両方のクライアントを同時に終了時に」
であれば、>>865-866さんが書かれている通りである可能性もあります
もしそうである場合は、問題の切り分けがしたいので、最新版でまずデフォルト設定で試して、
やっぱり再現したらDISABLE_UNLOAD_BONDRIVER=1を試すと言うのをやっていただけると助かります
> 同一チャンネルへのリクエストでも、オプション設定で、
> 別チューナを利用するような実装は困難でしょうか?
Exの方でこれをやるのはちと面倒ですね(;´Д`)主にテストが
使うBonDriverを制御したい場合は、通常のBonDriverProxyを使う方が良いかと思います
-
- 871
- 2015/01/31(土) 02:35:57.24
-
アホだのクソだのボケだの言ってないでもう少し語彙増やせよ
-
- 872
- 2015/01/31(土) 09:09:14.04
-
b25パッチを使う場合arib25はここのを使った方がいいかも。
https://github.com/epgdatacapbon/libarib25
-
- 873
- 2015/01/31(土) 09:57:31.68
-
>>870
度々、お手数かけます。
指示いただいた内容で、残念ながら、解決せずです。
イベントログへの出力は、同様でした。
BonDriverProxyEx.exe、バージョン: 1.1.5.0、
例外コード: 0xc00001a5
例外コード: 0xc0000005
最新版(20150130)で、デフォルトでも、DISABLE_UNLOAD_BONDRIVER=1 の設定でも同様です。
>>865-866さんとは状況は異なるようです。
というのも、2クライアントの終了タイミングは、5秒以上ずらしています。
それと、今回、発見した事象ですが、
2クライアント、同一チャンネルで、
ClientA start → ClientB start → ClientA end → ClientB end
の場合、落ちますが、
ClientA start → ClientB start → ClientB end → ClientA end
の場合、落ちません。解決の糸口になるでしょうか?
あと、テスト環境について、
発見時は、Windows TvTest と、Ubuntu sample.cpp ですが、
以降は、Ubuntu同一ホストで、sample.cpp を同時実行しています。
途中でのチャンネル変更はありません。
> Exの方でこれをやるのはちと面倒ですね(;´Д`)主にテストが
> 使うBonDriverを制御したい場合は、通常のBonDriverProxyを使う方が良いかと思います
了解です。確かに、Exでやると本来のメリットがなくなりますね。
非Exで、ポート番号を分けて、重複起動するってのもアリですね。
-
- 874
- 2015/01/31(土) 11:40:59.18
-
>>750のHDUSF使いですが、
DISABLE_UNLOAD_BONDRIVER=1 で
BonDriverProxyが落ちることは無くなりました。
10回くらいのON/OFF試行ですが、おそらく解決したようです。
ありがとうございました!
-
- 875
- 2015/02/01(日) 12:07:28.89
-
>>872
おお、わざわざ手でパッチ当てなくて済むので手軽になりますね
あとついでに、適当に空DllMain()の追加と、create_arib_std_b25()とcreate_b_cas_card()だけ
dllexportしてarib_std_b25.dllにしてしまえば、インタフェース部にはTCHARは使われていないので、
アプリ側がunicodeでもマルチバイトでも大丈夫になりますよ
#もちろんアプリからの利用の際にarib_std_b25.dllが必要になるので、この辺りは好みもありそうですが…
このページを共有する
おすすめワード