Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#7848 closed defect (fixed)

ffmpeg -devices doesn't show gdigrab as a device

Reported by: dan gibson Owned by:
Priority: minor Component: avdevice
Version: git-master Keywords: gdigrab
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I've just started using ffmpeg and I think I've found an issue.

Running 'ffmpeg -devices' shows:

ffmpeg version 4.1.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20190212
  configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbl
uray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy -
-enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg
--enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --
enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Devices:
 D. = Demuxing supported
 .E = Muxing supported
 --
 D  dshow           DirectShow capture
 D  lavfi           Libavfilter virtual input device
  E sdl,sdl2        SDL2 output device
 D  vfwcap          VfW video capture

The manpage for devices says it should show gdigrab as a device, but it's not appearing.

This also means that using av_input_video_device_next to enumerate the devices doesn't include gdigrab - I _think_ it should?

In libavdevice/gdigrab.c, the gdigrab_class structure doesn't include a line:

.category = AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT,

libavdevice/dshow.c does include that line.

As a result, running ffmpeg -devices doesn't show gdigrab as a device.

Change History (4)

comment:2 by dan gibson, 5 years ago

Sorry, I don't know how to build ffmpeg, so I can't try it.

comment:3 by Marton Balint, 5 years ago

Resolution: fixed
Status: newclosed

comment:4 by Carl Eugen Hoyos, 5 years ago

Component: undeterminedavdevice
Keywords: gdigrab added
Priority: normalminor
Version: 4.1git-master
Note: See TracTickets for help on using tickets.