add pygame need for older games newest version from pygame
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
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
|
||||
Reference in New Issue
Block a user