diff --git a/libs/libmythtv/NuppelVideoRecorder.cpp b/libs/libmythtv/NuppelVideoRecorder.cpp
index 91a9ab8..74897db 100644
a
|
b
|
extern "C" {
|
70 | 70 | #define LOC_ERR QString("NVR(%1) Error: ").arg(videodevice) |
71 | 71 | |
72 | 72 | NuppelVideoRecorder::NuppelVideoRecorder(TVRec *rec, ChannelBase *channel) |
73 | | : RecorderBase(rec), audio_device(NULL), ccr(NULL) |
| 73 | : RecorderBase(rec), audio_device(NULL) |
74 | 74 | { |
75 | 75 | channelObj = channel; |
76 | 76 | |
… |
… |
NuppelVideoRecorder::NuppelVideoRecorder(TVRec *rec, ChannelBase *channel)
|
180 | 180 | |
181 | 181 | volume = 100; |
182 | 182 | |
183 | | ccr.SetEnabled(true); |
184 | | ccd = new CC608Decoder(&ccr); |
| 183 | ccd = new CC608Decoder(this); |
185 | 184 | |
186 | 185 | go7007 = false; |
187 | 186 | resetcapture = false; |
diff --git a/libs/libmythtv/NuppelVideoRecorder.h b/libs/libmythtv/NuppelVideoRecorder.h
index 53aeb8e..036624f 100644
a
|
b
|
class FilterManager;
|
45 | 45 | class FilterChain; |
46 | 46 | class AudioInput; |
47 | 47 | |
48 | | class MPUBLIC NuppelVideoRecorder : public RecorderBase |
| 48 | class MPUBLIC NuppelVideoRecorder : public RecorderBase, public CC608Input |
49 | 49 | { |
50 | 50 | public: |
51 | 51 | NuppelVideoRecorder(TVRec *rec, ChannelBase *channel); |
… |
… |
class MPUBLIC NuppelVideoRecorder : public RecorderBase
|
286 | 286 | int volume; |
287 | 287 | |
288 | 288 | CC608Decoder *ccd; |
289 | | CC608Reader ccr; |
290 | 289 | |
291 | 290 | bool go7007; |
292 | 291 | bool resetcapture; |
diff --git a/libs/libmythtv/cc608decoder.cpp b/libs/libmythtv/cc608decoder.cpp
index 9e59ddf..009cd57 100644
a
|
b
|
using namespace std;
|
17 | 17 | |
18 | 18 | static void init_xds_program_type(QString xds_program_type[96]); |
19 | 19 | |
20 | | CC608Decoder::CC608Decoder(CC608Reader *ccr) |
| 20 | CC608Decoder::CC608Decoder(CC608Input *ccr) |
21 | 21 | : reader(ccr), ignore_time_code(false), |
22 | 22 | rbuf(new unsigned char[sizeof(ccsubtitle)+255]), |
23 | 23 | vps_l(0), |
diff --git a/libs/libmythtv/cc608decoder.h b/libs/libmythtv/cc608decoder.h
index d89cd2e..d027a07 100644
a
|
b
|
using namespace std;
|
13 | 13 | #include <QMutex> |
14 | 14 | #include <QChar> |
15 | 15 | |
16 | | #include "cc608reader.h" |
17 | 16 | #include "format.h" |
18 | 17 | |
| 18 | class CC608Input |
| 19 | { |
| 20 | public: |
| 21 | virtual ~CC608Input() { } |
| 22 | virtual void AddTextData(unsigned char *buf, int len, |
| 23 | long long timecode, char type) = 0; |
| 24 | }; |
| 25 | |
19 | 26 | enum |
20 | 27 | { |
21 | 28 | kHasMPAA = 0x1, |
… |
… |
enum
|
34 | 41 | class CC608Decoder |
35 | 42 | { |
36 | 43 | public: |
37 | | CC608Decoder(CC608Reader *ccr); |
| 44 | CC608Decoder(CC608Input *ccr); |
38 | 45 | ~CC608Decoder(); |
39 | 46 | |
40 | 47 | void FormatCC(int tc, int code1, int code2); |
… |
… |
class CC608Decoder
|
72 | 79 | void XDSPacketParse(const vector<unsigned char> &xds_buf); |
73 | 80 | bool XDSPacketCRC(const vector<unsigned char> &xds_buf); |
74 | 81 | |
75 | | CC608Reader *reader; |
| 82 | CC608Input *reader; |
76 | 83 | |
77 | 84 | bool ignore_time_code; |
78 | 85 | |
diff --git a/libs/libmythtv/cc608reader.h b/libs/libmythtv/cc608reader.h
index e52dc5d..7fb112f 100644
a
|
b
|
|
3 | 3 | |
4 | 4 | #include <QMutex> |
5 | 5 | |
| 6 | #include "cc608decoder.h" |
| 7 | |
6 | 8 | #include "mythexp.h" |
7 | 9 | |
8 | 10 | #define MAXTBUFFER 60 |
… |
… |
class CC608Buffer
|
51 | 53 | |
52 | 54 | class NuppelVideoPlayer; |
53 | 55 | |
54 | | class MPUBLIC CC608Reader |
| 56 | class MPUBLIC CC608Reader : public CC608Input |
55 | 57 | { |
56 | 58 | public: |
57 | 59 | CC608Reader(NuppelVideoPlayer *parent); |