[vdr] vdr-1.7.15 problem with live TV [1.7.11 or older OK]
Simon Baxter
linuxtv at nzbaxters.com
Fri Sep 3 11:40:29 CEST 2010
>> // Check whether the TS packets are scrambled:
>>
>> Maybe some packets have the TS_SCRAMBLING_CONTROL bits set here.
>> This could be caused by recording the PCR packets since version 1.7.12.
>> To debug this, just disable this check, and/or put in some debug
>> printouts.
>
Thanks Klaus
I've commented out the below section in device.c, and I now get continuous
video, but some video skips and lots of:
Sep 3 21:36:29 freddy vdr: [31301] cVideoRepacker: operating in MPEG1/2
mode
Sep 3 21:36:29 freddy vdr: [31301] cVideoRepacker: switching to MPEG1/2
mode
Sep 3 21:36:29 freddy vdr: [31301] cVideoRepacker: operating in MPEG1/2
mode
Here's what I changed in device.c
void cDevice::Action(void)
{
if (Running() && OpenDvr()) {
while (Running()) {
// Read data from the DVR device:
uchar *b = NULL;
if (GetTSPacket(b)) {
if (b) {
int Pid = TsPid(b);
// Check whether the TS packets are scrambled:
bool DetachReceivers = false;
bool DescramblingOk = false;
int CamSlotNumber = 0;
if (startScrambleDetection) {
cCamSlot *cs = CamSlot();
CamSlotNumber = cs ? cs->SlotNumber() : 0;
// if (CamSlotNumber) {
// bool Scrambled = b[3] & TS_SCRAMBLING_CONTROL;
// int t = time(NULL) - startScrambleDetection;
// if (Scrambled) {
// if (t > TS_SCRAMBLING_TIMEOUT)
// DetachReceivers = true;
// }
// else if (t > TS_SCRAMBLING_TIME_OK) {
// DescramblingOk = true;
// startScrambleDetection = 0;
// }
// }
}
// Distribute the packet to all attached receivers:
Lock();
Any ideas?
More information about the vdr
mailing list