Hi Hans,

desperately needed: the conversion guide :-)

It tried to find myself some answers, but there are still many open questions. 
The document rfc-mpeg.txt doesn`t seem to be up to date 
(VIDEO_CMD_PAUSE_TO_BLACK is obviosly a flag for VIDEO_CMD_FREEZE and not for 
VIDEO_CMD_CONTINUE). The document furthermore raises the question, but gives no 
answer how to scale and position the video.

I made some testing with the pvr350-plugin and managed to get OSD and sound, 
but have only a black picture. I replaced the struct ivtvfb_ioctl_set_window 
/IVTVFB_IOCTL_SET_WINDOW command for setting width, height, left and top with 
struct v4l2_rect / VIDIOC_S_FBUF. Is this o.k.?

Although I have only sound (but can see the timecode on OSD), I recognized that 
VIDEO_CMD_FREEZE does not stop immidiately the playback. It seems to play until 
the end of the gop. The code should be right:

struct video_command cmd;
        memset(&cmd, 0, sizeof(cmd));
        cmd.cmd = VIDEO_CMD_FREEZE;
        printf("pvr350: Freeze\n");
        if (IOCTL(fd_out, VIDEO_COMMAND, &cmd) < 0) {
                esyslog("pvr350: Freeze error=%d", errno);
        }

It really should freeze immidiately at the last frame. Any idea why it takes a 
few seconds? This shouldn`t even be possible as the API command 
CX2341X_DEC_PAUSE_PLAYBACK is designed to stop immidiately.

Same applies to

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

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

It doesn`t stop immidiately - takes also a few seconds.

And resuming playback with VIDEO_CMD_CONTINUE seems to skip a few seconds. 

BTW: I looked into ivtvfbctl to see how some settings have to be done with the 
new ioctls. But it is not up to date, still uses old ioctls 
(IVTVFB_IOCTL_GET_ALPHA, IVTVFB_IOCTL_SET_ALPHA, IVTVFB_IOCTL_SET_WINDOW).

I also looked in ivtvtv.cpp and tested it. But there is something wrong with 
the display setting. I have only small vertical lines on the left and right of 
the display. Is there any README how to use the program? Pressing the keys (s, 
p, r ...) while playing an mpeg doesn` t seem to do anything. 

Greets,
Martin


-- 
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten 
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser

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

Reply via email to