Folgendes Vorgehen: sehr schnelles Zapping mit neutrino/zapit (schneller als Bild kommt). Nach 5-6 Sendern hängt zapit komplett in einer Endlosschleife. Ich habe mal versucht, das Ganze zu verfolgen:
apps/dvb/zapit/zapit.cpp: startPlayBack() -> video->start()
apps/dvb/zapit/zapost/video.cpp: video->start() -> ioctl (VIDEO_PLAY)
driver/ost/dvb.c: video_ioctl (VIDEO_PLAY) -> avia_command(Play, 0x00, dvb->video_pid, dvb->audio_pid);
driver/avia/avia_av_core.c: avia_command(u32 command, ...), command == 0x343 (Play) am Ende der Funktion der Aufruf zu avia_cmd_status_get_addr()
Code: Alles auswählen
va_end(ap);
if (!(status_addr = avia_cmd_status_get_addr())) {
printk(KERN_ERR "avia_av: timeout.\n");
return 0;
}
dprintk("C: 0x%X -> SA: 0x%X\n", command, status_addr);
if (command & 0x8000)
avia_cmd_status_get(status_addr, 1);
return status_addr;
Code: Alles auswählen
static u32 avia_cmd_status_get_addr(void)
{
while (!rDR(0x5C))
schedule();
return rDR(0x5C);
}
Box ist Nokia GTX Avia600 2xI ves1893 (Sat).