$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)