From 1a40d152e2f2e336e0636c40649f6f67f29a2153 Mon Sep 17 00:00:00 2001 From: Lars Hanisch Date: Thu, 19 Aug 2010 18:48:51 +0200 Subject: bugfix in teletext handling - set vbi mode before encoder start - put teletext packets into ring buffer --- device.c | 6 ++++-- pvrinput.c | 2 +- reader.c | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/device.c b/device.c index 1554daa..f187a49 100755 --- a/device.c +++ b/device.c @@ -864,8 +864,8 @@ bool cPvrDevice::OpenDvr(void) return false; if (!SetVideoNorm(newNorm)) return false; - if (!SetVBImode(newLinesPerFrame, PvrSetup.SliceVBI)) - return false; + //if (!SetVBImode(newLinesPerFrame, PvrSetup.SliceVBI)) + // return false; if (!Tune(newFrequency)) return false; } @@ -874,6 +874,8 @@ bool cPvrDevice::OpenDvr(void) ChannelSettingsDone = true; FirstChannelSwitch = false; } //end: if ((!ChannelSettingsDone) + if (CurrentInputType == eTelevision) + SetVBImode(newLinesPerFrame, PvrSetup.SliceVBI); SetEncoderState(eStart); if (!readThreadRunning) { log(pvrDEBUG2, "cPvrDevice::OpenDvr: create new readThread on /dev/video%d (%s)", number, CARDNAME[cardname]); diff --git a/pvrinput.c b/pvrinput.c index fe652d1..5466c1c 100755 --- a/pvrinput.c +++ b/pvrinput.c @@ -6,7 +6,7 @@ #endif #endif -static const char *VERSION = "2010-08-18-ttx"; +static const char *VERSION = "2010-08-19-ttx"; static const char *DESCRIPTION = tr("use Hauppauge PVR as input device"); static const char *MAINMENUENTRY = tr("PVR picture settings"); diff --git a/reader.c b/reader.c index 6391f9d..3b6c118 100755 --- a/reader.c +++ b/reader.c @@ -433,6 +433,7 @@ void cPvrReadThread::PesToTs(uint8_t *Data, uint32_t Length) if (vbi_line != 0) { if (ts_line_nr == 0) { // send current packet and prepare next one + PutData(ts_buffer, TS_SIZE); first = false; packet_counter--; text_counter = (text_counter + 1) & 15; @@ -460,6 +461,7 @@ void cPvrReadThread::PesToTs(uint8_t *Data, uint32_t Length) ts_buffer[4 + ts_line_nr * 46 + 1] = 0x2C; ts_line_nr++; } + PutData(ts_buffer, TS_SIZE); break; // end: case 0xBD: } } // end: switch (stream_id) -- cgit v1.2.3