# HG changeset patch # User alex # Date 1009202203 0 # Node ID 5fa7eb90e2ec8b86c82c33ffda373e1fbfb32104 # Parent f1afa17d807f4dca1c4bc7ce0997bf867ac33176 fixed video syncing diff -r f1afa17d807f -r 5fa7eb90e2ec libmpdemux/tvi_v4l.c --- a/libmpdemux/tvi_v4l.c Mon Dec 24 11:26:14 2001 +0000 +++ b/libmpdemux/tvi_v4l.c Mon Dec 24 13:56:43 2001 +0000 @@ -757,9 +757,11 @@ mp_msg(MSGT_TV, MSGL_ERR, "ioctl mcapture failed: %s\n", strerror(errno)); return(0); } - - if (ioctl(priv->fd, VIDIOCSYNC, &priv->buf[frame].frame) == -1) - mp_msg(MSGT_TV, MSGL_ERR, "ioctl sync failed: %s\n", strerror(errno)); + + while (ioctl(priv->fd, VIDIOCSYNC, &priv->buf[frame].frame) < 0 && + (errno == EAGAIN || errno == EINTR)); + mp_dbg(MSGT_TV, MSGL_DBG3, "picture sync failed\n"); + priv->queue++; mp_dbg(MSGT_TV, MSGL_DBG3, "mmap: %p + offset: %d => %p\n",