diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-04-07 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-04-07 18:00:00 +0200 |
commit | c9a5d8ea5328e4a8bcb0c3423b825c02cb0c3b27 (patch) | |
tree | 5c60d0e45adc0cb556840fd48fa182a877184802 /dvbapi.c | |
parent | 262327908d329a8c292d8ae71fe9d135390a3cde (diff) | |
download | vdr-patch-lnbsharing-c9a5d8ea5328e4a8bcb0c3423b825c02cb0c3b27.tar.gz vdr-patch-lnbsharing-c9a5d8ea5328e4a8bcb0c3423b825c02cb0c3b27.tar.bz2 |
Version 1.0.0vdr-1.0.0
- Fixed a problem with wrong EPG data in the Schedules menu (thanks to Tobias
Kerner, problem was initially reported by Michel Moster, but somehow I had
misplaced his message...).
- Added Spanish language texts (thanks to Ruben Nunez Francisco).
- Fixed resetting the "First day" timer parameter once the timer actually starts
recording.
- Fixed the still picture workaround in case the progress display is active
(thanks to Gerald Raaf).
- Fixed a problem with accessing the epg.data file before it is fully written
(thanks to Thilo Wunderlich for reporting this one).
- Now the EPG scan skips channels that have their 'Ca' parameter explicitly set
to an other DVB card (suggested by Sergei Haller).
- Fixed a possible hangup when reading a broken epg.data file (thanks to Henning
Holtschneider for pointing this one out).
- Fixed a bug in the editing process in case a previously edited file with the
same name was manually deleted on a system with more than one video directory
(thanks to Dirk Wiebel for reporting this one).
Diffstat (limited to 'dvbapi.c')
-rw-r--r-- | dvbapi.c | 34 |
1 files changed, 26 insertions, 8 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbapi.c 1.166 2002/03/29 11:32:47 kls Exp $ + * $Id: dvbapi.c 1.170 2002/04/07 09:35:51 kls Exp $ */ #include "dvbapi.h" @@ -1194,8 +1194,10 @@ void cReplayBuffer::DisplayFrame(uchar *b, int Length) CHECK(ioctl(videoDev, VIDEO_STILLPICTURE, &sp)); #else #define MIN_IFRAME 400000 - for (int i = MIN_IFRAME / Length + 1; i > 0; i--) + for (int i = MIN_IFRAME / Length + 1; i > 0; i--) { safe_write(videoDev, b, Length); + usleep(1); // allows the buffer to be displayed in case the progress display is active + } #endif } @@ -1612,6 +1614,18 @@ bool cVideoCutter::Start(const char *FileName) cRecording Recording(FileName); const char *evn = Recording.PrefixFileName('%'); if (evn && RemoveVideoFile(evn) && MakeDirs(evn, true)) { + // XXX this can be removed once RenameVideoFile() follows symlinks (see videodir.c) + // remove a possible deleted recording with the same name to avoid symlink mixups: + char *s = strdup(evn); + char *e = strrchr(s, '.'); + if (e) { + if (strcmp(e, ".rec") == 0) { + strcpy(e, ".del"); + RemoveVideoFile(s); + } + } + delete s; + // XXX editedVersionName = strdup(evn); Recording.WriteSummary(); cuttingBuffer = new cCuttingBuffer(FileName, editedVersionName); @@ -2803,12 +2817,16 @@ void cEITScanner::Process(void) numTransponders = 0; } cChannel *Channel = Channels.GetByNumber(ch); - if (Channel && Channel->pnr && !TransponderScanned(Channel)) { - if (DvbApi == cDvbApi::PrimaryDvbApi && !currentChannel) - currentChannel = DvbApi->Channel(); - Channel->Switch(DvbApi, false); - lastChannel = ch; - break; + if (Channel) { + if (Channel->ca <= MAXDVBAPI && !DvbApi->ProvidesCa(Channel->ca)) + break; // the channel says it explicitly needs a different card + if (Channel->pnr && !TransponderScanned(Channel)) { + if (DvbApi == cDvbApi::PrimaryDvbApi && !currentChannel) + currentChannel = DvbApi->Channel(); + Channel->Switch(DvbApi, false); + lastChannel = ch; + break; + } } ch++; } |