diff options
Diffstat (limited to 'sys/v4l2')
-rw-r--r-- | sys/v4l2/gstv4l2element.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/v4l2/gstv4l2element.h b/sys/v4l2/gstv4l2element.h index 0e462036..76ad04d4 100644 --- a/sys/v4l2/gstv4l2element.h +++ b/sys/v4l2/gstv4l2element.h @@ -21,8 +21,22 @@ #define __GST_V4L2ELEMENT_H__ #include <gst/gst.h> + +/* Because of some really cool feature in video4linux1, also known as + * 'not including sys/types.h and sys/time.h', we had to include it + * ourselves. In all their intelligence, these people decided to fix + * this in the next version (video4linux2) in such a cool way that it + * breaks all compilations of old stuff... + * The real problem is actually that linux/time.h doesn't use proper + * macro checks before defining types like struct timeval. The proper + * fix here is to either fuck the kernel header (which is what we do + * by defining _LINUX_TIME_H, an innocent little hack) or by fixing it + * upstream, which I'll consider doing later on. If you get compiler + * errors here, check your linux/time.h && sys/time.h header setup. + */ #include <sys/types.h> #include <linux/types.h> +#define _LINUX_TIME_H #include <linux/videodev2.h> |