00001 #ifndef VDEVICE1394_H
00002 #define VDEVICE1394_H
00003
00004 #include "device1394input.inc"
00005 #include "device1394output.inc"
00006 #include "guicast.h"
00007 #include "iec61883input.inc"
00008 #include "iec61883output.inc"
00009 #include "libdv.h"
00010 #include "quicktime.h"
00011 #include "sema.h"
00012 #include "vdevicebase.h"
00013
00014
00015 #ifdef HAVE_FIREWIRE
00016
00017
00018
00019 class VDevice1394 : public VDeviceBase
00020 {
00021 public:
00022 VDevice1394(VideoDevice *device);
00023 ~VDevice1394();
00024
00025 int open_input();
00026 int open_output();
00027 int close_all();
00028 int read_buffer(VFrame *frame);
00029 int write_buffer(VFrame **frame, EDL *edl);
00030
00031
00032 int initialize();
00033 int can_copy_from(Asset *asset, int output_w, int output_h);
00034
00035 void new_output_buffer(VFrame **outputs, int colormodel);
00036 void encrypt(unsigned char *output, unsigned char *data, int data_size);
00037
00038 private:
00039 Device1394Input *input_thread;
00040 Device1394Output *output_thread;
00041 IEC61883Input *input_iec;
00042 IEC61883Output *output_iec;
00043 VFrame *user_frame;
00044 };
00045
00046 #endif
00047
00048 #endif