diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-27 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-27 18:00:00 +0200 |
commit | 0686038af36be65b666bce669957c4d94c13f409 (patch) | |
tree | 50c5bc80b5f49e0bc14b6846f1f53794c5da6f65 /remux.c | |
parent | 21a52ccb6d43cce35f7a381f55ea291195416f33 (diff) | |
download | vdr-patch-lnbsharing-0686038af36be65b666bce669957c4d94c13f409.tar.gz vdr-patch-lnbsharing-0686038af36be65b666bce669957c4d94c13f409.tar.bz2 |
Version 1.1.29vdr-1.1.29
- Fixed detecting broken connection to the LIRC daemon (thanks to Ludwig Nussel).
- Now sending CA descriptors to the CAM in the same sequence as they were originally
received (thanks to Stefan Huelswitt).
- The PCR PID can now be set separately from the video PID. The syntax in the
'channels.conf' file is, for example, ...:164+17:..., where 164 is the video PID
and 17 is the PCR PID. The separator is a '+' sign, not a comma or semicolon as
with the audio PIDs, because this is not an alternate PID, but rather an
additional, necessary PID. In order to use this feature you need a driver version
dated 2003-04-27 or higher (setting the PCR PID didn't work in earlier versions).
- Fixed deleting the last recording in the "Recordings" menu, which started pausing
live video (thanks to Christoph Friederich for reporting this one).
- Now setting the "broken link" flag for GOPs at the beginning of a new video
sequence, which avoids artefacts when cutting (thanks to Stefan Huelswitt).
- Removed the Mute() call from cDvbDevice::StillPicture() (suggested by Andreas
Schultz).
- Updated 'channels.conf.terr' for Berlin (thanks to Andreas Brachold).
- Extended logging info when starting/stopping timers to show the channel number,
start/stop time and the file name (suggested by Manuel Hartl).
- Added a note regarding non-VDR files in the /videoX directories to INSTALL
(suggested by Benjamin Harling).
- Skipping keys that come in too fast from LIRC (thanks to Christian Jacobsen).
- Avoiding short display of the main menu if a plugin displays its own OSD and
is started through a user defined key macro (thanks to Andreas Mair for reporting
this one).
- Reduced the time to wait for EPG data when starting a recording to 3 seconds.
- The new SVDRP command STAT can be used to request information about the disk
usage (thanks to Thomas Koch).
- Fixed faulty calculation of section length in eit.c (thanks to Teemu Rantanen).
Diffstat (limited to 'remux.c')
-rw-r--r-- | remux.c | 18 |
1 files changed, 17 insertions, 1 deletions
@@ -8,7 +8,7 @@ * the Linux DVB driver's 'tuxplayer' example and were rewritten to suit * VDR's needs. * - * $Id: remux.c 1.14 2003/01/24 17:22:29 kls Exp $ + * $Id: remux.c 1.15 2003/04/26 15:07:41 kls Exp $ */ /* The calling interface of the 'cRemux::Process()' function is defined @@ -621,6 +621,7 @@ XXX*/ else if (!synced) { if (pt == I_FRAME) { resultDelivered = i; // will drop everything before this position + SetBrokenLink(resultBuffer + i, l); synced = true; } else { @@ -667,3 +668,18 @@ XXX*/ return NULL; // no useful data found, wait for more } +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) { + 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 + Data[i + 7] |= 0x20; + return; + } + } + dsyslog("SetBrokenLink: no GOP header found in video packet"); + } + else + dsyslog("SetBrokenLink: no video packet in frame"); +} |