BonDriver共有ツール総合 [sc](★0)
-
- 612
- 2014/11/09(日) 16:32:31.62
-
>>611
これはTVTestの内部仕様とBonDriverインタフェース(ver2)の仕様ズレで発生する問題の様でした
BonDriverインタフェース(ver2)ではスペース/チャンネル情報をDWORDで扱いますが、TVTest内部では基本的に
signed intで扱っており、この不一致が原因で、BonDriverが初期チャンネル(通常は無効チャンネル)として
signed intでは負になる値を使用していた場合、本来検索にヒットしてはいけないチャンネルにヒットしてしまい、
そのチャンネルへのセットを(初期チャンネルの設定内容に関係なく)BonDriverに指示してしまう様です
具体的には、
https://github.com/DBCTRADO/TVTest/blob/develop/src/AppMain.cpp#L1043-L1045
での、CChannelList::FindByIndex()ですね
今回の条件の場合、検索が無条件ヒットなので最初のインデックスの0が返って来て、直後の
https://github.com/DBCTRADO/TVTest/blob/develop/src/AppMain.cpp#L1048
で「チャンネルリストの最初のチャンネル」にセットされます
NHK総合になるのは、「チャンネルリストの最初のチャンネル」がそうだったからでしょうね
対策としては、TVTest側で修正するのは面倒なわりに得る物は殆どないと思うので、
ドライバ側で無効チャンネルとして0x7fffffff(INT_MAX)を使用するように変更しました
ちなみに、無効チャンネルとして扱う値変更による機能的な変更は全くないので、
9/30版のままでも何も問題無いです
このページを共有する
おすすめワード