summaryrefslogtreecommitdiff
path: root/libavdevice
diff options
context:
space:
mode:
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/alldevices.c2
-rw-r--r--libavdevice/avdevice.h4
-rw-r--r--libavdevice/libdc1394.c31
-rw-r--r--libavdevice/v4l.c7
4 files changed, 29 insertions, 15 deletions
diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
index 3997c7380b..fad7758944 100644
--- a/libavdevice/alldevices.c
+++ b/libavdevice/alldevices.c
@@ -48,7 +48,9 @@ void avdevice_register_all(void)
REGISTER_INOUTDEV (OSS, oss);
REGISTER_INOUTDEV (SNDIO, sndio);
REGISTER_INDEV (V4L2, v4l2);
+#if FF_API_V4L
REGISTER_INDEV (V4L, v4l);
+#endif
REGISTER_INDEV (VFWCAP, vfwcap);
REGISTER_INDEV (X11_GRAB_DEVICE, x11_grab_device);
diff --git a/libavdevice/avdevice.h b/libavdevice/avdevice.h
index d31c99e654..7633af4475 100644
--- a/libavdevice/avdevice.h
+++ b/libavdevice/avdevice.h
@@ -33,6 +33,10 @@
LIBAVDEVICE_VERSION_MICRO)
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
+#ifndef FF_API_V4L
+#define FF_API_V4L (LIBAVDEVICE_VERSION_MAJOR < 54)
+#endif
+
/**
* Return the LIBAVDEVICE_VERSION_INT constant.
*/
diff --git a/libavdevice/libdc1394.c b/libavdevice/libdc1394.c
index 838f01993a..b2585ac260 100644
--- a/libavdevice/libdc1394.c
+++ b/libavdevice/libdc1394.c
@@ -90,6 +90,21 @@ struct dc1394_frame_rate {
{ 0, 0 } /* gotta be the last one */
};
+static const AVOption options[] = {
+#if HAVE_LIBDC1394_1
+ { "channel", "", offsetof(dc1394_data, channel), FF_OPT_TYPE_INT, {.dbl = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+#endif
+ { NULL },
+};
+
+static const AVClass libdc1394_class = {
+ .class_name = "libdc1394 indev",
+ .item_name = av_default_item_name,
+ .option = options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
+
static inline int dc1394_read_common(AVFormatContext *c, AVFormatParameters *ap,
struct dc1394_frame_format **select_fmt, struct dc1394_frame_rate **select_fps)
{
@@ -245,20 +260,6 @@ static int dc1394_v1_close(AVFormatContext * context)
return 0;
}
-static const AVOption options[] = {
-#if HAVE_LIBDC1394_1
- { "channel", "", offsetof(dc1394_data, channel), FF_OPT_TYPE_INT, {.dbl = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
-#endif
- { NULL },
-};
-
-static const AVClass libdc1394_class = {
- .class_name = "libdc1394 indev",
- .item_name = av_default_item_name,
- .option = options,
- .version = LIBAVUTIL_VERSION_INT,
-};
-
#elif HAVE_LIBDC1394_2
static int dc1394_v2_read_header(AVFormatContext *c, AVFormatParameters * ap)
{
@@ -378,7 +379,7 @@ AVInputFormat ff_libdc1394_demuxer = {
.read_header = dc1394_v2_read_header,
.read_packet = dc1394_v2_read_packet,
.read_close = dc1394_v2_close,
- .flags = AVFMT_NOFILE
+ .flags = AVFMT_NOFILE,
.priv_class = &libdc1394_class,
};
diff --git a/libavdevice/v4l.c b/libavdevice/v4l.c
index a49ca8005f..337b489e92 100644
--- a/libavdevice/v4l.c
+++ b/libavdevice/v4l.c
@@ -19,6 +19,10 @@
* 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;
@@ -374,3 +380,4 @@ AVInputFormat ff_v4l_demuxer = {
.flags = AVFMT_NOFILE,
.priv_class = &v4l_class,
};
+#endif /* FF_API_V4L */