From bc7399934def210c2a84ea51375d50f79c676c96 Mon Sep 17 00:00:00 2001 From: Josh de Kock Date: Sun, 24 Jul 2016 20:55:42 +0100 Subject: [PATCH] libdc1394: Distinguish between enumeration errors and no cameras found Signed-off-by: Diego Biurrun --- libavdevice/libdc1394.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libavdevice/libdc1394.c b/libavdevice/libdc1394.c index a0ea592c9f..c823388a76 100644 --- a/libavdevice/libdc1394.c +++ b/libavdevice/libdc1394.c @@ -299,9 +299,14 @@ static int dc1394_v2_read_header(AVFormatContext *c) /* Now let us prep the hardware. */ dc1394->d = dc1394_new(); - dc1394_camera_enumerate (dc1394->d, &list); - if ( !list || list->num == 0) { - av_log(c, AV_LOG_ERROR, "Unable to look for an IIDC camera\n\n"); + if (dc1394_camera_enumerate(dc1394->d, &list) != DC1394_SUCCESS || !list) { + av_log(c, AV_LOG_ERROR, "Unable to look for an IIDC camera.\n"); + goto out; + } + + if (list->num == 0) { + av_log(c, AV_LOG_ERROR, "No cameras found.\n"); + dc1394_camera_free_list(list); goto out; }