Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink()

This commit is contained in:
Klaus Schmidinger 2003-09-14 10:43:46 +02:00
parent e7ee82ad16
commit c89a686254
3 changed files with 6 additions and 3 deletions

View File

@ -493,6 +493,7 @@ Oliver Endriss <o.endriss@gmx.de>
directly
for reporting and helping to debug dropping out of replay mode while viewing a
recording that is still going on
for fixing checking for VIDEO_STREAM_S in cRemux::SetBrokenLink()
Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf'

View File

@ -2376,7 +2376,7 @@ Video Disk Recorder Revision History
is active (sometimes the CAMs got irritated when the device tuned to channels
they couldn't handle).
2003-09-14: Version 1.2.5
2003-09-14: Version 1.2.5pre3
- Fixed dropping out of replay mode while viewing a recording that is still
going on (thanks to Oliver Endriss for reporting and helping to debug this
@ -2391,3 +2391,5 @@ Video Disk Recorder Revision History
Thomas Schmidt).
- VDR now starts up even if 'keymacros.conf' references a plugin that is currently
not loaded (suggested by Alexander Wetzel).
- Fixed checking for VIDEO_STREAM_S in cRemux::SetBrokenLink() (thanks to Oliver
Endriss).

View File

@ -8,7 +8,7 @@
* the Linux DVB driver's 'tuxplayer' example and were rewritten to suit
* VDR's needs.
*
* $Id: remux.c 1.16 2003/08/06 14:44:03 kls Exp $
* $Id: remux.c 1.17 2003/09/14 10:34:39 kls Exp $
*/
/* The calling interface of the 'cRemux::Process()' function is defined
@ -672,7 +672,7 @@ XXX*/
void cRemux::SetBrokenLink(uchar *Data, int Length)
{
if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & VIDEO_STREAM_S) == VIDEO_STREAM_S) {
if (Length > 9 && Data[0] == 0 && Data[1] == 0 && Data[2] == 1 && (Data[3] & 0xF0) == VIDEO_STREAM_S) {
for (int i = Data[8] + 9; i < Length - 7; i++) { // +9 to skip video packet header
if (Data[i] == 0 && Data[i + 1] == 0 && Data[i + 2] == 1 && Data[i + 3] == 0xB8) {
if (!(Data[i + 7] & 0x40)) // set flag only if GOP is not closed