I recognized that the decoder didn`t stop immidiately and not on a black frame. 
The code worked previously and is in my opinion ok:

void cPvr350Device::Stop_Decode_Black(void)
{
        struct video_command cmd;
        memset(&cmd, 0, sizeof(cmd));
        cmd.cmd = VIDEO_CMD_STOP;
        cmd.flags = VIDEO_CMD_STOP_TO_BLACK | VIDEO_CMD_STOP_IMMEDIATELY;

        printf("pvr350: Stop decode black\n");
        if (IOCTL(fd_out, VIDEO_COMMAND, &cmd) < 0) {
                esyslog("pvr350: Stop_Decode_Black error=%d", errno);
        }
}

I also tried IOCTL(fd_out, VIDEO_STOP, 0) with the same result.

After changing ivtv-ioctl.c by commenting out line 292: 
//vc->flags &= ~(VIDEO_CMD_STOP_IMMEDIATELY|VIDEO_CMD_STOP_TO_BLACK);
under "case VIDEO_CMD_STOP" , it works again. But there may be other bugs, 
because stopping and starting the decoder is slower than with ivtv-0.10


-- 
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail

_______________________________________________
ivtv-devel mailing list
ivtv-devel@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to