diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-21 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-21 18:00:00 +0200 |
commit | 21a52ccb6d43cce35f7a381f55ea291195416f33 (patch) | |
tree | bc7d86214e695434ca7170bff799bcc4aaca5401 /vdr.c | |
parent | 9f919801465f49be6b2118f54bd54df846e2f865 (diff) | |
download | vdr-patch-lnbsharing-21a52ccb6d43cce35f7a381f55ea291195416f33.tar.gz vdr-patch-lnbsharing-21a52ccb6d43cce35f7a381f55ea291195416f33.tar.bz2 |
Version 1.1.28vdr-1.1.28
- Using masks in EIT filtering to reduce the number of filters (thanks to Andreas
Schultz).
- Fixed handling Ca descriptors (thanks to Stefan Huelswitt).
- Now only those Ca descriptors are sent to a CAM that are actually understood
by that CAM.
- Re-enabled CAM communication during replay and on non-Ca channels. This requires
a DVB driver with firmware version 2613 or later.
- It is now possible to do simultaneous recording and replay with a single DVB
card, even with encrypted channels. This requires the use of the Link Layer
firmware, version 2613 or higher; the -icam firmware is still limited to live
encrypted channels only. Finally we have time shift for encrypted channels on
single card systems!
- Enhanced detection of pending user I/O from CAMs to avoid sluggish reaction
to remote control keypresses.
- Implemented "pause live video". You can now press "Menu/Yellow" or "Pause" on
your remote control while watching live video to start an instant recording
of the current programme and immediately start replaying that recording.
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 35 |
1 files changed, 27 insertions, 8 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/people/kls/vdr * - * $Id: vdr.c 1.149 2003/04/12 13:57:45 kls Exp $ + * $Id: vdr.c 1.150 2003/04/21 14:41:41 kls Exp $ */ #include <getopt.h> @@ -553,6 +553,26 @@ int main(int argc, char *argv[]) cDisplayVolume::Process(key); key = kNone; // nobody else needs to see these keys break; + // Pausing live video: + case kPause: + if (!cControl::Control()) { + DELETENULL(Menu); + Temp = NULL; + if (!cRecordControls::PauseLiveVideo()) + Interface->Error(tr("No free DVB device to record!")); + key = kNone; // nobody else needs to see this key + } + break; + // Instant recording: + case kRecord: + if (!cControl::Control()) { + if (cRecordControls::Start()) + ;//XXX Interface->Info(tr("Recording")); + else + Interface->Error(tr("No free DVB device to record!")); + key = kNone; // nobody else needs to see this key + } + break; // Power off: case kPower: isyslog("Power button pressed"); DELETENULL(Menu); @@ -577,6 +597,12 @@ int main(int argc, char *argv[]) if (state == osUnknown && ISMODELESSKEY(key) && cControl::Control() && Interact != cControl::Control()) state = cControl::Control()->ProcessKey(key); switch (state) { + case osPause: DELETENULL(Menu); + cControl::Shutdown(); // just in case + Temp = NULL; + if (!cRecordControls::PauseLiveVideo()) + Interface->Error(tr("No free DVB device to record!")); + break; case osRecord: DELETENULL(Menu); Temp = NULL; if (cRecordControls::Start()) @@ -652,13 +678,6 @@ int main(int argc, char *argv[]) break; // Viewing Control: case kOk: LastChannel = -1; break; // forces channel display - // Instant recording: - case kRecord: - if (cRecordControls::Start()) - ;//XXX Interface->Info(tr("Recording")); - else - Interface->Error(tr("No free DVB device to record!")); - break; // Key macros: case kRed: case kGreen: |