166 lines
5.0 KiB
Diff
166 lines
5.0 KiB
Diff
diff --git a/Setup.in b/Setup.in
|
|
index c90174f..2ad0252 100644
|
|
--- a/Setup.in
|
|
+++ b/Setup.in
|
|
@@ -34,7 +34,7 @@ _numericsurfarray src/_numericsurfarray.c $(SDL) $(DEBUG)
|
|
_numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
|
|
movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
|
|
scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
|
|
-_camera src/_camera.c src/camera_v4l2.c src/camera_v4l.c $(SDL) $(DEBUG)
|
|
+_camera src/_camera.c src/camera_v4l2.c $(SDL) $(DEBUG)
|
|
pypm src/pypm.c $(SDL) $(PORTMIDI) $(PORTTIME) $(DEBUG)
|
|
|
|
GFX = src/SDL_gfx/SDL_gfxPrimitives.c
|
|
diff --git a/src/_camera.c b/src/_camera.c
|
|
index d25cf63..f354fab 100644
|
|
--- a/src/_camera.c
|
|
+++ b/src/_camera.c
|
|
@@ -22,7 +22,7 @@
|
|
* Author: Nirav Patel
|
|
*
|
|
* This module allows for use of v4l2 webcams in pygame. The code is written
|
|
- * such that adding support for v4l or vfw cameras should be possible without
|
|
+ * such that adding support for vfw cameras should be possible without
|
|
* much modification of existing functions. v4l2 functions are kept seperate
|
|
* from functions available to pygame users and generic functions like
|
|
* colorspace conversion.
|
|
@@ -160,20 +160,8 @@ PyObject* camera_start (PyCameraObject* self)
|
|
{
|
|
#if defined(__unix__)
|
|
if (v4l2_open_device(self) == 0) {
|
|
- if (v4l_open_device(self) == 0) {
|
|
- v4l2_close_device(self);
|
|
- return NULL;
|
|
- } else {
|
|
- self->camera_type = CAM_V4L;
|
|
- if (v4l_init_device(self) == 0) {
|
|
- v4l2_close_device(self);
|
|
- return NULL;
|
|
- }
|
|
- if (v4l_start_capturing(self) == 0) {
|
|
- v4l2_close_device(self);
|
|
- return NULL;
|
|
- }
|
|
- }
|
|
+ v4l2_close_device(self);
|
|
+ return NULL;
|
|
} else {
|
|
self->camera_type = CAM_V4L2;
|
|
if (v4l2_init_device(self) == 0) {
|
|
diff --git a/src/camera.h b/src/camera.h
|
|
index 921ad96..f528ad8 100644
|
|
--- a/src/camera.h
|
|
+++ b/src/camera.h
|
|
@@ -39,7 +39,6 @@
|
|
|
|
#include <asm/types.h> /* for videodev2.h */
|
|
|
|
- #include <linux/videodev.h>
|
|
#include <linux/videodev2.h>
|
|
#endif
|
|
|
|
@@ -51,7 +50,7 @@
|
|
#define RGB_OUT 1
|
|
#define YUV_OUT 2
|
|
#define HSV_OUT 4
|
|
-#define CAM_V4L 1
|
|
+#define CAM_V4L 1 /* deprecated. the incomplete support in pygame was removed */
|
|
#define CAM_V4L2 2
|
|
|
|
struct buffer
|
|
@@ -111,8 +110,4 @@ int v4l2_init_device (PyCameraObject* self);
|
|
int v4l2_close_device (PyCameraObject* self);
|
|
int v4l2_open_device (PyCameraObject* self);
|
|
|
|
-/* internal functions specific to v4l */
|
|
-int v4l_open_device (PyCameraObject* self);
|
|
-int v4l_init_device(PyCameraObject* self);
|
|
-int v4l_start_capturing(PyCameraObject* self);
|
|
#endif
|
|
diff --git a/src/camera_v4l.c b/src/camera_v4l.c
|
|
index 674bfc6..e69de29 100644
|
|
--- a/src/camera_v4l.c
|
|
+++ b/src/camera_v4l.c
|
|
@@ -1,81 +0,0 @@
|
|
-/*
|
|
- pygame - Python Game Library
|
|
-
|
|
- This library is free software; you can redistribute it and/or
|
|
- modify it under the terms of the GNU Library General Public
|
|
- License as published by the Free Software Foundation; either
|
|
- version 2 of the License, or (at your option) any later version.
|
|
-
|
|
- This library is distributed in the hope that it will be useful,
|
|
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
- Library General Public License for more details.
|
|
-
|
|
- You should have received a copy of the GNU Library General Public
|
|
- License along with this library; if not, write to the Free
|
|
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
-
|
|
-*/
|
|
-#if defined(__unix__)
|
|
-#include "camera.h"
|
|
-
|
|
-/*
|
|
- * V4L functions
|
|
- */
|
|
-
|
|
-int v4l_open_device (PyCameraObject* self)
|
|
-{
|
|
- struct stat st;
|
|
- struct video_capability cap;
|
|
- struct video_mbuf buf;
|
|
-
|
|
- if (-1 == stat (self->device_name, &st)) {
|
|
- PyErr_Format(PyExc_SystemError, "Cannot identify '%s': %d, %s",
|
|
- self->device_name, errno, strerror (errno));
|
|
- return 0;
|
|
- }
|
|
-
|
|
- if (!S_ISCHR (st.st_mode)) {
|
|
- PyErr_Format(PyExc_SystemError, "%s is no device",self->device_name);
|
|
- return 0;
|
|
- }
|
|
-
|
|
- self->fd = open (self->device_name, O_RDWR /* required | O_NONBLOCK */, 0);
|
|
-
|
|
- if (-1 == self->fd) {
|
|
- PyErr_Format(PyExc_SystemError, "Cannot open '%s': %d, %s",
|
|
- self->device_name, errno, strerror (errno));
|
|
- return 0;
|
|
- }
|
|
-
|
|
- if(ioctl(self->fd, VIDIOCGCAP, cap) == -1) {
|
|
- PyErr_Format(PyExc_SystemError, "%s is not a V4L device",
|
|
- self->device_name);
|
|
- return 0;
|
|
- }
|
|
-
|
|
- if(!(cap.type & VID_TYPE_CAPTURE)) {
|
|
- PyErr_Format(PyExc_SystemError, "%s is not a video capture device",
|
|
- self->device_name);
|
|
- return 0;
|
|
- }
|
|
-
|
|
- if( ioctl(self->fd , VIDIOCGMBUF , buf ) == -1 ) {
|
|
- PyErr_Format(PyExc_SystemError, "%s does not support streaming i/o",
|
|
- self->device_name);
|
|
- return 0;
|
|
- }
|
|
-
|
|
- return 1;
|
|
-}
|
|
-
|
|
-int v4l_init_device(PyCameraObject* self)
|
|
-{
|
|
- return 0;
|
|
-}
|
|
-
|
|
-int v4l_start_capturing(PyCameraObject* self)
|
|
-{
|
|
- return 0;
|
|
-}
|
|
-#endif
|