summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stream/tvi_v4l.c2
-rw-r--r--stream/tvi_v4l2.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/stream/tvi_v4l.c b/stream/tvi_v4l.c
index c21e13475e..ee1ae60c07 100644
--- a/stream/tvi_v4l.c
+++ b/stream/tvi_v4l.c
@@ -867,6 +867,8 @@ static void *vbi_grabber(void *data)
while (!priv->vbi_shutdown){
bytes=read(priv->vbi_fd,buf,tsp.bufsize);
+ if(bytes<0 && errno==EINTR)
+ continue;
if (bytes!=tsp.bufsize){
mp_msg(MSGT_TV,MSGL_WARN,"vbi: expecting bytes: %d, got: %d",tsp.bufsize,bytes);
break;
diff --git a/stream/tvi_v4l2.c b/stream/tvi_v4l2.c
index e049d940dd..989d98f467 100644
--- a/stream/tvi_v4l2.c
+++ b/stream/tvi_v4l2.c
@@ -662,6 +662,8 @@ static void *vbi_grabber(void *data)
while (!priv->vbi_shutdown){
bytes=read(priv->vbi_fd,buf,tsp.bufsize);
+ if(bytes<0 && errno==EINTR)
+ continue;
if (bytes!=tsp.bufsize){
mp_msg(MSGT_TV,MSGL_WARN,"vbi: expecting bytes: %d, got: %d\n",tsp.bufsize,bytes);
break;