14/10/03 07:03:45.95 bJNcwhax
>>732の続きです。単純にBonDriver_LinuxPT.cppのSET_CHANNELの前後に
fprintfを追加しWindowsのTVTestからチャンネル変更して確認してみました。
fprintf(stderr, "ioctl(SET_CHANNEL) Start\n");
if (::ioctl(m_fd, SET_CHANNEL, &(g_stChannels[g_Type][dwChannel].freq)) < 0)
{
::fprintf(stderr, "SetChannel() ioctl(SET_CHANNEL) error: %s\n", g_Device);
goto err;
}
fprintf(stderr, "ioctl(SET_CHANNEL) End\n");
ioctl(SET_CHANNEL) Start
ioctl(SET_CHANNEL) End
ioctl(START_REC) Start
ioctl(START_REC) End
ioctl(SET_CHANNEL) Start
ここでフリーズ。
> もしそれで大丈夫なら、ドライバの制限としてSTART_RECしてない時
> でないとSET_CHANNELできないとかの可能性はあるかもね
これです…。
しかし>>729みたいな文章でこの原因を推測できたことが驚きです。
とりあえず、SET_CHANNEL前にSTOP_RECでも入れて状態を見てみれば
良いのかな。