mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
Fix v4l/v4l2 compilation problems
Original commit message from CVS: Fix v4l/v4l2 compilation problems
This commit is contained in:
parent
0700147e75
commit
c6809b3db0
11 changed files with 73 additions and 3 deletions
25
configure.ac
25
configure.ac
|
@ -290,15 +290,36 @@ dnl this one is for hadess, no qcam when no nasm found
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl *** Video 4 Linux ***
|
dnl *** Video 4 Linux ***
|
||||||
|
dnl for information about the header/define, see sys/v4l/gstv4lelement.h
|
||||||
translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
|
translit(dnm, m, l) AM_CONDITIONAL(USE_V4L, true)
|
||||||
GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
|
GST_CHECK_FEATURE(V4L, [Video 4 Linux], v4lsrc v4lmjpegsrc v4lmjpegsink, [
|
||||||
AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [#include <linux/videodev.h>])
|
AC_CHECK_DECL(VID_TYPE_MPEG_ENCODER, HAVE_V4L="yes", HAVE_V4L="no", [
|
||||||
|
#include <sys/types.h>
|
||||||
|
#define _LINUX_TIME_H
|
||||||
|
#include <linux/videodev.h>
|
||||||
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl *** Video 4 Linux 2***
|
dnl *** Video 4 Linux 2***
|
||||||
|
dnl for information about the header/define, see sys/v4l2/gstv4l2element.h
|
||||||
translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
|
translit(dnm, m, l) AM_CONDITIONAL(USE_V4L2, true)
|
||||||
GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
|
GST_CHECK_FEATURE(V4L2, [Video 4 Linux 2], v4l2src, [
|
||||||
AC_CHECK_HEADER(linux/videodev2.h, HAVE_V4L2="yes", HAVE_V4L2="no")
|
AC_MSG_CHECKING([Checking for uptodate v4l2 installation])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#define _LINUX_TIME_H
|
||||||
|
#include <linux/videodev2.h>
|
||||||
|
#if defined(V4L2_MAJOR_VERSION) || defined(V4L2_MINOR_VERSION)
|
||||||
|
#error too early v4l2 version or no v4l2 at all
|
||||||
|
#endif
|
||||||
|
], [
|
||||||
|
return 0;
|
||||||
|
], [ HAVE_V4L2="yes" && AC_MSG_RESULT(yes)],
|
||||||
|
[ HAVE_V4L2="no" && AC_MSG_RESULT(no) &&
|
||||||
|
AC_CHECK_HEADER(linux/videodev2.h,
|
||||||
|
[ AC_MSG_WARN([video4linux2 headers were found, but they're old. Please update v4l2 to compile the v4l2 plugins])],
|
||||||
|
[ AC_MSG_WARN([video4linux2 was not found])])])
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl *** Video CD ***
|
dnl *** Video CD ***
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "v4l_calls.h"
|
#include "v4l_calls.h"
|
||||||
#include "gstv4lelement-marshal.h"
|
#include "gstv4lelement-marshal.h"
|
||||||
|
|
|
@ -20,9 +20,22 @@
|
||||||
#ifndef __GST_V4LELEMENT_H__
|
#ifndef __GST_V4LELEMENT_H__
|
||||||
#define __GST_V4LELEMENT_H__
|
#define __GST_V4LELEMENT_H__
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
#include <gst/gst.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 <sys/types.h>
|
||||||
|
#define _LINUX_TIME_H
|
||||||
#include <linux/videodev.h>
|
#include <linux/videodev.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "v4lmjpegsink_calls.h"
|
#include "v4lmjpegsink_calls.h"
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "v4lmjpegsrc_calls.h"
|
#include "v4lmjpegsrc_calls.h"
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include "v4lsrc_calls.h"
|
#include "v4lsrc_calls.h"
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
|
@ -17,6 +17,10 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
Loading…
Reference in a new issue