// 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?
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr