mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +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>
|
||||
|
||||
* 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])])
|
||||
])
|
||||
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:
|
||||
|
|
|
@ -40,6 +40,36 @@
|
|||
#define _LINUX_TIME_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 \
|
||||
(gst_v4l2element_get_type())
|
||||
|
|
Loading…
Reference in a new issue