From da56a94dbf6fbc52f6cb0a16f2c4e3e75c4ae249 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 3 Feb 2002 16:22:05 +0100 Subject: [PATCH] Special VPIDs to allow recording radio channels --- CONTRIBUTORS | 3 +++ FORMATS | 2 +- HISTORY | 5 +++++ remux.c | 13 ++++++++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 1703a3c5..42a8a403 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -185,3 +185,6 @@ Andreas Gebel Davide Achilli for pointing out a bug in error handling while establishing an SVDRP connection + +Michael Paar + for enabling recording of radio channels diff --git a/FORMATS b/FORMATS index 46fd543e..d7d4293c 100644 --- a/FORMATS +++ b/FORMATS @@ -24,7 +24,7 @@ Video Disk Recorder File Formats - Polarization (one of 'h', 'H', 'v', 'V') ** - Diseqc number ** - Symbol rate *** - - Video PID + - Video PID (set to '0' for radio channels, '1' for encrypted radio channels) - Audio PID (either one number, or two, separated by a comma) If this channel also carries Dolby Digital sound, the Dolby PIDs follow the audio PIDs, separated by a semicolon, as in "...:101,102;103,104:..." diff --git a/HISTORY b/HISTORY index 87a2eb80..c182eeaa 100644 --- a/HISTORY +++ b/HISTORY @@ -962,3 +962,8 @@ Video Disk Recorder Revision History 'start + (Setup.MarginStart * 2) + 1)' in order to have a better chance of hitting the right record in case of an instant recording. Timers that start further in the future should always be programmed via the "Schedules" menu. +- The special VPIDs '0' and '1' are now used to enable recording radio channels. + Actually '0' should be enough, but '1' must be used with encrypted channels + (driver bug?). Note, though, that since VDR is mainly a *video recorder*, some + features like, e. g., the progress display, may not work as expected with + radio recordings. Thanks to Michael Paar. diff --git a/remux.c b/remux.c index 2eb97b50..99a64408 100644 --- a/remux.c +++ b/remux.c @@ -8,7 +8,7 @@ * the Linux DVB driver's 'tuxplayer' example and were rewritten to suit * VDR's needs. * - * $Id: remux.c 1.7 2002/02/02 12:54:30 kls Exp $ + * $Id: remux.c 1.8 2002/02/03 16:20:37 kls Exp $ */ /* The calling interface of the 'cRemux::Process()' function is defined @@ -555,6 +555,17 @@ XXX*/ return Result ? resultBuffer : NULL; XXX*/ + // Special VPID case to enable recording radio channels: + + if (vPid == 0 || vPid == 1 || vPid == 0x1FFF) { + // XXX actually '0' should be enough, but '1' must be used with encrypted channels (driver bug?) + // XXX also allowing 0x1FFF to not break Michael Paar's original patch, + // XXX but it would probably be best to only use '0' + *PictureType = I_FRAME; + Result = resultDelivered = resultCount; + return Result ? resultBuffer : NULL; + } + // Check if we're getting anywhere here: if (!synced && skipped >= 0) {