00001 #ifndef AUDIO1394_H 00002 #define AUDIO1394_H 00003 00004 #include "audiodevice.h" 00005 #include "device1394input.inc" 00006 #include "device1394output.inc" 00007 #include "iec61883input.inc" 00008 #include "iec61883output.inc" 00009 #include "vdevice1394.inc" 00010 00011 00012 #ifdef HAVE_FIREWIRE 00013 00014 #include "libdv.h" 00015 00016 class Audio1394 : public AudioLowLevel 00017 { 00018 public: 00019 Audio1394(AudioDevice *device); 00020 ~Audio1394(); 00021 00022 00023 friend class VDevice1394; 00024 00025 int initialize(); 00026 00027 int open_input(); 00028 int open_output(); 00029 int close_all(); 00030 int read_buffer(char *buffer, int bytes); 00031 int write_buffer(char *buffer, int bytes); 00032 int64_t device_position(); 00033 int flush_device(); 00034 int interrupt_playback(); 00035 00036 00037 private: 00038 Device1394Input *input_thread; 00039 Device1394Output *output_thread; 00040 IEC61883Input *input_iec; 00041 IEC61883Output *output_iec; 00042 int bytes_per_sample; 00043 }; 00044 00045 #endif 00046 00047 00048 00049 #endif
1.4.4