From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- mpeglib/lib/frame/IOFrameQueue.h | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 mpeglib/lib/frame/IOFrameQueue.h (limited to 'mpeglib/lib/frame/IOFrameQueue.h') diff --git a/mpeglib/lib/frame/IOFrameQueue.h b/mpeglib/lib/frame/IOFrameQueue.h new file mode 100644 index 00000000..d56f25aa --- /dev/null +++ b/mpeglib/lib/frame/IOFrameQueue.h @@ -0,0 +1,60 @@ +/* + queues frames in a "empty" and "data" queue + Copyright (C) 2001 Martin Vogt + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation. + + For more information look at the file COPYRIGHT in this package + + */ + + + +#ifndef __IOFRAMEQUEUE_H +#define __IOFRAMEQUEUE_H + +#include "frameQueue.h" +#include + +/** + This class can store up to frames. + The frames are marked "empty" these frames can be re-used + and filled with data. + The other queue stores "data" frames. These frames can + be dequeued and then are be passed to the "empty" queue. + + Note: you need to _fill_ the empty queue with allocated frames, + after constructions. The pointers then are owned by this + class (== deleted in destructor) + +*/ + +class KDE_EXPORT IOFrameQueue { + + + public: + IOFrameQueue(int size); + ~IOFrameQueue(); + + // + // empty queue + // + int emptyQueueCanRead(); + int emptyQueueCanWrite(); + + + // + // data queue + // + int dataQueueCanRead(); + int dataQueueCanWrite(); + + + protected: + FrameQueue* empty; + FrameQueue* data; + +}; +#endif -- cgit v1.2.1