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

l1394_iso.h

Go to the documentation of this file.
00001 #ifndef __ISO_H
00002 #define __ISO_H
00003 
00004 #define VIDEO1394_SYNC_FRAMES         0x00000001
00005 #define VIDEO1394_INCLUDE_ISO_HEADERS 0x00000002
00006 #define VIDEO1394_VARIABLE_PACKET_SIZE 0x00000004
00007 
00008 
00009 #include "l1394_frame.h"
00010 #include "l1394_resource.h"
00011 namespace L1394{
00012 
00013 
00014 /*! \class Iso
00015   * \brief This abstract class defines the interface for iso-transmissions.
00016   *
00017   * The method getBuffer returns the actual buffer with one frame.
00018   *  At this time the method getBuffer() blocks until a buffer is filled
00019    * with video datas.
00020    *
00021    * The actual version of the video module is not multi-thread safe!!!
00022   */
00023 
00024 
00025 class Iso
00026 {
00027 public:
00028 
00029 /*! \fn ~Iso()
00030   * \brief destructor
00031   */
00032   virtual ~Iso(){};
00033 
00034 /*! \fn getFrame()
00035   * \brief This method returns a pointer to the next incoming frame.
00036   *
00037   * If no complete frame is available this method (blocked) waits
00038   * for the next frame. The Frame will be released by calling this
00039   * method again, if the auto-release mode is enabled.
00040   *
00041   * \return Frame* pointer to the buffer with the video frame.
00042   *
00043   */
00044   virtual Frame *getFrame()  = 0;
00045 
00046 /** This method releases a Frame.
00047   */
00048   virtual void releaseFrame(Frame* frame) = 0;
00049 
00050 /* This method enables or disables the auto-release mode. By default, the auto-release mode
00051  * is enabled
00052  */
00053   virtual void setFrameMode(const bool b) = 0;
00054 
00055 /** Returns the current frame mode
00056   */
00057   virtual bool getFrameMode() const       = 0;
00058 
00059 /** sets the parameter
00060   */
00061   virtual int  setParameter(const int buffercount, const int channel, const int buffersize) = 0;
00062 
00063 /** This method starts iso-receive
00064   */
00065   virtual int  startIsoListen() = 0;
00066 
00067 /** This method stops iso-receive
00068   */
00069   virtual int  stopIsoListen () = 0;
00070   virtual void flushQueue() {}
00071 };
00072 
00073 }
00074 #endif
00075 
00076 
00077 

Generated on Wed Aug 24 00:36:40 2005 for L1394 by doxygen 1.4.2
L1394 library (NMM) grahics.cs.uni-sb.de/~repplix/l1394_home/