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


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

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

ここまで見た
  • 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つのドライバーで
扱えるようにしていただけると便利かと思います。

ここまで見た
  • 829
  • 814
  • 2015/01/28(水) 08:27:57.61
>>824
こちらでも動作確認できました。
最初arib25のビルドオプションにあわせてunicodeではなくマルチバイトでビルトしていたのがTVTestが落ちた原因でした。

ご指摘の箇所を含め、コードを整理してまたアップしようと思います。

ここまで見た
  • 830
  •  
  • 2015/01/28(水) 09:24:28.96
BonDriver_ProxyやExで現在どのチューナーが使われているのか確認する方法ありますか?

ここまで見た
  • 831
  •  
  • 2015/01/28(水) 20:21:21.10
>>823
これかなと思うのに対応してみたので試してみてもらえるでしょうか
カレントバイナリも更新しています

>>829
ナルホド…
BonDriverインタフェースは文字列がなぜかTCHARで定義されてしまっているんですよね
実際にはマルチバイトのBonDriverは多分存在しないので、必然的にBonDriverを使用する
アプリはUNICODE専用になってしまうと言うのが実情かと思います

ここまで見た
  • 832
  •  
  • 2015/01/28(水) 20:23:29.17
>>828
その辺はBonDriver_RDCTを、と言いたいのですが、何やらEx版との組み合わせでは
期待通りに機能しないそうですね…
暇をみてちょっと理由を調べてみます

>>830
現状そう言う機能はありませんが、Ex版のデバッグビルドに、ウインドウをクリックしたら
接続してる数とそれぞれが使用しているBonDriverを表示する機能を付けてみたので、
その辺をベースにしてみるとかでお願いします…

ここまで見た
  • 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が落ちるんスけど

ここまで見た
  • 847
  • 828
  • 2015/01/29(木) 11:59:10.29
>>832
確認できました。ありがとうございました。
鯖機の再起動時などに家族が接続中かどうか確かめる時が多いので
助かりました!

ここまで見た
  • 848
  • 831
  • 2015/01/29(木) 19:57:01.38
>>838
直っていました。
対応ありがとうございます。

ここまで見た
  • 849
  •  
  • 2015/01/29(木) 21:04:02.14
>>840の書き方が悪いだけだと思うんだけど、なんで>>842が赤くなってんの

ここまで見た
  • 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
ほーむさーばー

ここまで見た
  • 858
  • 828
  • 2015/01/30(金) 01:59:33.96
>>854
乙です。

ここまで見た
  • 859
  •  
  • 2015/01/30(金) 02:09:49.68
>>856
Windows の場合、 Windows Server ってのが Worstation と区別して販売されている。
たぶん、あんたの場合は Workstation な Windows を Server のような用い方していただけなのだろう。

些細なことだが "Windowsサーバー" という表現が悪かっただけだよ。
Windows使いからすれば、サーバー版というだけで
お前 Server 使うだけの意味あるのか ?
と突っ込まれる。

ここまで見た
  • 860
  •  
  • 2015/01/30(金) 02:27:39.64
>>852>>859
突っ込まれてんのはあんただけなんだけど?
掲示板と日本語のあいまいさがわからなそうなあんたには分からないのかもしれないけど、
Windowsのサーバ・・・・Windows 7だかなんかでもつかってるんだろどうでもいいわとわかるんだけど?

ここまで見た
  • 861
  •  
  • 2015/01/30(金) 03:21:34.12
ちょっとでも人の上に立ちたい奴なんだよ
話を聞く周りの人間の眉毛は八の字になってて孤立
口癖は多分「バカばっかだな」「俺の言ってること分かる?」

ここまで見た
  • 862
  • 814
  • 2015/01/30(金) 06:05:07.08
>>855
ご指摘ありがとうございます。
stripってnullパケットの処理だったんですね。

ここまで見た
  • 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
アスペの人は文脈が読めずに書いてある字面に引っ張られるからな。
それでもツッコみたいところはあるけど無意味なんでやめとく。
有益な話が出てくるわけでもなく無駄にスレを消費するだけなんで、触りなさんな。

ここまで見た
  • 865
  •  
  • 2015/01/30(金) 11:56:57.82
>>863
これは、>>836の症状じゃないの?

ここまで見た
  • 866
  • 863
  • 2015/01/30(金) 11:59:07.15
書き方が悪かった。
>>836と似た症状だから一番新しい
BonDriverProxy_current(20150129).zip
を試してみたら?って事。

ここまで見た
  • 867
  •  
  • 2015/01/30(金) 23:25:50.65
>863 PX-S1UDでやってみると同じエラーが出ます。
815と同じ現象です。

ここまで見た
  • 868
  •  
  • 2015/01/30(金) 23:42:59.75
>>853
そもそも文脈から意図が分かるのと、紛らわしい書き方を指摘するのは別の話だからね

>>860
お前の書き方が悪いって突っ込んだの>>852でも>>859でもなく俺だからね

ここまで見た
  • 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が必要になるので、この辺りは好みもありそうですが…

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

★お気に入り追加

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