diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-03-20 18:00:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2005-03-20 18:00:00 +0100 |
commit | 782b517c51eaa6d2641fe9b6801afdad50be8586 (patch) | |
tree | 0d7b59865417ded6a8dfcb22b97ad2e32260982a /dvbdevice.c | |
parent | 05402c740765e6e0ca2aaf1760c77d9e3d3ed5a5 (diff) | |
download | vdr-patch-lnbsharing-782b517c51eaa6d2641fe9b6801afdad50be8586.tar.gz vdr-patch-lnbsharing-782b517c51eaa6d2641fe9b6801afdad50be8586.tar.bz2 |
Version 1.3.23vdr-1.3.23
- The setup option "DVB/Video display format" is now only available if "Video format"
is set to "4:3" (suggested by Mikko Salo).
- Updated the Russian OSD texts (thanks to Vyacheslav Dikonov).
- Dropped CA support for the old '-icam' firmware.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Updated the Swedish OSD texts (thanks to Tomas Prybil).
- Fixed a few French OSD texts that were in the wrong place.
- Improved matching timers to EPG events, especially in case there are several events
with the same VPS time.
- Fixed cDolbyRepacker to allow recording ProSieben HD broadcasts (thanks to Reinhard
Nissl).
- Fixed cDvbDevice::SetVideoDisplayFormat() in case of 16:9 (thanks to Marco Schlüßler).
- The running status of a VPS event is now only taken seriously if that event has been
seen within the last 30 seconds - otherwise recording is done as if no VPS was
available.
- The day of a timer is now stored as a full date in ISO notation ("YYYY-MM-DD") in
'timers.conf' and for the result of the SVDRP command LSTT (based in parts on a
patch by Roman Krenický).
- Some fixes to avoid compiler warnings in gcc 4.0 (thanks to Ville Skyttä for reporting
these).
- Single shot timers are now reliably deleted when they have expired.
- Fixed setting the colored button help after deleting a recording in case the next
menu entry is a directory (thanks to Steffen Beyer).
- Improved falling back to normal recording if the VPS data hasn't been seen for more
than 30 seconds.
- Added a missing cMutexLock to cRemote::HasKeys() (thanks to Wolfgang Rohdewald).
- All log entries regarding timers now contain a short description of the timer.
Diffstat (limited to 'dvbdevice.c')
-rw-r--r-- | dvbdevice.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/dvbdevice.c b/dvbdevice.c index c231122..9c8a0ac 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 1.124 2005/02/20 13:35:28 kls Exp $ + * $Id: dvbdevice.c 1.127 2005/03/20 10:10:38 kls Exp $ */ #include "dvbdevice.h" @@ -577,7 +577,7 @@ bool cDvbDevice::GrabImage(const char *FileName, bool Jpeg, int Quality, int Siz else { // write PNM file: if (fprintf(f, "P6\n%d\n%d\n255\n", vm.width, vm.height) < 0 || - fwrite(mem, vm.width * vm.height * 3, 1, f) < 0) { + fwrite(mem, vm.width * vm.height * 3, 1, f) != 1) { LOG_ERROR_STR(FileName); result |= 1; } @@ -604,7 +604,7 @@ void cDvbDevice::SetVideoDisplayFormat(eVideoDisplayFormat VideoDisplayFormat) cDevice::SetVideoDisplayFormat(VideoDisplayFormat); if (HasDecoder()) { if (Setup.VideoFormat) { - CHECK(ioctl(fd_video, VIDEO_SET_DISPLAY_FORMAT, VIDEO_CENTER_CUT_OUT)); + CHECK(ioctl(fd_video, VIDEO_SET_DISPLAY_FORMAT, VIDEO_LETTER_BOX)); } else { switch (VideoDisplayFormat) { @@ -757,8 +757,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) { #ifdef DO_MULTIPLE_RECORDINGS if (Ca() > CACONFBASE || Channel->Ca() > CACONFBASE) - needsDetachReceivers = !ciHandler // only LL-firmware can do non-live CA channels - || Ca() != Channel->Ca(); + needsDetachReceivers = Ca() != Channel->Ca(); else if (!IsPrimaryDevice()) result = true; #ifdef DO_REC_AND_PLAY_ON_PRIMARY_DEVICE @@ -781,27 +780,21 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne bool cDvbDevice::SetChannelDevice(const cChannel *Channel, bool LiveView) { - bool IsEncrypted = Channel->Ca() > CACONFBASE && !ciHandler; // only LL-firmware can do non-live CA channels - bool DoTune = !dvbTuner->IsTunedTo(Channel); bool TurnOffLivePIDs = HasDecoder() && (DoTune - || IsEncrypted && pidHandles[ptVideo].pid != Channel->Vpid() // CA channels can only be decrypted in "live" mode || !IsPrimaryDevice() || LiveView // for a new live view the old PIDs need to be turned off || pidHandles[ptVideo].pid == Channel->Vpid() // for recording the PIDs must be shifted from DMX_PES_AUDIO/VIDEO to DMX_PES_OTHER ); - bool StartTransferMode = IsPrimaryDevice() && !IsEncrypted && !DoTune + bool StartTransferMode = IsPrimaryDevice() && !DoTune && (LiveView && HasPid(Channel->Vpid() ? Channel->Vpid() : Channel->Apid(0)) && (pidHandles[ptVideo].pid != Channel->Vpid() || pidHandles[ptAudio].pid != Channel->Apid(0))// the PID is already set as DMX_PES_OTHER || !LiveView && (pidHandles[ptVideo].pid == Channel->Vpid() || pidHandles[ptAudio].pid == Channel->Apid(0)) // a recording is going to shift the PIDs from DMX_PES_AUDIO/VIDEO to DMX_PES_OTHER ); - bool TurnOnLivePIDs = HasDecoder() && !StartTransferMode - && (IsEncrypted // CA channels can only be decrypted in "live" mode - || LiveView - ); + bool TurnOnLivePIDs = HasDecoder() && !StartTransferMode && LiveView; #ifndef DO_MULTIPLE_RECORDINGS TurnOffLivePIDs = TurnOnLivePIDs = true; @@ -919,7 +912,7 @@ bool cDvbDevice::CanReplay(void) const if (Receiving()) return false; #endif - return cDevice::CanReplay() && (Ca() <= MAXDEVICES || ciHandler); // with non-LL-firmware we can only replay if there is no CA recording going on + return cDevice::CanReplay(); } bool cDvbDevice::SetPlayMode(ePlayMode PlayMode) |