armbox: tryfix lost of video device after playing something with gst

This commit is contained in:
TangoCash
2017-10-18 21:05:28 +02:00
parent 0dd25ef8fb
commit 99eb4a3c7f

View File

@@ -189,6 +189,8 @@ retry:
} }
lt_info("#%d: %s cannot open %s: %m, retries %d\n", devnum, __func__, VDEV[devnum], n); lt_info("#%d: %s cannot open %s: %m, retries %d\n", devnum, __func__, VDEV[devnum], n);
} }
ioctl(fd, VIDEO_STOP, 0);
ioctl(fd, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_DEMUX);
playstate = VIDEO_STOPPED; playstate = VIDEO_STOPPED;
} }
@@ -197,6 +199,10 @@ void cVideo::closeDevice(void)
lt_debug("%s\n", __func__); lt_debug("%s\n", __func__);
/* looks like sometimes close is unhappy about non-empty buffers */ /* looks like sometimes close is unhappy about non-empty buffers */
Start(); Start();
ioctl(fd, VIDEO_SELECT_SOURCE, VIDEO_SOURCE_MEMORY);
ioctl(fd, VIDEO_PLAY);
ioctl(fd, VIDEO_CONTINUE);
ioctl(fd, VIDEO_CLEAR_BUFFER);
if (fd >= 0) if (fd >= 0)
close(fd); close(fd);
fd = -1; fd = -1;