summaryrefslogtreecommitdiff
path: root/grab.h
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-05-04 18:53:31 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-05-04 18:53:31 +0000
commitf9fa26c1990e7fb7fc7f4a8f3c19175d2b5eb9c4 (patch)
treebd46c03a167be729b08f595b7c569489c4f098f9 /grab.h
parent71cd02a970f6cb1844c9e94d8a8dcdb71b1bc295 (diff)
downloadvdr-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.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/grab.h b/grab.h
new file mode 100644
index 0000000..d583ef0
--- /dev/null
+++ b/grab.h
@@ -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