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 <dcni...@gmail.com>
---
 libavdevice/dshow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c
index 8d0a6fcc09..135367d7de 100644
--- a/libavdevice/dshow.c
+++ b/libavdevice/dshow.c
@@ -1335,6 +1335,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,
 };
-- 
2.28.0.windows.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to