lavd/libdc1394: distinguish between enumeration errors and no cameras found
authorJosh de Kock <josh@itanimul.li>
Sun, 24 Jul 2016 18:49:40 +0000 (19:49 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 25 Jul 2016 17:39:13 +0000 (19:39 +0200)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavdevice/libdc1394.c

index 43fa232..60c6146 100644 (file)
@@ -302,9 +302,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;
     }