2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

Tvtestをビルドするスレ Part6

40 :名無しさん@編集中:2014/11/09(日) 23:35:10.82 ID:N0EaBZ08.net
これは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)を使用するように変更しました

総レス数 1033
226 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200