X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=pkgsrc-cinelerra-cv.git;a=blobdiff_plain;f=patches%2Fpatch-vdevicebuz_C;fp=patches%2Fpatch-vdevicebuz_C;h=59f0986c0f6b05e802a34e141bab527af03e7dfa;hp=0000000000000000000000000000000000000000;hb=eb36dc125c0fbb36e7b01e18a64f8b1eed4bd8b2;hpb=7dddc5098a70b61fa8021db2e051d5b4a8403aa1 diff --git a/patches/patch-vdevicebuz_C b/patches/patch-vdevicebuz_C new file mode 100644 index 0000000..59f0986 --- /dev/null +++ b/patches/patch-vdevicebuz_C @@ -0,0 +1,129 @@ +$NetBSD$ + +--- cinelerra/vdevicebuz.C.orig 2010-01-29 07:46:20.000000000 +0000 ++++ cinelerra/vdevicebuz.C +@@ -24,6 +24,8 @@ + #undef _LARGEFILE64_SOURCE + #undef _FILE_OFFSET_BITS + ++#include "config.h" ++ + #include "assets.h" + #include "bcsignals.h" + #include "channel.h" +@@ -43,9 +45,11 @@ + + #include + #include ++#if defined(HAVE_LINUX_VIDEODEV_H) + #include + //#include + #include ++#endif + #include + #include + #include +@@ -107,6 +111,7 @@ void VDeviceBUZInput::start() + Thread::start(); + } + ++#if defined(HAVE_LINUX_VIDEODEV_H) + void VDeviceBUZInput::run() + { + struct buz_sync bsync; +@@ -117,7 +122,7 @@ void VDeviceBUZInput::run() + Thread::enable_cancel(); + if(ioctl(device->jvideo_fd, BUZIOC_SYNC, &bsync) < 0) + { +- perror("VDeviceBUZInput::run BUZIOC_SYNC"); ++ fprintf(stderr, "VDeviceBUZInput::run BUZIOC_SYNC\n"); + if(done) return; + Thread::disable_cancel(); + } +@@ -152,6 +157,11 @@ void VDeviceBUZInput::run() + } + } + } ++#else ++void VDeviceBUZInput::run() { ++ fprintf(stderr, "VDeviceBUZInput::run (Warning: unavailable for this platform)\n"); ++} ++#endif + + void VDeviceBUZInput::get_buffer(char **ptr, int *size) + { +@@ -444,6 +454,7 @@ int VDeviceBUZ::set_picture(PictureConfi + return 0; + } + ++#if defined(HAVE_LINUX_VIDEODEV_H) + int VDeviceBUZ::get_norm(int norm) + { + switch(norm) +@@ -453,6 +464,11 @@ int VDeviceBUZ::get_norm(int norm) + case SECAM: return VIDEO_MODE_SECAM; break; + } + } ++#else ++int VDeviceBUZ::get_norm(int norm) { ++ return -1; ++} ++#endif + + int VDeviceBUZ::read_buffer(VFrame *frame) + { +@@ -500,6 +516,7 @@ int VDeviceBUZ::read_buffer(VFrame *fram + return 0; + } + ++#if defined(HAVE_LINUX_VIDEODEV_H) + int VDeviceBUZ::open_input_core(Channel *channel) + { + jvideo_fd = open(device->in_config->buz_in_device, O_RDONLY); +@@ -621,7 +638,15 @@ int VDeviceBUZ::open_input_core(Channel + //printf("VDeviceBUZ::open_input_core 2\n"); + return 0; + } ++#else ++int VDeviceBUZ::open_input_core(Channel *channel) { ++ fprintf(stderr, "VDeviceBUZ::open_input (Warning: unavailable feature on this platform)\n"); ++ jvideo_fd = 0; ++ return 1; ++} ++#endif + ++#if defined(HAVE_LINUX_VIDEODEV_H) + int VDeviceBUZ::open_output_core(Channel *channel) + { + //printf("VDeviceBUZ::open_output 1\n"); +@@ -677,9 +702,15 @@ int VDeviceBUZ::open_output_core(Channel + //printf("VDeviceBUZ::open_output 2\n"); + return 0; + } ++#else ++int VDeviceBUZ::open_output_core(Channel *channel) { ++ fprintf(stderr, "VDeviceBUZ::open_output (Warning: unavailable feature on this platform)\n"); ++ jvideo_fd = 0; ++ return 1; ++} ++#endif + +- +- ++#if defined(HAVE_LINUX_VIDEODEV_H) + int VDeviceBUZ::write_buffer(VFrame *frame, EDL *edl) + { + //printf("VDeviceBUZ::write_buffer 1\n"); +@@ -753,6 +784,12 @@ int VDeviceBUZ::write_buffer(VFrame *fra + + return 0; + } ++#else ++int VDeviceBUZ::write_buffer(VFrame *frame, EDL *edl) { ++ fprintf(stderr, "VDeviceBUZ::write_buffer (Warning: unavailable feature on this platform)\n"); ++ return 0; ++} ++#endif + + void VDeviceBUZ::new_output_buffer(VFrame *output, + int colormodel)