いろいろアプデ とりあえず2つ
BonDriver_HDUS 人柱13
08/09/08 人柱13
・受信レベル取得処理を少し変更
添付のReadme.txtより
ソースをチラリと見てみましたが、自分には無駄でした…。(笑)
2chのスレ (SKNET MonsterTV HDUS Part16)を見るとBonDriver_HDUSについていろいろやり取りされているのがわかりますが、その辺りが反映されているのでしょうか?
(以下転載)
930 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 09:58:41 id:Vpfl52oM 新ドライバが不安定なのは電波レベルの取得に時間がかかるからです BonDriver_HDUSの今の実装ではアプリからレベル取得要求がある度に 遅い処理するから間に合わなくなります HDUS側のバッファーが空になった時にレベル取得して変数に保存するようにして アプリからのレベル取得要求には変数の値返すだけにすれば改善されるはず それと、以前BUFF_SIZEを2倍にされてましたが、一気に処理しなければならない量が増えてしまいますので MAX_BUFF_COUNTの方を増やした方が良いですよ こちらはいくら増やしても副作用はありません 使っている分しかメモリ食わないので5000とかでもいいくらいです 933 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 10:11:06 id:UPLvkOoK >>930 うーん、ってことは、受信レベルの取得はなるべく行わない方がいいってことですか? 壊れたデータが入ると、MPEG2/AAC/デマクサがアプリエラーになる場合があるから、 受信レベルを監視して、受信レベルが低くなったら、エンジンを停止するってことを 考えていたけど・・・。 うーん、難しいですね。 935 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 11:47:04 id:Vpfl52oM >>933 いやそんなことは無いですよ 大切なのは流れを妨げないこと 平行処理を心がければ良いんです 例えばアプリで対処するなら、BonDriverからデータを受け取りきった直後(バッファーが空になった時)に 取得すればいいんです ハードは平行処理ですので、貯めている隙に 936 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 12:05:35 id:Vpfl52oM 言葉が足りなかったので補足です BonDriverから受け取りー>B25処理ー>TS保存or描画 のループの中に遅い処理をシリアルに入れてはダメで 裏で平行処理する必要があります もちろんBonDriverから受け取りを妨害してはいけません BonDriver_HDUS側で対処してもらえるとみんなhappyになれるかも… 955 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 14:40:57 id:PThAi2td 信号レベル取得に関してBonDriver_HDUSでは get_level1 と get_level2 の両方行ってるけど 実際に使ってるのは get_level1 のほうだけです。 で元々のhduslvlc.c(up0035にあるソース)で時間を簡易計測してみた。 120回まわして get_level1 と get_level2 の所要時間の平均を取ったところ average[1]= 2.7250[ms] average[2]= 7.0417[ms] 大雑把に、この結果から信号レベル取得の時間を推測すると 平均[1]+[2]=9.7667[ms]かかっているということになり、 get_level2 の取得を省略すれば約7ms稼げることになる。 ただし、この検証はTSを受信してデータを取り出しながらではないので・・・
-
- -
Petit地デジ Ver0.06c
0.06bとあわせて記載しておきます。
08/09/07 Ver.0.06b
- NIT処理のメモリアクセス違反の可能性を修正してみた
08/09/07 Ver.0.06b
- Meru-coさんの修正をProgManager.cppに組み込んだ
添付のreadme.txtより
これかな?
SKNET MonsterTV HDUS Part16 946 名前:名無しさん@編集中[sage] 投稿日:2008/09/07(日) 13:29:15 ID:4ULYHRmq >>877 Petit地デジ 使わせていただいてます。 BonTsEngineに以下のような不具合があるようなので、次回公開時、修正していただけませんか? http://pc11.2ch.net/test/read.cgi/avi/1217639680/539-547 【半田は】亀によるts抜きスレ【基本】 539 名前:名無しさん@編集中[sage] 投稿日:2008/09/02(火) 23:24:57 id:KKuGJmp7 Uniden 3波チューナー + BonDriver_U3ID0.dll で、HDUS用の「Petit地デジ」を使ってみたくて、 BonDriver_U3ID0.dllを改造して、チャンネルスキャンができるようにしたのですが、 途中でエラーが出て異常終了してしまいます。 110CS の ND12 をスキャンしたところで落ちるようで、Petit地デジを起動して、 チューナーのリモコンを使って 110CS のチャンネル 323 を選局しても落ちます。 HDUSTest使用時も同様に落ちるのですが、これは BonDriver_U3ID0.dllとソフトとの相性が悪いのでしょうか? EpgDataCap_Bonとの組み合わせでは落ちません。 エラーメッセージは、HDUSTest.exe ver.0.4.4が 例外 unknown software exception (0xc000000d) がアプリケーションの 0x78138aa0 で発生しました。 Petit地デジ ver.0.05が 例外 不明なソフトウェア例外 (0xc0000417) がアプリケーションの 0x00446863 で発生しました。 でした。 BonDriver_U3ID0.dllの改造内容ですが、受信バッファ量ではなく、受信感度を返すようにしました。 一度チャンネルスキャンができれば良いので、適当な数字を返すようにしただけですが。 オリジナルのBonDriver_U3ID0.dllでも、落ちてしまいます。 547 名前:Meru-co[sage] 投稿日:2008/09/03(水) 14:08:15 ID:1RO8KOi+ ND12の件。(トリ忘れた [ProgManager.cpp] >修正前 if(!m_pProgDatabase->m_ServiceList[0].bIsUpdated) return false; *pwServiceID = m_ServiceList[0].wServiceID; >修正後 if(m_pProgDatabase->m_ServiceList.size()==0) return false; if(!m_pProgDatabase->m_ServiceList[0].bIsUpdated) return false; *pwServiceID = m_pProgDatabase->m_ServiceList[0].wServiceID; CSは契約してないので(そもそも見る時間がない)報告助かります。 CS-ND12に限らず起きる可能性はありました。ご報告ありがとうございます。 改造版BonTsEngine搭載してるなら同様の不具合は出ます。
BonTestNewUI.1.41m8 の Readme を読むと
1.41m8
- BonTsEngineバグ修正。(ND12視聴時のサービスID取得バグ)
とあるので、コレを取り込んだんだと思います。メジャーバージョンナンバーは0.06のまま、マイナーバージョンabcってことも考えるとバグ修正バージョンってことでしょうね。こういうわかりやすいのは好感が持てます。
ただ、うちの環境ではイマイチ安定しません…ビットマップもそうなんですが、BonDriver_HDUSのバージョンを人柱13にしてキャプチャすると、ほぼ100%クラッシュします。仕方ないので人柱12に戻しましたが、なんでかなー??