Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

vdevicebase.h

Go to the documentation of this file.
00001 #ifndef VDEVICEBASE_H
00002 #define VDEVICEBASE_H
00003 
00004 #include "assets.inc"
00005 #include "channel.inc"
00006 #include "edl.inc"
00007 #include "guicast.h"
00008 #include "picture.inc"
00009 #include "videodevice.inc"
00010 
00011 class VDeviceBase
00012 {
00013 public:
00014         VDeviceBase(VideoDevice *device);
00015         virtual ~VDeviceBase();
00016 
00017         virtual int open_input() { return 1; };
00018         virtual int close_all() { return 1; };
00019         virtual int has_signal() { return 0; };
00020         virtual int read_buffer(VFrame *frame) { return 1; };
00021         virtual int write_buffer(VFrame **outputs, EDL *edl) { return 1; };
00022         virtual void new_output_buffer(VFrame **outputs, int colormodel) {};
00023         virtual ArrayList<int>* get_render_strategies() { return 0; };
00024         virtual int get_shared_data(unsigned char *data, long size) { return 0; };
00025         virtual int stop_sharing() { return 0; };
00026         virtual int interrupt_crash() { return 0; };
00027 // Extra work must sometimes be done in here to set up the device.
00028         virtual int get_best_colormodel(Asset *asset);
00029         virtual int set_channel(Channel *channel) { return 0; };
00030         virtual int set_picture(PictureConfig *picture) { return 0; };
00031 
00032         virtual int open_output() { return 1; };
00033         virtual int output_visible() { return 0; };
00034         virtual int start_playback() { return 1; };
00035         virtual int stop_playback() { return 1; };
00036         virtual BC_Bitmap* get_bitmap() { return 0; };
00037 // Most Linux video drivers don't work.
00038 // Called by KeepaliveThread when the device appears to be stuck.
00039 // Should restart the device if that's what it takes to get it to work.
00040         virtual void goose_input() {};
00041 
00042         VideoDevice *device;
00043 };
00044 
00045 #endif

Generated on Sun Jan 8 13:39:01 2006 for Cinelerra-svn by  doxygen 1.4.4