]> git.sesse.net Git - ffmpeg/blobdiff - libavdevice/v4l.c
v4l2: factorize returning error codes.
[ffmpeg] / libavdevice / v4l.c
index 8c1134536a8f70f2b8def7eff532e2265802e749..1be7adf49d920ad3a480b7080badd6717525b3b9 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "avdevice.h"
+
+#if FF_API_V4L
+
 #undef __STRICT_ANSI__ //workaround due to broken kernel headers
 #include "config.h"
 #include "libavutil/rational.h"
@@ -83,6 +87,8 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
     int j;
     int vformat_num = FF_ARRAY_ELEMS(video_formats);
 
+    av_log(s1, AV_LOG_WARNING, "V4L input device is deprecated and will be removed in the next release.");
+
     if (ap->time_base.den <= 0) {
         av_log(s1, AV_LOG_ERROR, "Wrong time base (%d)\n", ap->time_base.den);
         return -1;
@@ -136,6 +142,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
 
     /* set tv standard */
     if (!ioctl(video_fd, VIDIOCGTUNER, &tuner)) {
+#if FF_API_FORMAT_PARAMETERS
         if (ap->standard) {
             if (!strcasecmp(ap->standard, "pal"))
                 s->standard = VIDEO_MODE_PAL;
@@ -144,6 +151,7 @@ static int grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
             else
                 s->standard = VIDEO_MODE_NTSC;
         }
+#endif
         tuner.mode = s->standard;
         ioctl(video_fd, VIDIOCSTUNER, &tuner);
     }
@@ -366,3 +374,4 @@ AVInputFormat ff_v4l_demuxer = {
     .flags = AVFMT_NOFILE,
     .priv_class = &v4l_class,
 };
+#endif  /* FF_API_V4L */