diff options
| author | Lars Hanisch <dvb@flensrocker.de> | 2010-08-19 18:48:51 +0200 |
|---|---|---|
| committer | Lars Hanisch <dvb@flensrocker.de> | 2010-08-19 18:48:51 +0200 |
| commit | 1a40d152e2f2e336e0636c40649f6f67f29a2153 (patch) | |
| tree | 5094cd89c89cf16a0652b0ce7c5be617beb8d8b2 | |
| parent | ba88ccde1903099f9e13641294807320b8ccd85c (diff) | |
| download | vdr-plugin-pvrinput-1a40d152e2f2e336e0636c40649f6f67f29a2153.tar.gz vdr-plugin-pvrinput-1a40d152e2f2e336e0636c40649f6f67f29a2153.tar.bz2 | |
bugfix in teletext handling
- set vbi mode before encoder start
- put teletext packets into ring buffer
| -rwxr-xr-x | device.c | 6 | ||||
| -rwxr-xr-x | pvrinput.c | 2 | ||||
| -rwxr-xr-x | reader.c | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -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]); @@ -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"); @@ -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) |
