⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bevideo.h

📁 安装 H323需要的pwlib库
💻 H
字号:
#include <ptlib.h>#include <ptlib/video.h>#include <ptlib/videoio.h>#include <ptlib/vconvert.h>class VideoConsumer;class BMediaRoster;class PVideoInputThread;#include <MediaNode.h>/**This class defines a BeOS video input device. */class PVideoInputDevice_BeOSVideo : public PVideoInputDevice{  PCLASSINFO(PVideoInputDevice_BeOSVideo, PVideoInputDevice);  public:    /** Create a new video input device.     */    PVideoInputDevice_BeOSVideo();    /**Close the video input device on destruction.      */    ~PVideoInputDevice_BeOSVideo() { Close(); }    /** Is the device a camera, and obtain video     */    static PStringList GetInputDeviceNames();    virtual PStringList GetDeviceNames() const      { return GetInputDeviceNames(); }    /**Open the device given the device name.      */    virtual BOOL Open(      const PString & deviceName,   /// Device name to open      BOOL startImmediate = TRUE    /// Immediately start device    );    /**Determine if the device is currently open.      */    virtual BOOL IsOpen();    /**Close the device.      */    virtual BOOL Close();    /**Start the video device I/O.      */    virtual BOOL Start();    /**Stop the video device I/O capture.      */    virtual BOOL Stop();    /**Determine if the video device I/O capture is in progress.      */    virtual BOOL IsCapturing();    /**Get the maximum frame size in bytes.       Note a particular device may be able to provide variable length       frames (eg motion JPEG) so will be the maximum size of all frames.      */    virtual PINDEX GetMaxFrameBytes();    /**Grab a frame.      */    virtual BOOL GetFrame(      PBYTEArray & frame    );    /**Grab a frame, after a delay as specified by the frame rate.      */    virtual BOOL GetFrameData(      BYTE * buffer,                 /// Buffer to receive frame      PINDEX * bytesReturned = NULL  /// OPtional bytes returned.    );    /**Grab a frame. Do not delay according to the current frame rate parameter.      */    virtual BOOL GetFrameDataNoDelay(      BYTE * buffer,                 /// Buffer to receive frame      PINDEX * bytesReturned = NULL  /// OPtional bytes returned.    );    /**Try all known video formats & see which ones are accepted by the video driver     */    virtual BOOL TestAllFormats();  public:    virtual BOOL SetColourFormat(const PString & colourFormat);    virtual BOOL SetFrameRate(unsigned rate);    virtual BOOL SetFrameSize(unsigned width, unsigned height);    friend PVideoInputThread;  private:    status_t StartNodes();    void StopNodes();  protected:    BMediaRoster* fMediaRoster;    VideoConsumer* fVideoConsumer;    media_output fProducerOut;    media_input fConsumerIn;    media_node fTimeSourceNode;    media_node fProducerNode;    port_id fPort;    BOOL          isCapturingNow;    PVideoInputThread* captureThread;    };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -