summaryrefslogtreecommitdiffstats
path: root/k9decmpeg/k9decodethread.h
blob: 1ce1cebdb2d5760bad0d2696edb30c6a9cb5734b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// C++ Interface: k9decodethread
//
// Description: 
//
//
// Author: Jean-Michel PETIT <k9copy@free.fr>, (C) 2006
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef K9DECODETHREAD_H
#define K9DECODETHREAD_H
#include "k9common.h"
#include "k9vamps.h"

#include <tqthread.h>
#include <tqobject.h>
#include <tqwaitcondition.h>

#include "kdecmpeg2.h"

/**
	@author Jean-Michel PETIT <k9copy@free.fr>
*/
class k9DecodeThread : public TQThread
{
private:
    kDecMPEG2 *m_decoder;
    k9fifo m_fifo;
    TQWaitCondition wDataRead;
    TQWaitCondition wDataReady;
    bool noData;

public:
    k9DecodeThread();
    ~k9DecodeThread();
    void addData(uchar *data,uint size);
    void setNoData();
    void clear();
    void sleepms(int _ms);
    kDecMPEG2 *getDecoder() {return m_decoder;}
	
protected:
    int readData(uchar * data,uint size);
    void run();



};

#endif