mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
Workaround for missing struct v4l2_buffer declaration in Suse 9 and Mandrake 10 linux/videodev2.h header file (#135919).
Original commit message from CVS: * configure.ac: * sys/v4l2/gstv4l2element.h: Workaround for missing struct v4l2_buffer declaration in Suse 9 and Mandrake 10 linux/videodev2.h header file (#135919).
This commit is contained in:
parent
8dd4ee7910
commit
b45bef1fed
3 changed files with 54 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2004-04-10 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
* sys/v4l2/gstv4l2element.h:
|
||||||
|
Workaround for missing struct v4l2_buffer declaration in Suse 9
|
||||||
|
and Mandrake 10 linux/videodev2.h header file (#135919).
|
||||||
|
|
||||||
2004-04-10 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
2004-04-10 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file):
|
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_open_file):
|
||||||
|
|
17
configure.ac
17
configure.ac
|
@ -635,6 +635,23 @@ return 0;
|
||||||
[ AC_MSG_WARN([video4linux2 was not found])])
|
[ AC_MSG_WARN([video4linux2 was not found])])
|
||||||
])
|
])
|
||||||
fi
|
fi
|
||||||
|
dnl check for missing v4l2_buffer declaration (see #135919)
|
||||||
|
if [ test x$HAVE_V4L2 = xyes ]; then
|
||||||
|
MISSING_DECL=0
|
||||||
|
AC_MSG_CHECKING(struct v4l2_buffer declaration)
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#define _LINUX_TIME_H
|
||||||
|
#include <linux/videodev2.h>
|
||||||
|
],[
|
||||||
|
struct v4l2_buffer buf;
|
||||||
|
return 0;
|
||||||
|
], [ AC_MSG_RESULT(yes) ], [ MISSING_DECL=1 && AC_MSG_RESULT(no) ])
|
||||||
|
if [ test x$MISSING_DECL = x1 ]; then
|
||||||
|
AC_DEFINE(GST_V4L2_MISSING_BUFDECL, 1, [struct v4l2_buffer missing])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl Next, check for the optional libraries:
|
dnl Next, check for the optional libraries:
|
||||||
|
|
|
@ -40,6 +40,36 @@
|
||||||
#define _LINUX_TIME_H
|
#define _LINUX_TIME_H
|
||||||
#include <linux/videodev2.h>
|
#include <linux/videodev2.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See bug #135919, the Suse9 (and Mandrake10) videodev2 headers
|
||||||
|
* contain a bug where (for userspace applications) the v4l2_buffer
|
||||||
|
* struct is not declared, so applications have to declare it.
|
||||||
|
* Declaration straightly ripped out from <linux/videodev2.h>.
|
||||||
|
*/
|
||||||
|
#ifdef GST_V4L2_MISSING_BUFDECL
|
||||||
|
struct v4l2_buffer
|
||||||
|
{
|
||||||
|
__u32 index;
|
||||||
|
enum v4l2_buf_type type;
|
||||||
|
__u32 bytesused;
|
||||||
|
__u32 flags;
|
||||||
|
enum v4l2_field field;
|
||||||
|
struct timeval timestamp;
|
||||||
|
struct v4l2_timecode timecode;
|
||||||
|
__u32 sequence;
|
||||||
|
|
||||||
|
/* memory location */
|
||||||
|
enum v4l2_memory memory;
|
||||||
|
union {
|
||||||
|
__u32 offset;
|
||||||
|
unsigned long userptr;
|
||||||
|
} m;
|
||||||
|
__u32 length;
|
||||||
|
|
||||||
|
__u32 reserved[2];
|
||||||
|
};
|
||||||
|
#endif /* GST_V4L2_MISSING_BUFDECL */
|
||||||
|
|
||||||
|
|
||||||
#define GST_TYPE_V4L2ELEMENT \
|
#define GST_TYPE_V4L2ELEMENT \
|
||||||
(gst_v4l2element_get_type())
|
(gst_v4l2element_get_type())
|
||||||
|
|
Loading…
Reference in a new issue