diff options
author | Sascha Volkenandt <sascha (at) akv-soft (dot) de> | 2007-05-04 18:53:31 +0000 |
---|---|---|
committer | Sascha Volkenandt <sascha (at) akv-soft (dot) de> | 2007-05-04 18:53:31 +0000 |
commit | f9fa26c1990e7fb7fc7f4a8f3c19175d2b5eb9c4 (patch) | |
tree | bd46c03a167be729b08f595b7c569489c4f098f9 /grab.h | |
parent | 71cd02a970f6cb1844c9e94d8a8dcdb71b1bc295 (diff) | |
download | vdr-plugin-live-f9fa26c1990e7fb7fc7f4a8f3c19175d2b5eb9c4.tar.gz vdr-plugin-live-f9fa26c1990e7fb7fc7f4a8f3c19175d2b5eb9c4.tar.bz2 |
- moved grab task into mainthreadloop
Diffstat (limited to 'grab.h')
-rw-r--r-- | grab.h | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -0,0 +1,39 @@ +#ifndef VDR_LIVE_GRAB_H +#define VDR_LIVE_GRAB_H + +#include <boost/shared_array.hpp> +#include "tasks.h" + +namespace vdrlive { + +typedef boost::shared_array< char > GrabImagePtr; +typedef std::pair< GrabImagePtr, int > GrabImageInfo; + +class GrabImageTask; + +class GrabImageManager +{ + friend GrabImageManager& LiveGrabImageManager(); + friend class GrabImageTask; + +public: + GrabImageInfo GetImage() const; + +private: + GrabImageManager(); + GrabImageManager( GrabImageManager const& ); + + GrabImageManager& operator=( GrabImageManager const& ); + + void PutImage( char* image, int size ); + + std::auto_ptr< GrabImageTask > m_task; + GrabImagePtr m_image; + int m_size; +}; + +GrabImageManager& LiveGrabImageManager(); + +} // namespace vdrlive + +#endif // VDR_LIVE_GRAB_H |