- Reestructuración de ficheros y directorios general
- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
This commit is contained in:
parent
c9adfd020b
commit
e85d191b46
3100 changed files with 775434 additions and 3073 deletions
80
Gem/plugins/videoVLC/videoVLC.h
Normal file
80
Gem/plugins/videoVLC/videoVLC.h
Normal file
|
@ -0,0 +1,80 @@
|
|||
#ifndef _INCLUDE_GEMPLUGIN__VIDEOVLC_VIDEOVLC_H_
|
||||
#define _INCLUDE_GEMPLUGIN__VIDEOVLC_VIDEOVLC_H_
|
||||
|
||||
#include "plugins/video.h"
|
||||
#include "Gem/Image.h"
|
||||
#include "Utils/ThreadMutex.h"
|
||||
|
||||
#include <vlc/vlc.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#ifndef VLC_VAR_TIME
|
||||
typedef int64_t mtime_t;
|
||||
#endif /* VLC_VAR_TIME */
|
||||
|
||||
namespace gem { namespace plugins {
|
||||
class GEM_EXPORT videoVLC : public video {
|
||||
private:
|
||||
std::string m_name;
|
||||
std::string m_devname;
|
||||
gem::thread::Mutex m_mutex;
|
||||
|
||||
pixBlock m_pixBlock;
|
||||
Properties m_props;
|
||||
unsigned int m_type;
|
||||
|
||||
public:
|
||||
videoVLC(void);
|
||||
|
||||
virtual ~videoVLC(void);
|
||||
|
||||
virtual bool open(gem::Properties&props);
|
||||
virtual pixBlock *getFrame(void);
|
||||
|
||||
virtual std::vector<std::string>enumerate(void);
|
||||
virtual bool setDevice(int ID);
|
||||
virtual bool setDevice(const std::string);
|
||||
|
||||
|
||||
virtual bool enumProperties(gem::Properties&readable,
|
||||
gem::Properties&writeable);
|
||||
virtual void setProperties(gem::Properties&props);
|
||||
virtual void getProperties(gem::Properties&props);
|
||||
|
||||
virtual std::vector<std::string>dialogs(void);
|
||||
// for pix_video: query whether this backend provides access to this class of devices
|
||||
// (e.g. "dv")
|
||||
virtual bool provides(const std::string);
|
||||
// get a list of all provided devices
|
||||
virtual std::vector<std::string>provides(void);
|
||||
|
||||
// get's the name of the backend (e.g. "v4l")
|
||||
virtual const std::string getName(void);
|
||||
|
||||
virtual bool isThreadable(void) {return true;}
|
||||
virtual bool reset(void) {return true;}
|
||||
virtual void releaseFrame(void);
|
||||
virtual bool grabAsynchronous(bool) {return true;}
|
||||
virtual bool dialog(std::vector<std::string>names=std::vector<std::string>()) {return false;}
|
||||
virtual bool setColor(int) {return false;}
|
||||
|
||||
virtual void close(void);
|
||||
virtual bool start(void);
|
||||
virtual bool stop(void);
|
||||
|
||||
|
||||
virtual void* lockFrame(void**plane);
|
||||
virtual void unlockFrame(void*picture, void*const*plane);
|
||||
private:
|
||||
|
||||
|
||||
static void *lockCB(void*, void**plane);
|
||||
static void unlockCB(void*, void*picture, void*const*plane);
|
||||
static void displayCB(void*, void*picture);
|
||||
|
||||
libvlc_instance_t*m_instance;
|
||||
libvlc_media_player_t*m_mediaplayer;
|
||||
};
|
||||
};}; // namespace
|
||||
|
||||
#endif // for header file
|
Loading…
Add table
Add a link
Reference in a new issue