]> git.sesse.net Git - ffmpeg/blobdiff - libavdevice/bktr.c
Merge commit '81688e68f93f3142e2093f1a3d226edaeb179992'
[ffmpeg] / libavdevice / bktr.c
index 6c5a834b75b57cdeaa65fbbfc4d071b49e5190b9..c8a895326732acef7f07a4cf8a8a42c00969c58b 100644 (file)
@@ -104,6 +104,8 @@ static av_cold int bktr_init(const char *video_device, int width, int height,
     char *arg;
     int c;
     struct sigaction act = { {0} }, old;
+    int ret;
+    char errbuf[128];
 
     if (idev < 0 || idev > 4)
     {
@@ -142,8 +144,10 @@ static av_cold int bktr_init(const char *video_device, int width, int height,
 
     *video_fd = avpriv_open(video_device, O_RDONLY);
     if (*video_fd < 0) {
-        av_log(NULL, AV_LOG_ERROR, "%s: %s\n", video_device, strerror(errno));
-        return -1;
+        ret = AVERROR(errno);
+        av_strerror(ret, errbuf, sizeof(errbuf));
+        av_log(NULL, AV_LOG_ERROR, "%s: %s\n", video_device, errbuf);
+        return ret;
     }
 
     geo.rows = height;
@@ -165,19 +169,25 @@ static av_cold int bktr_init(const char *video_device, int width, int height,
         geo.oformat |= METEOR_GEO_EVEN_ONLY;
 
     if (ioctl(*video_fd, METEORSETGEO, &geo) < 0) {
-        av_log(NULL, AV_LOG_ERROR, "METEORSETGEO: %s\n", strerror(errno));
-        return -1;
+        ret = AVERROR(errno);
+        av_strerror(ret, errbuf, sizeof(errbuf));
+        av_log(NULL, AV_LOG_ERROR, "METEORSETGEO: %s\n", errbuf);
+        return ret;
     }
 
     if (ioctl(*video_fd, BT848SFMT, &c) < 0) {
-        av_log(NULL, AV_LOG_ERROR, "BT848SFMT: %s\n", strerror(errno));
-        return -1;
+        ret = AVERROR(errno);
+        av_strerror(ret, errbuf, sizeof(errbuf));
+        av_log(NULL, AV_LOG_ERROR, "BT848SFMT: %s\n", errbuf);
+        return ret;
     }
 
     c = bktr_dev[idev];
     if (ioctl(*video_fd, METEORSINPUT, &c) < 0) {
-        av_log(NULL, AV_LOG_ERROR, "METEORSINPUT: %s\n", strerror(errno));
-        return -1;
+        ret = AVERROR(errno);
+        av_strerror(ret, errbuf, sizeof(errbuf));
+        av_log(NULL, AV_LOG_ERROR, "METEORSINPUT: %s\n", errbuf);
+        return ret;
     }
 
     video_buf_size = width * height * 12 / 8;
@@ -185,8 +195,10 @@ static av_cold int bktr_init(const char *video_device, int width, int height,
     video_buf = (uint8_t *)mmap((caddr_t)0, video_buf_size,
         PROT_READ, MAP_SHARED, *video_fd, (off_t)0);
     if (video_buf == MAP_FAILED) {
-        av_log(NULL, AV_LOG_ERROR, "mmap: %s\n", strerror(errno));
-        return -1;
+        ret = AVERROR(errno);
+        av_strerror(ret, errbuf, sizeof(errbuf));
+        av_log(NULL, AV_LOG_ERROR, "mmap: %s\n", errbuf);
+        return ret;
     }
 
     if (frequency != 0.0) {