summaryrefslogtreecommitdiff
path: root/libavdevice/vfwcap.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavdevice/vfwcap.c')
-rw-r--r--libavdevice/vfwcap.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavdevice/vfwcap.c b/libavdevice/vfwcap.c
index 13aaad92ef..7b54490fbb 100644
--- a/libavdevice/vfwcap.c
+++ b/libavdevice/vfwcap.c
@@ -248,6 +248,22 @@ static int vfw_read_header(AVFormatContext *s, AVFormatParameters *ap)
int height;
int ret;
+ if (!strcmp(s->filename, "list")) {
+ for (devnum = 0; devnum <= 9; devnum++) {
+ char driver_name[256];
+ char driver_ver[256];
+ ret = capGetDriverDescription(devnum,
+ driver_name, sizeof(driver_name),
+ driver_ver, sizeof(driver_ver));
+ if (ret) {
+ av_log(s, AV_LOG_INFO, "Driver %d\n", devnum);
+ av_log(s, AV_LOG_INFO, " %s\n", driver_name);
+ av_log(s, AV_LOG_INFO, " %s\n", driver_ver);
+ }
+ }
+ return AVERROR(EIO);
+ }
+
if(!ap->time_base.den) {
av_log(s, AV_LOG_ERROR, "A time base must be specified.\n");
return AVERROR(EIO);