summaryrefslogtreecommitdiff
path: root/libavdevice
diff options
context:
space:
mode:
authorDiederick Niehorster <dcnieho@gmail.com>2021-12-21 14:53:30 +0100
committerGyan Doshi <ffmpeg@gyani.pro>2021-12-24 14:06:27 +0530
commit937de260eb293000d1bf043974ef56cf9a1ad4e0 (patch)
treea7898caf4889993071706e943bf07f9a48a2e7cd /libavdevice
parent271e55987faf41c850dc2c2e719ffb1e097242d9 (diff)
downloadffmpeg-937de260eb293000d1bf043974ef56cf9a1ad4e0.tar.gz
avdevice/dshow: set no-seek flags
avdevice/dshow is a realtime device and as such does not support seeking. Therefore, its demuxer format should define the AVFMT_NOBINSEARCH, AVFMT_NOGENSEARCH and AVFMT_NO_BYTE_SEEK flags. With these flags set, attempting to seek (with, e.g., avformat_seek_file()) correctly yields -1 (operation not permitted) instead of -22 (invalid argument). This actually seems to apply to many other devices, at least the gdigrab, v4l2, vfwcap, x11grab, fbdev, kmsgrab and android_camera devices, from reading the source. Signed-off-by: Diederick Niehorster <dcnieho@gmail.com> Reviewed-by: Roger Pack <rogerdpack2@gmail.com>
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/dshow.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c
index 5e6eb9c85d..0ef3b3d13e 100644
--- a/libavdevice/dshow.c
+++ b/libavdevice/dshow.c
@@ -1329,6 +1329,6 @@ const AVInputFormat ff_dshow_demuxer = {
.read_header = dshow_read_header,
.read_packet = dshow_read_packet,
.read_close = dshow_read_close,
- .flags = AVFMT_NOFILE,
+ .flags = AVFMT_NOFILE | AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK,
.priv_class = &dshow_class,
};