summaryrefslogtreecommitdiff
path: root/command/demux.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2012-10-15 23:32:11 +0200
committerJochen Dolze <vdr@dolze.de>2012-10-15 23:32:11 +0200
commit7e3a33b48e1a0e1b958324780f6ce61e03acba78 (patch)
tree6d26d5c0f0497f107247780fc6fc633c60c9f3d6 /command/demux.cpp
parent59e7ed171851cf46185820b421a35a906540fedd (diff)
downloadvdr-plugin-markad-7e3a33b48e1a0e1b958324780f6ce61e03acba78.tar.gz
vdr-plugin-markad-7e3a33b48e1a0e1b958324780f6ce61e03acba78.tar.bz2
Fixed demux abort when stream error bit is set (reported by satellit)
Diffstat (limited to 'command/demux.cpp')
-rw-r--r--command/demux.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/command/demux.cpp b/command/demux.cpp
index 17008b9..991a82f 100644
--- a/command/demux.cpp
+++ b/command/demux.cpp
@@ -686,10 +686,16 @@ bool cTS2Pkt::Process(uchar *TSData, int TSSize, AvPacket *Pkt)
return true;
}
- if ((tshdr->TError) && (lasterror!=ERR_HDRBIT))
+ if (tshdr->TError)
{
- lasterror=ERR_HDRBIT;
- esyslog("stream error bit set (0x%04x)",pid);
+ if (lasterror!=ERR_HDRBIT) {
+ lasterror=ERR_HDRBIT;
+ esyslog("stream error bit set (0x%04x)",pid);
+ }
+ Clear(Pkt);
+ skipped+=queue->Skipped();
+ skipped+=TS_SIZE;
+ return true;
}
int buflen=TS_SIZE+1;