r7781 - in /vdr/vdr/trunk/debian: ./ patches/ plugin-template/
tiber-guest at users.alioth.debian.org
tiber-guest at users.alioth.debian.org
Wed May 6 19:38:30 UTC 2009
Author: tiber-guest
Date: Wed May 6 19:38:30 2009
New Revision: 7781
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/?sc=1&rev=7781
Log:
TODO: Do we really want to close #522011, which is related to kernel
bug #523424 ???
* Upgraded opt-20_liemikuutio.dpatch to version 1.27
* Updated and renamed opt-40_iptv.dpatch to opt-40_pluginparam.dpatch
* Added 99_dvb-header-fixes.dpatch as a workaround for the header bugs in
Linux 2.6.29 (Closes: 522011)
* Fixed debianize-vdrplugin template (dropped patchlevel field in control)
* Changed section of plugin template to "video"
Added:
vdr/vdr/trunk/debian/patches/99_dvb-header-fixes.dpatch
vdr/vdr/trunk/debian/patches/opt-40_pluginparam.dpatch
Removed:
vdr/vdr/trunk/debian/patches/extension-patch-helper.sh
vdr/vdr/trunk/debian/patches/opt-40_iptv.dpatch
Modified:
vdr/vdr/trunk/debian/.vdr-patches
vdr/vdr/trunk/debian/.vdr-patches.multipatch
vdr/vdr/trunk/debian/changelog
vdr/vdr/trunk/debian/copyright
vdr/vdr/trunk/debian/patches/00list
vdr/vdr/trunk/debian/patches/00list.multipatch
vdr/vdr/trunk/debian/patches/opt-20_liemikuutio.dpatch
vdr/vdr/trunk/debian/plugin-template/control
Modified: vdr/vdr/trunk/debian/.vdr-patches
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/.vdr-patches?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/.vdr-patches (original)
+++ vdr/vdr/trunk/debian/.vdr-patches Wed May 6 19:38:30 2009
@@ -3,6 +3,7 @@
debian/patches/12_osdbase-maxitems.dpatch:e45d1b62f7d66c3e5d279e3561034107
debian/patches/10_dd-record-option.dpatch:58c3a3dbcd9a3ec4b0ee1814f71d1e88
debian/patches/11_sortrecordings.dpatch:9ed4cd1e144ee59dab34d4df4aa9af51
+debian/patches/99_dvb-header-fixes.dpatch:ef5dae99f9ce2566d72a393c84e66741
debian/patches/19_dvb-api-v5.dpatch:6714266c10537521d2440cfa4d50b3f0
debian/patches/04_newplugin.dpatch:e99f8d21734a19b3eb93d9e3f11b680a
debian/patches/14_cap-memsize.dpatch:7beb9bcecb1bdce4a03c1729acfbbdb3
Modified: vdr/vdr/trunk/debian/.vdr-patches.multipatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/.vdr-patches.multipatch?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/.vdr-patches.multipatch (original)
+++ vdr/vdr/trunk/debian/.vdr-patches.multipatch Wed May 6 19:38:30 2009
@@ -10,7 +10,7 @@
debian/patches/82_valgrind.dpatch:46960921b989f2f4dab829a51622ed85
debian/patches/opt-42-x_MainMenuHooks.dpatch:1c4c782b5c88c4f0408890a5f50b217b
debian/patches/opt-44_rotor.dpatch:bbcc27512e0a0b610efadcde8fa67d02
-debian/patches/opt-20_liemikuutio.dpatch:bb8bb6b250b8b2ee24dad87a7c4490f8
+debian/patches/opt-20_liemikuutio.dpatch:b75777c886ae836a8d499a0628ae091f
debian/patches/10_dd-record-option.dpatch:58c3a3dbcd9a3ec4b0ee1814f71d1e88
debian/patches/opt-21_internal-cam-devices.dpatch:a883c0b09e67b679436b7df1e9807fc8
debian/patches/09_sort_options.dpatch:3b561fcd7645b216b4dab989d7786fda
@@ -24,7 +24,8 @@
debian/patches/opt-31-x_reelchannelscan.dpatch:f8c06ac51888248f68badcab8533c2be
debian/patches/81_Make_config.dpatch:dcff6a00ef9474bca19d955d19574009
debian/patches/opt-51_cuttime.dpatch:cfbf0a7934f109148fef4e385c3eb465
-debian/patches/opt-40_iptv.dpatch:2cca9430e7f83eaf9d25b1e8ca9e5fa7
+debian/patches/opt-40_pluginparam.dpatch:9dc3baf2532c9df6e715f0d6c9f7df06
+debian/patches/99_dvb-header-fixes.dpatch:ef5dae99f9ce2566d72a393c84e66741
debian/patches/14_cap-memsize.dpatch:7beb9bcecb1bdce4a03c1729acfbbdb3
debian/patches/opt-48-x_pin.dpatch:5e8f7e1b1ad5ed8ac51736d2aed02f9c
debian/patches/opt-47_sourcecaps.dpatch:626ed6d141802b9cae8c4b6cab97311e
Modified: vdr/vdr/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/changelog?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/changelog (original)
+++ vdr/vdr/trunk/debian/changelog Wed May 6 19:38:30 2009
@@ -1,3 +1,17 @@
+vdr (1.6.0-10) UNRELEASED; urgency=low
+
+ TODO: Do we really want to close #522011, which is related to kernel
+ bug #523424 ???
+
+ * Upgraded opt-20_liemikuutio.dpatch to version 1.27
+ * Updated and renamed opt-40_iptv.dpatch to opt-40_pluginparam.dpatch
+ * Added 99_dvb-header-fixes.dpatch as a workaround for the header bugs in
+ Linux 2.6.29 (Closes: 522011)
+ * Fixed debianize-vdrplugin template (dropped patchlevel field in control)
+ * Changed section of plugin template to "video"
+
+ -- Tobias Grimm <etobi at debian.org> Mon, 04 May 2009 01:08:27 +0200
+
vdr (1.6.0-9) unstable; urgency=low
[ Tobias Grimm ]
Modified: vdr/vdr/trunk/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/copyright?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/copyright (original)
+++ vdr/vdr/trunk/debian/copyright Wed May 6 19:38:30 2009
@@ -21,7 +21,7 @@
http://vdrportal.de/board/thread.php?postid=260715#post260715
Debian Maintainers:
- Tobias Grimm <tg at e-tobi.net>
+ Tobias Grimm <etobi at debian.org>
Thomas Günther <tom at toms-cafe.de>
Thomas Schmidt <tschmidt at debian.org>
Modified: vdr/vdr/trunk/debian/patches/00list
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/00list?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/patches/00list (original)
+++ vdr/vdr/trunk/debian/patches/00list Wed May 6 19:38:30 2009
@@ -15,6 +15,7 @@
81_Make_config
82_valgrind
+99_dvb-header-fixes
99_ncursesw-include
# Patch collection (replaces enAIO).
@@ -55,8 +56,8 @@
# Patch to disable normal epg update for specified channels.
# opt-39_noepg
-# Patch required by the IPTV plugin
-# opt-40_iptv
+# Patch required by the IPTV and other plugins
+# opt-40_pluginparam
# Patch to show an info, if it is possible to record an event in the timer-info.
# opt-41-x_timer-info
Modified: vdr/vdr/trunk/debian/patches/00list.multipatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/00list.multipatch?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/patches/00list.multipatch (original)
+++ vdr/vdr/trunk/debian/patches/00list.multipatch Wed May 6 19:38:30 2009
@@ -15,6 +15,7 @@
81_Make_config
82_valgrind
+99_dvb-header-fixes
99_ncursesw-include
# Patch collection (replaces enAIO).
@@ -55,8 +56,8 @@
# Patch to disable normal epg update for specified channels.
opt-39_noepg
-# Patch required by the IPTV plugin
-opt-40_iptv
+# Patch required by the IPTV and other plugins
+opt-40_pluginparam
# Patch to show an info, if it is possible to record an event in the timer-info.
opt-41-x_timer-info
Added: vdr/vdr/trunk/debian/patches/99_dvb-header-fixes.dpatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/99_dvb-header-fixes.dpatch?rev=7781&op=file
==============================================================================
--- vdr/vdr/trunk/debian/patches/99_dvb-header-fixes.dpatch (added)
+++ vdr/vdr/trunk/debian/patches/99_dvb-header-fixes.dpatch Wed May 6 19:38:30 2009
@@ -1,0 +1,52 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99_dvb-header-fixes.dpatch by Tobias Grimm <etobi at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: This is a workaround for some trouble with the kernel headers
+## DP: in Linux 2.6.29.
+## DP: See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523424
+
+ at DPATCH@
+diff -urNad vdr-1.6.0~/device.h vdr-1.6.0/device.h
+--- vdr-1.6.0~/device.h 2008-02-23 14:13:04.000000000 +0100
++++ vdr-1.6.0/device.h 2009-04-19 22:39:19.000000000 +0200
+@@ -10,6 +10,7 @@
+ #ifndef __DEVICE_H
+ #define __DEVICE_H
+
++#include <asm/types.h>
+ #include "channels.h"
+ #include "ci.h"
+ #include "dvbsubtitle.h"
+diff -urNad vdr-1.6.0~/dvbdevice.c vdr-1.6.0/dvbdevice.c
+--- vdr-1.6.0~/dvbdevice.c 2008-02-09 17:11:44.000000000 +0100
++++ vdr-1.6.0/dvbdevice.c 2009-04-19 22:35:47.000000000 +0200
+@@ -7,6 +7,8 @@
+ * $Id: dvbdevice.c 1.170 2008/02/09 16:11:44 kls Exp $
+ */
+
++#include <sys/ioctl.h>
++#include <sys/mman.h>
+ #include "dvbdevice.h"
+ #include <errno.h>
+ #include <limits.h>
+@@ -15,8 +17,6 @@
+ #include <linux/dvb/dmx.h>
+ #include <linux/dvb/frontend.h>
+ #include <linux/dvb/video.h>
+-#include <sys/ioctl.h>
+-#include <sys/mman.h>
+ #include "channels.h"
+ #include "diseqc.h"
+ #include "dvbci.h"
+diff -urNad vdr-1.6.0~/dvbdevice.h vdr-1.6.0/dvbdevice.h
+--- vdr-1.6.0~/dvbdevice.h 2009-04-19 22:35:47.000000000 +0200
++++ vdr-1.6.0/dvbdevice.h 2009-04-19 22:35:47.000000000 +0200
+@@ -10,6 +10,7 @@
+ #ifndef __DVBDEVICE_H
+ #define __DVBDEVICE_H
+
++#include <asm/types.h>
+ #include <linux/dvb/frontend.h>
+ #include <linux/dvb/version.h>
+ #include "device.h"
Modified: vdr/vdr/trunk/debian/patches/opt-20_liemikuutio.dpatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/opt-20_liemikuutio.dpatch?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/patches/opt-20_liemikuutio.dpatch (original)
+++ vdr/vdr/trunk/debian/patches/opt-20_liemikuutio.dpatch Wed May 6 19:38:30 2009
@@ -1,126 +1,14 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## opt-20_liemikuutio.dpatch by Rolf Ahrenberg <Rolf.Ahrenberg AT sci.fi>
-## http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-liemikuutio-1.21.diff.gz
+## http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-liemikuutio-1.27.diff.gz
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Patch collection - see HISTORY-liemikuutio for details.
@DPATCH@
-diff -Nru vdr-1.6.0-vanilla/HISTORY-liemikuutio vdr-1.6.0-liemikuutio/HISTORY-liemikuutio
---- vdr-1.6.0-vanilla/HISTORY-liemikuutio 1970-01-01 02:00:00.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/HISTORY-liemikuutio 2008-05-08 22:47:59.000000000 +0300
-@@ -0,0 +1,108 @@
-+-----------------------------------
-+Liemikuutio for Video Disc Recorder
-+
-+Maintainer: Rolf Ahrenberg
-+-----------------------------------
-+
-+2006-01-08: Version 1.0
-+
-+- Based on enAIO with these original patches:
-+ Simple recordings sorting by Walter at VDRPortal
-+ Alternate rename recordings by Ralf Müller
-+ Menu selection by Peter Dittmann
-+ Recording length by Tobias Faust
-+
-+2006-01-15: Version 1.1
-+
-+- Removed patches already found in vdr-1.3.39.
-+
-+2006-01-25: Version 1.2
-+
-+- Added "Main menu command position" feature.
-+
-+2006-02-05: Version 1.3
-+
-+- Improved menu selection response.
-+
-+2006-04-18: Version 1.4
-+
-+- Added Estonian translation (Thanks to Arthur Konovalov).
-+
-+2006-04-30: Version 1.5
-+
-+- Added progress bar view into "What's on now?" menu.
-+
-+2006-06-06: Version 1.6
-+
-+- Added French translation (Thanks to ECLiPSE).
-+
-+2006-06-14: Version 1.7
-+
-+- Fixed RENR crash.
-+
-+2006-07-14: Version 1.8
-+
-+- Fixed RENR/OSD bug.
-+
-+2006-08-27: Version 1.9
-+
-+- Some modifications to the recording length and rename recordings
-+ patches (Thanks to Firefly).
-+- Added k1_k3_jumps_20s patch by Petri Hintukainen.
-+
-+2006-08-29: Version 1.10
-+
-+- The cRecording:Title() method now defaults to original formatting.
-+
-+2006-09-04: Version 1.11
-+
-+- Removed unused variable from cRecording::Title() method (Thanks to
-+ C.Y.M.).
-+- Some modifications to the rename recordings patch (Thanks to Firefly).
-+
-+2006-09-13: Version 1.12
-+
-+- More modifications to the rename recordings patch (Thanks to Firefly).
-+
-+2006-10-01: Version 1.13
-+
-+- Removed unnecessary syslog printing (Thanks to Firefly).
-+
-+2007-08-14: Version 1.14
-+
-+- Updated for vdr-1.5.7.
-+
-+2007-10-16: Version 1.15
-+
-+- Added recmenu play patch (Thanks to Ville Skyttä).
-+- Updated French translation (Thanks to ECLiPSE).
-+
-+2007-11-04: Version 1.16
-+
-+- Updated for vdr-1.5.11.
-+
-+2007-12-08: Version 1.17
-+
-+- Added binary skip patch.
-+- Removed k1_k3_jumps_20s patch.
-+
-+2008-02-17: Version 1.18
-+
-+- Updated for vdr-1.5.15.
-+
-+2008-03-02: Version 1.19
-+
-+- Modified binary skip to use kPrev and kNext keys and the skip is now
-+ always shortened after a direction change (Thanks to Timo Eskola).
-+- Readded k1_k3_jumps_20s patch.
-+
-+2008-04-04: Version 1.20
-+
-+- Added bitrate information into rename menu.
-+- Readded the path editing support of rename recordings patch (Thanks
-+ to Firefly).
-+
-+2008-05-08: Version 1.21
-+
-+- Fixed rename recordings (Thanks to Firefly).
-+- Added a DVB subtitles hack for old recordings (Thanks to Anssi Hannula).
diff -Nru vdr-1.6.0-vanilla/config.c vdr-1.6.0-liemikuutio/config.c
---- vdr-1.6.0-vanilla/config.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/config.c 2008-03-27 21:47:57.000000000 +0200
+--- vdr-1.6.0-vanilla/config.c 2008-02-17 15:39:00.000000000 +0200
++++ vdr-1.6.0-liemikuutio/config.c 2009-02-27 23:06:59.000000000 +0200
@@ -289,6 +289,11 @@
InitialChannel = 0;
InitialVolume = -1;
@@ -158,13 +46,13 @@
Sort();
diff -Nru vdr-1.6.0-vanilla/config.h vdr-1.6.0-liemikuutio/config.h
---- vdr-1.6.0-vanilla/config.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/config.h 2008-04-26 23:23:40.000000000 +0300
+--- vdr-1.6.0-vanilla/config.h 2008-03-23 12:26:10.000000000 +0200
++++ vdr-1.6.0-liemikuutio/config.h 2009-04-26 09:00:51.000000000 +0300
@@ -36,6 +36,8 @@
// plugins to work with newer versions of the core VDR as long as no
// VDR header files have changed.
-+#define LIEMIKUUTIO 121
++#define LIEMIKUUTIO 127
+
#define MAXPRIORITY 99
#define MAXLIFETIME 99
@@ -178,8 +66,8 @@
cSetup(void);
cSetup& operator= (const cSetup &s);
diff -Nru vdr-1.6.0-vanilla/device.c vdr-1.6.0-liemikuutio/device.c
---- vdr-1.6.0-vanilla/device.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/device.c 2008-05-08 22:50:10.000000000 +0300
+--- vdr-1.6.0-vanilla/device.c 2008-03-09 12:03:34.000000000 +0200
++++ vdr-1.6.0-liemikuutio/device.c 2009-02-27 23:06:59.000000000 +0200
@@ -1100,7 +1100,8 @@
int LanguagePreference = INT_MAX; // higher than the maximum possible value
for (int i = ttSubtitleFirst; i <= ttSubtitleLast; i++) {
@@ -190,9 +78,145 @@
PreferredTrack = eTrackType(i);
}
// Make sure we're set to an available subtitle track:
+diff -Nru vdr-1.6.0-vanilla/HISTORY-liemikuutio vdr-1.6.0-liemikuutio/HISTORY-liemikuutio
+--- vdr-1.6.0-vanilla/HISTORY-liemikuutio 1970-01-01 02:00:00.000000000 +0200
++++ vdr-1.6.0-liemikuutio/HISTORY-liemikuutio 2009-04-26 09:05:26.000000000 +0300
+@@ -0,0 +1,132 @@
++-----------------------------------
++Liemikuutio for Video Disc Recorder
++
++Maintainer: Rolf Ahrenberg
++-----------------------------------
++
++2006-01-08: Version 1.0
++
++- Based on enAIO with these original patches:
++ Simple recordings sorting by Walter at VDRPortal
++ Alternate rename recordings by Ralf Müller
++ Menu selection by Peter Dittmann
++ Recording length by Tobias Faust
++
++2006-01-15: Version 1.1
++
++- Removed patches already found in vdr-1.3.39.
++
++2006-01-25: Version 1.2
++
++- Added "Main menu command position" feature.
++
++2006-02-05: Version 1.3
++
++- Improved menu selection response.
++
++2006-04-18: Version 1.4
++
++- Added Estonian translation (Thanks to Arthur Konovalov).
++
++2006-04-30: Version 1.5
++
++- Added progress bar view into "What's on now?" menu.
++
++2006-06-06: Version 1.6
++
++- Added French translation (Thanks to ECLiPSE).
++
++2006-06-14: Version 1.7
++
++- Fixed RENR crash.
++
++2006-07-14: Version 1.8
++
++- Fixed RENR/OSD bug.
++
++2006-08-27: Version 1.9
++
++- Some modifications to the recording length and rename recordings
++ patches (Thanks to Firefly).
++- Added k1_k3_jumps_20s patch by Petri Hintukainen.
++
++2006-08-29: Version 1.10
++
++- The cRecording:Title() method now defaults to original formatting.
++
++2006-09-04: Version 1.11
++
++- Removed unused variable from cRecording::Title() method (Thanks to
++ C.Y.M.).
++- Some modifications to the rename recordings patch (Thanks to Firefly).
++
++2006-09-13: Version 1.12
++
++- More modifications to the rename recordings patch (Thanks to Firefly).
++
++2006-10-01: Version 1.13
++
++- Removed unnecessary syslog printing (Thanks to Firefly).
++
++2007-08-14: Version 1.14
++
++- Updated for vdr-1.5.7.
++
++2007-10-16: Version 1.15
++
++- Added recmenu play patch (Thanks to Ville Skyttä).
++- Updated French translation (Thanks to ECLiPSE).
++
++2007-11-04: Version 1.16
++
++- Updated for vdr-1.5.11.
++
++2007-12-08: Version 1.17
++
++- Added binary skip patch.
++- Removed k1_k3_jumps_20s patch.
++
++2008-02-17: Version 1.18
++
++- Updated for vdr-1.5.15.
++
++2008-03-02: Version 1.19
++
++- Modified binary skip to use kPrev and kNext keys and the skip is now
++ always shortened after a direction change (Thanks to Timo Eskola).
++- Readded k1_k3_jumps_20s patch.
++
++2008-04-04: Version 1.20
++
++- Added bitrate information into rename menu.
++- Readded the path editing support of rename recordings patch (Thanks
++ to Firefly).
++
++2008-05-08: Version 1.21
++
++- Fixed rename recordings (Thanks to Firefly).
++- Added a DVB subtitles hack for old recordings (Thanks to Anssi Hannula).
++
++2009-01-08: Version 1.22
++
++- Updated for vdr-1.7.3.
++
++2009-01-25: Version 1.23
++
++- Updated for vdr-1.7.4.
++
++2009-02-27: Version 1.24
++
++- Fixed compilation under gcc-4.4.
++
++2009-04-05: Version 1.25
++
++- Fixed the length detection of recordings (Thanks to Thomas Günther).
++
++2009-04-17: Version 1.26
++
++- Fixed the length detection of audio recordings (Thanks to Thomas Günther).
++
++2009-04-26: Version 1.27
++
++- Fixed the length detection of empty recordings (Thanks to Thomas Günther).
diff -Nru vdr-1.6.0-vanilla/menu.c vdr-1.6.0-liemikuutio/menu.c
---- vdr-1.6.0-vanilla/menu.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/menu.c 2008-04-04 00:23:09.000000000 +0300
+--- vdr-1.6.0-vanilla/menu.c 2008-03-16 13:15:28.000000000 +0200
++++ vdr-1.6.0-liemikuutio/menu.c 2009-04-05 13:04:51.000000000 +0300
@@ -13,6 +13,7 @@
#include <stdio.h>
#include <stdlib.h>
@@ -322,7 +346,7 @@
if (*Text() == '\t')
name = strdup(Text() + 2); // 'Text() + 2' to skip the two '\t'
}
-@@ -1899,13 +1939,155 @@
+@@ -1899,13 +1939,153 @@
totalEntries++;
if (New)
newEntries++;
@@ -369,14 +393,13 @@
+ priority = recording->priority;
+ lifetime = recording->lifetime;
+
-+ char* p = strrchr(recording->Name(), '~');
-+ if (p) {
-+ p++;
-+ Utf8Strn0Cpy(name, p, sizeof(name));
++ const char* pname = strrchr(recording->Name(), '~');
++ if (pname) {
++ Utf8Strn0Cpy(name, pname + 1, sizeof(name));
+ Utf8Strn0Cpy(path, recording->Name(), sizeof(path));
-+ p = strrchr(path, '~');
-+ if (p)
-+ p[0] = 0;
++ char *ppath = strrchr(path, '~');
++ if (ppath)
++ ppath[0] = 0;
+ }
+ else {
+ Utf8Strn0Cpy(name, recording->Name(), sizeof(name));
@@ -395,13 +418,12 @@
+ if (channel)
+ Add(new cOsdItem(cString::sprintf("%s:\t%s", tr("Channel"), *ChannelString(channel, 0)), osUnknown, false));
+
-+ cIndexFile *index = new cIndexFile(recording->FileName(), false);
-+ int recLen = 0;
-+ if (index) {
-+ recLen = index->Last() / FRAMESPERSEC;
-+ Add(new cOsdItem(cString::sprintf("%s:\t%s", tr("Length"), *IndexToHMSF(index->Last())), osUnknown, false));
-+ delete index;
-+ }
++ int recLen = cIndexFile::Length(recording->FileName());
++ if (recLen >= 0)
++ Add(new cOsdItem(cString::sprintf("%s:\t%s", tr("Length"), *IndexToHMSF(recLen)), osUnknown, false));
++ else
++ recLen = 0;
++ recLen /= FRAMESPERSEC;
+
+ int dirSize = DirSizeMB(recording->FileName());
+ cString bitRate = recLen ? cString::sprintf(" (%.2f MBit/s)", 8.0 * dirSize / recLen) : cString("");
@@ -480,7 +502,7 @@
{
base = Base ? strdup(Base) : NULL;
level = Setup.RecordingDirs ? Level : -1;
-@@ -2136,6 +2318,19 @@
+@@ -2136,6 +2316,19 @@
return osContinue;
}
@@ -500,7 +522,7 @@
eOSState cMenuRecordings::ProcessKey(eKeys Key)
{
bool HadSubMenu = HasSubMenu();
-@@ -2150,7 +2345,12 @@
+@@ -2150,7 +2343,12 @@
case kYellow: return Delete();
case kInfo:
case kBlue: return Info();
@@ -514,7 +536,7 @@
case kNone: if (Recordings.StateChanged(recordingsState))
Set(true);
break;
-@@ -2276,6 +2476,7 @@
+@@ -2276,6 +2474,7 @@
Add(new cMenuEditBoolItem(tr("Setup.OSD$Scroll wraps"), &data.MenuScrollWrap));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Menu key closes"), &data.MenuKeyCloses));
Add(new cMenuEditBoolItem(tr("Setup.OSD$Recording directories"), &data.RecordingDirs));
@@ -522,7 +544,7 @@
SetCurrent(Get(current));
Display();
}
-@@ -2380,6 +2581,7 @@
+@@ -2380,6 +2579,7 @@
Add(new cMenuEditIntItem( tr("Setup.EPG$EPG scan timeout (h)"), &data.EPGScanTimeout));
Add(new cMenuEditIntItem( tr("Setup.EPG$EPG bugfix level"), &data.EPGBugfixLevel, 0, MAXEPGBUGFIXLEVEL));
Add(new cMenuEditIntItem( tr("Setup.EPG$EPG linger time (min)"), &data.EPGLinger, 0));
@@ -530,7 +552,7 @@
Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"), &data.SetSystemTime));
if (data.SetSystemTime)
Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder, &data.TimeSource));
-@@ -2758,6 +2960,9 @@
+@@ -2758,6 +2958,9 @@
Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME));
Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE));
Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles));
@@ -540,7 +562,7 @@
}
// --- cMenuSetupReplay ------------------------------------------------------
-@@ -3045,6 +3250,7 @@
+@@ -3045,6 +3248,7 @@
// Replay control:
if (replaying && !stopReplayItem)
// TRANSLATORS: note the leading blank!
@@ -548,7 +570,7 @@
Add(stopReplayItem = new cOsdItem(tr(" Stop replaying"), osStopReplay));
else if (stopReplayItem && !replaying) {
Del(stopReplayItem->Index());
-@@ -3059,6 +3265,7 @@
+@@ -3059,6 +3263,7 @@
bool CutterActive = cCutter::Active();
if (CutterActive && !cancelEditingItem) {
// TRANSLATORS: note the leading blank!
@@ -556,7 +578,7 @@
Add(cancelEditingItem = new cOsdItem(tr(" Cancel editing"), osCancelEdit));
result = true;
}
-@@ -3079,6 +3286,7 @@
+@@ -3079,6 +3284,7 @@
while ((s = cRecordControls::GetInstantId(s)) != NULL) {
cOsdItem *item = new cOsdItem(osStopRecord);
item->SetText(cString::sprintf("%s%s", tr(STOP_RECORDING), s));
@@ -564,7 +586,7 @@
Add(item);
if (!stopRecordingItem)
stopRecordingItem = item;
-@@ -4059,6 +4267,10 @@
+@@ -4059,6 +4265,10 @@
// --- cReplayControl --------------------------------------------------------
@@ -575,7 +597,7 @@
cReplayControl *cReplayControl::currentReplayControl = NULL;
char *cReplayControl::fileName = NULL;
char *cReplayControl::title = NULL;
-@@ -4072,6 +4284,9 @@
+@@ -4072,6 +4282,9 @@
lastCurrent = lastTotal = -1;
lastPlay = lastForward = false;
lastSpeed = -2; // an invalid value
@@ -585,7 +607,7 @@
timeoutShow = 0;
timeSearchActive = false;
marks.Load(fileName);
-@@ -4435,6 +4650,32 @@
+@@ -4435,6 +4648,32 @@
case kGreen: SkipSeconds(-60); break;
case kYellow|k_Repeat:
case kYellow: SkipSeconds( 60); break;
@@ -618,7 +640,7 @@
case kStop:
case kBlue: Hide();
Stop();
-@@ -4444,12 +4685,8 @@
+@@ -4444,12 +4683,8 @@
switch (Key) {
// Editing:
case kMarkToggle: MarkToggle(); break;
@@ -632,8 +654,8 @@
case kMarkJumpForward: MarkJump(true); break;
case kMarkMoveBack|k_Repeat:
diff -Nru vdr-1.6.0-vanilla/menu.h vdr-1.6.0-liemikuutio/menu.h
---- vdr-1.6.0-vanilla/menu.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/menu.h 2008-04-03 23:24:39.000000000 +0300
+--- vdr-1.6.0-vanilla/menu.h 2008-02-10 18:01:53.000000000 +0200
++++ vdr-1.6.0-liemikuutio/menu.h 2009-02-27 23:06:59.000000000 +0200
@@ -35,6 +35,8 @@
private:
cTimer *timer;
@@ -662,8 +684,8 @@
bool timeSearchActive, timeSearchHide;
int timeSearchTime, timeSearchPos;
diff -Nru vdr-1.6.0-vanilla/menuitems.c vdr-1.6.0-liemikuutio/menuitems.c
---- vdr-1.6.0-vanilla/menuitems.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/menuitems.c 2008-04-26 23:23:31.000000000 +0300
+--- vdr-1.6.0-vanilla/menuitems.c 2008-02-10 18:03:30.000000000 +0200
++++ vdr-1.6.0-liemikuutio/menuitems.c 2009-02-27 23:06:59.000000000 +0200
@@ -619,6 +619,168 @@
return osContinue;
}
@@ -834,8 +856,8 @@
cMenuEditStraItem::cMenuEditStraItem(const char *Name, int *Value, int NumStrings, const char * const *Strings)
diff -Nru vdr-1.6.0-vanilla/menuitems.h vdr-1.6.0-liemikuutio/menuitems.h
---- vdr-1.6.0-vanilla/menuitems.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/menuitems.h 2008-04-03 23:24:39.000000000 +0300
+--- vdr-1.6.0-vanilla/menuitems.h 2008-02-16 18:09:58.000000000 +0200
++++ vdr-1.6.0-liemikuutio/menuitems.h 2009-02-27 23:06:59.000000000 +0200
@@ -78,26 +78,27 @@
class cMenuEditStrItem : public cMenuEditItem {
@@ -893,8 +915,8 @@
private:
const char * const *strings;
diff -Nru vdr-1.6.0-vanilla/osdbase.c vdr-1.6.0-liemikuutio/osdbase.c
---- vdr-1.6.0-vanilla/osdbase.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/osdbase.c 2008-03-27 21:47:56.000000000 +0200
+--- vdr-1.6.0-vanilla/osdbase.c 2008-02-17 13:33:04.000000000 +0200
++++ vdr-1.6.0-liemikuutio/osdbase.c 2009-02-27 23:06:59.000000000 +0200
@@ -77,6 +77,7 @@
{
isMenu = true;
@@ -990,8 +1012,8 @@
case kUp: CursorUp(); break;
case kDown|k_Repeat:
diff -Nru vdr-1.6.0-vanilla/osdbase.h vdr-1.6.0-liemikuutio/osdbase.h
---- vdr-1.6.0-vanilla/osdbase.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/osdbase.h 2008-03-27 21:47:56.000000000 +0200
+--- vdr-1.6.0-vanilla/osdbase.h 2007-11-03 16:50:52.000000000 +0200
++++ vdr-1.6.0-liemikuutio/osdbase.h 2009-02-27 23:06:59.000000000 +0200
@@ -95,6 +95,8 @@
char *status;
int digit;
@@ -1002,8 +1024,8 @@
void SetDisplayMenu(void);
cSkinDisplayMenu *DisplayMenu(void) { return displayMenu; }
diff -Nru vdr-1.6.0-vanilla/po/de_DE.po vdr-1.6.0-liemikuutio/po/de_DE.po
---- vdr-1.6.0-vanilla/po/de_DE.po 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/po/de_DE.po 2008-04-03 23:31:27.000000000 +0300
+--- vdr-1.6.0-vanilla/po/de_DE.po 2008-03-23 12:31:29.000000000 +0200
++++ vdr-1.6.0-liemikuutio/po/de_DE.po 2009-02-27 23:06:59.000000000 +0200
@@ -998,3 +998,51 @@
#, c-format
msgid "VDR will shut down in %s minutes"
@@ -1057,8 +1079,8 @@
+msgid "Setup.Recording$Show length"
+msgstr "Länge der Aufnahme anzeigen"
diff -Nru vdr-1.6.0-vanilla/po/et_EE.po vdr-1.6.0-liemikuutio/po/et_EE.po
---- vdr-1.6.0-vanilla/po/et_EE.po 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/po/et_EE.po 2008-04-03 23:38:43.000000000 +0300
+--- vdr-1.6.0-vanilla/po/et_EE.po 2008-03-23 12:31:29.000000000 +0200
++++ vdr-1.6.0-liemikuutio/po/et_EE.po 2009-02-27 23:06:59.000000000 +0200
@@ -998,3 +998,51 @@
#, c-format
msgid "VDR will shut down in %s minutes"
@@ -1112,8 +1134,8 @@
+msgid "Setup.Recording$Show length"
+msgstr "Salvestuse pikkus"
diff -Nru vdr-1.6.0-vanilla/po/fi_FI.po vdr-1.6.0-liemikuutio/po/fi_FI.po
---- vdr-1.6.0-vanilla/po/fi_FI.po 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/po/fi_FI.po 2008-04-03 23:34:26.000000000 +0300
+--- vdr-1.6.0-vanilla/po/fi_FI.po 2008-03-23 12:31:29.000000000 +0200
++++ vdr-1.6.0-liemikuutio/po/fi_FI.po 2009-02-27 23:06:59.000000000 +0200
@@ -1001,3 +1001,51 @@
#, c-format
msgid "VDR will shut down in %s minutes"
@@ -1167,8 +1189,8 @@
+msgid "Setup.Recording$Show length"
+msgstr "Näytä tallenteen kesto"
diff -Nru vdr-1.6.0-vanilla/po/fr_FR.po vdr-1.6.0-liemikuutio/po/fr_FR.po
---- vdr-1.6.0-vanilla/po/fr_FR.po 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/po/fr_FR.po 2008-04-03 23:36:49.000000000 +0300
+--- vdr-1.6.0-vanilla/po/fr_FR.po 2008-03-23 12:31:29.000000000 +0200
++++ vdr-1.6.0-liemikuutio/po/fr_FR.po 2009-02-27 23:06:59.000000000 +0200
@@ -1004,3 +1004,51 @@
#, c-format
msgid "VDR will shut down in %s minutes"
@@ -1187,7 +1209,7 @@
+msgstr "Taille"
+
+msgid "Path"
-+msgstr ""
++msgstr "Chemin"
+
+msgid "Rename$Up"
+msgstr "Haut"
@@ -1220,10 +1242,10 @@
+msgstr "Montrer l'heure d'enregistrement"
+
+msgid "Setup.Recording$Show length"
-+msgstr "Monter la longueur de l'enregistrement"
++msgstr "Montrer la longueur de l'enregistrement"
diff -Nru vdr-1.6.0-vanilla/po/ru_RU.po vdr-1.6.0-liemikuutio/po/ru_RU.po
---- vdr-1.6.0-vanilla/po/ru_RU.po 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/po/ru_RU.po 2008-03-27 21:47:57.000000000 +0200
+--- vdr-1.6.0-vanilla/po/ru_RU.po 2008-03-23 12:31:29.000000000 +0200
++++ vdr-1.6.0-liemikuutio/po/ru_RU.po 2009-02-27 23:06:59.000000000 +0200
@@ -999,3 +999,36 @@
#, c-format
msgid "VDR will shut down in %s minutes"
@@ -1262,17 +1284,9 @@
+msgid "Setup.Recording$Show length"
+msgstr "¿ÞÚÐ×ëÒÐâì ßàÞÔÞÛÖØâÕÛìÝÞáâì ×ÐßØáØ"
diff -Nru vdr-1.6.0-vanilla/recording.c vdr-1.6.0-liemikuutio/recording.c
---- vdr-1.6.0-vanilla/recording.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/recording.c 2008-03-27 21:47:56.000000000 +0200
-@@ -46,6 +46,7 @@
- #endif
- #define INFOFILESUFFIX "/info.vdr"
- #define MARKSFILESUFFIX "/marks.vdr"
-+#define INDEXFILESUFFIX "/index.vdr"
-
- #define MINDISKSPACE 1024 // MB
-
-@@ -62,6 +63,7 @@
+--- vdr-1.6.0-vanilla/recording.c 2008-02-24 12:28:53.000000000 +0200
++++ vdr-1.6.0-liemikuutio/recording.c 2009-04-26 09:00:43.000000000 +0300
+@@ -62,6 +62,7 @@
#define MAX_LINK_LEVEL 6
bool VfatFileSystem = false;
@@ -1280,7 +1294,7 @@
cRecordings DeletedRecordings(true);
-@@ -690,6 +692,8 @@
+@@ -690,6 +691,8 @@
int cRecording::Compare(const cListObject &ListObject) const
{
cRecording *r = (cRecording *)&ListObject;
@@ -1289,7 +1303,7 @@
return strcasecmp(SortName(), r->SortName());
}
-@@ -705,7 +709,7 @@
+@@ -705,7 +708,7 @@
return fileName;
}
@@ -1298,7 +1312,7 @@
{
char New = NewIndicator && IsNew() ? '*' : ' ';
free(titleBuffer);
-@@ -718,6 +722,7 @@
+@@ -718,6 +721,7 @@
s++;
else
s = name;
@@ -1306,7 +1320,7 @@
titleBuffer = strdup(cString::sprintf("%02d.%02d.%02d%c%02d:%02d%c%c%s",
t->tm_mday,
t->tm_mon + 1,
-@@ -728,6 +733,39 @@
+@@ -728,6 +732,27 @@
New,
Delimiter,
s));
@@ -1314,21 +1328,9 @@
+ else {
+ cString RecLength("---");
+ if (Setup.ShowRecLength && FileName()) {
-+ cString filename = cString::sprintf("%s%s", FileName(), INDEXFILESUFFIX);
-+ if (*filename) {
-+ if (access(filename, R_OK) == 0) {
-+ struct stat buf;
-+ if (stat(filename, &buf) == 0) {
-+ struct tIndex { int offset; uchar type; uchar number; short reserved; };
-+ int delta = buf.st_size % sizeof(tIndex);
-+ if (delta) {
-+ delta = sizeof(tIndex) - delta;
-+ esyslog("ERROR: invalid file size (%ld) in '%s'", buf.st_size, *filename);
-+ }
-+ RecLength = cString::sprintf("%ld'", (buf.st_size + delta) / sizeof(tIndex) / SecondsToFrames(60));
-+ }
-+ }
-+ }
++ int length = cIndexFile::Length(FileName());
++ if (length >= 0)
++ RecLength = cString::sprintf("%d'", length / SecondsToFrames(60));
+ }
+ cString RecDate = cString::sprintf("%02d.%02d.%02d", t->tm_mday, t->tm_mon + 1, t->tm_year % 100);
+ cString RecTime = cString::sprintf("%02d:%02d", t->tm_hour, t->tm_min);
@@ -1346,7 +1348,7 @@
// let's not display a trailing '~':
if (!NewIndicator)
stripspace(titleBuffer);
-@@ -864,6 +902,41 @@
+@@ -864,6 +889,41 @@
resume = RESUME_NOT_INITIALIZED;
}
@@ -1388,18 +1390,25 @@
// --- cRecordings -----------------------------------------------------------
cRecordings Recordings;
-@@ -1172,8 +1245,6 @@
- //XXX+ somewhere else???
- // --- cIndexFile ------------------------------------------------------------
-
--#define INDEXFILESUFFIX "/index.vdr"
--
- // The number of frames to stay off the end in case of time shift:
- #define INDEXSAFETYLIMIT 150 // frames
-
+@@ -1405,6 +1465,15 @@
+ return f >= 0;
+ }
+
++int cIndexFile::Length(const char *FileName)
++{
++ struct stat buf;
++ cString fullname = cString::sprintf("%s%s", FileName, INDEXFILESUFFIX);
++ if (FileName && *fullname && access(fullname, R_OK) == 0 && stat(fullname, &buf) == 0)
++ return buf.st_size ? (buf.st_size - 1) / sizeof(tIndex) + 1 : 0;
++ return -1;
++}
++
+ // --- cFileName -------------------------------------------------------------
+
+ #define MAXFILESPERRECORDING 255
diff -Nru vdr-1.6.0-vanilla/recording.h vdr-1.6.0-liemikuutio/recording.h
---- vdr-1.6.0-vanilla/recording.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/recording.h 2008-03-27 21:47:57.000000000 +0200
+--- vdr-1.6.0-vanilla/recording.h 2007-10-14 13:11:34.000000000 +0300
++++ vdr-1.6.0-liemikuutio/recording.h 2009-04-05 13:07:48.000000000 +0300
@@ -19,6 +19,7 @@
#include "tools.h"
@@ -1427,9 +1436,18 @@
};
class cRecordings : public cList<cRecording>, public cThread {
+@@ -219,6 +223,8 @@
+ int GetResume(void) { return resumeFile.Read(); }
+ bool StoreResume(int Index) { return resumeFile.Save(Index); }
+ bool IsStillRecording(void);
++ static int Length(const char *FileName);
++ ///< Calculates the recording length without reading the index.
+ };
+
+ class cFileName {
diff -Nru vdr-1.6.0-vanilla/svdrp.c vdr-1.6.0-liemikuutio/svdrp.c
---- vdr-1.6.0-vanilla/svdrp.c 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/svdrp.c 2008-03-27 21:47:56.000000000 +0200
+--- vdr-1.6.0-vanilla/svdrp.c 2008-02-17 15:36:01.000000000 +0200
++++ vdr-1.6.0-liemikuutio/svdrp.c 2009-02-27 23:06:59.000000000 +0200
@@ -296,6 +296,8 @@
"REMO [ on | off ]\n"
" Turns the remote control on or off. Without a parameter, the current\n"
@@ -1487,8 +1505,8 @@
else if (CMD("STAT")) CmdSTAT(s);
else if (CMD("UPDT")) CmdUPDT(s);
diff -Nru vdr-1.6.0-vanilla/svdrp.h vdr-1.6.0-liemikuutio/svdrp.h
---- vdr-1.6.0-vanilla/svdrp.h 2008-03-27 21:43:25.000000000 +0200
-+++ vdr-1.6.0-liemikuutio/svdrp.h 2008-03-27 21:47:56.000000000 +0200
+--- vdr-1.6.0-vanilla/svdrp.h 2007-04-30 15:28:28.000000000 +0300
++++ vdr-1.6.0-liemikuutio/svdrp.h 2009-02-27 23:06:59.000000000 +0200
@@ -79,6 +79,7 @@
void CmdPLUG(const char *Option);
void CmdPUTE(const char *Option);
Added: vdr/vdr/trunk/debian/patches/opt-40_pluginparam.dpatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/opt-40_pluginparam.dpatch?rev=7781&op=file
==============================================================================
--- vdr/vdr/trunk/debian/patches/opt-40_pluginparam.dpatch (added)
+++ vdr/vdr/trunk/debian/patches/opt-40_pluginparam.dpatch Wed May 6 19:38:30 2009
@@ -1,0 +1,296 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## opt-40_pluginparam.dpatch
+## from version 0.2.6 of the IPTV plugin
+## http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Patch required for the IPTV plugin and other plugins
+
+ at DPATCH@
+diff -urNad vdr-1.6.0~/channels.c vdr-1.6.0/channels.c
+--- vdr-1.6.0~/channels.c 2009-05-03 16:09:13.000000000 +0200
++++ vdr-1.6.0/channels.c 2009-05-03 16:09:13.000000000 +0200
+@@ -166,6 +166,7 @@
+ shortName = strdup("");
+ provider = strdup("");
+ portalName = strdup("");
++ pluginParam = strdup("");
+ memset(&__BeginData__, 0, (char *)&__EndData__ - (char *)&__BeginData__);
+ inversion = INVERSION_AUTO;
+ bandwidth = BANDWIDTH_AUTO;
+@@ -187,6 +188,7 @@
+ shortName = NULL;
+ provider = NULL;
+ portalName = NULL;
++ pluginParam = NULL;
+ schedule = NULL;
+ linkChannels = NULL;
+ refChannel = NULL;
+@@ -215,6 +217,7 @@
+ free(shortName);
+ free(provider);
+ free(portalName);
++ free(pluginParam);
+ }
+
+ cChannel& cChannel::operator= (const cChannel &Channel)
+@@ -223,6 +226,7 @@
+ shortName = strcpyrealloc(shortName, Channel.shortName);
+ provider = strcpyrealloc(provider, Channel.provider);
+ portalName = strcpyrealloc(portalName, Channel.portalName);
++ pluginParam = strcpyrealloc(pluginParam, Channel.pluginParam);
+ memcpy(&__BeginData__, &Channel.__BeginData__, (char *)&Channel.__EndData__ - (char *)&Channel.__BeginData__);
+ return *this;
+ }
+@@ -280,9 +284,26 @@
+ transmission = Channel->transmission;
+ guard = Channel->guard;
+ hierarchy = Channel->hierarchy;
++ if (IsPlug()) pluginParam = strcpyrealloc(pluginParam, Channel->pluginParam);
+ }
+ }
+
++bool cChannel::SetPlugTransponderData(int Source, int Frequency, const char *PluginParam)
++{
++ if (source != Source || frequency != Frequency || (strcmp(pluginParam, PluginParam) != 0)) {
++ if (Number()) {
++ dsyslog("changing transponder data of channel %d from %s:%d:%s to %s:%d:%s", Number(), *cSource::ToString(source), frequency, pluginParam, *cSource::ToString(Source), Frequency, PluginParam);
++ modification |= CHANNELMOD_TRANSP;
++ Channels.SetModified();
++ }
++ source = Source;
++ frequency = Frequency;
++ pluginParam = strcpyrealloc(pluginParam, PluginParam);
++ schedule = NULL;
++ }
++ return true;
++}
++
+ bool cChannel::SetSatTransponderData(int Source, int Frequency, char Polarization, int Srate, int CoderateH)
+ {
+ // Workarounds for broadcaster stupidity:
+@@ -407,6 +428,18 @@
+ }
+ }
+
++void cChannel::SetPluginParam(const char *PluginParam)
++{
++ if (!isempty(PluginParam) && strcmp(pluginParam, PluginParam) != 0) {
++ if (Number()) {
++ dsyslog("changing plugin parameters of channel %d from '%s' to '%s'", Number(), pluginParam, PluginParam);
++ modification |= CHANNELMOD_TRANSP;
++ Channels.SetModified();
++ }
++ pluginParam = strcpyrealloc(pluginParam, PluginParam);
++ }
++}
++
+ #define STRDIFF 0x01
+ #define VALDIFF 0x02
+
+@@ -593,7 +626,7 @@
+ if (isdigit(type))
+ type = 'S';
+ #define ST(s) if (strchr(s, type))
+- char buffer[64];
++ char buffer[256];
+ char *q = buffer;
+ *q = 0;
+ ST(" S ") q += sprintf(q, "%c", polarization);
+@@ -605,6 +638,7 @@
+ ST(" T") q += PrintParameter(q, 'T', MapToUser(transmission, TransmissionValues));
+ ST(" T") q += PrintParameter(q, 'G', MapToUser(guard, GuardValues));
+ ST(" T") q += PrintParameter(q, 'Y', MapToUser(hierarchy, HierarchyValues));
++ ST("P ") snprintf(buffer, sizeof(buffer), "%s", pluginParam);
+ return buffer;
+ }
+
+@@ -626,7 +660,7 @@
+
+ bool cChannel::StringToParameters(const char *s)
+ {
+- while (s && *s) {
++ while (s && *s && !IsPlug()) {
+ switch (toupper(*s)) {
+ case 'B': s = ParseParameter(s, bandwidth, BandwidthValues); break;
+ case 'C': s = ParseParameter(s, coderateH, CoderateValues); break;
+@@ -736,7 +770,7 @@
+ dpids[0] = 0;
+ ok = false;
+ if (parambuf && sourcebuf && vpidbuf && apidbuf) {
+- ok = StringToParameters(parambuf) && (source = cSource::FromString(sourcebuf)) >= 0;
++ ok = ((source = cSource::FromString(sourcebuf)) >= 0) && StringToParameters(parambuf);
+
+ char *p = strchr(vpidbuf, '+');
+ if (p)
+@@ -827,6 +861,7 @@
+ shortName = strcpyrealloc(shortName, p);
+ }
+ name = strcpyrealloc(name, namebuf);
++ if (IsPlug()) pluginParam = strcpyrealloc(pluginParam, parambuf);
+
+ free(parambuf);
+ free(sourcebuf);
+diff -urNad vdr-1.6.0~/channels.h vdr-1.6.0/channels.h
+--- vdr-1.6.0~/channels.h 2009-05-03 16:08:42.000000000 +0200
++++ vdr-1.6.0/channels.h 2009-05-03 16:09:13.000000000 +0200
+@@ -114,6 +114,7 @@
+ char *shortName;
+ char *provider;
+ char *portalName;
++ char *pluginParam;
+ int __BeginData__;
+ int frequency; // MHz
+ int source;
+@@ -165,6 +166,7 @@
+ int Frequency(void) const { return frequency; } ///< Returns the actual frequency, as given in 'channels.conf'
+ int Transponder(void) const; ///< Returns the transponder frequency in MHz, plus the polarization in case of sat
+ static int Transponder(int Frequency, char Polarization); ///< builds the transponder from the given Frequency and Polarization
++ const char *PluginParam(void) const { return pluginParam; }
+ int Source(void) const { return source; }
+ int Srate(void) const { return srate; }
+ int Vpid(void) const { return vpid; }
+@@ -199,6 +201,7 @@
+ int Hierarchy(void) const { return hierarchy; }
+ const cLinkChannels* LinkChannels(void) const { return linkChannels; }
+ const cChannel *RefChannel(void) const { return refChannel; }
++ bool IsPlug(void) const { return cSource::IsPlug(source); }
+ bool IsCable(void) const { return cSource::IsCable(source); }
+ bool IsSat(void) const { return cSource::IsSat(source); }
+ bool IsTerr(void) const { return cSource::IsTerr(source); }
+@@ -206,12 +209,14 @@
+ bool HasTimer(void) const;
+ int Modification(int Mask = CHANNELMOD_ALL);
+ void CopyTransponderData(const cChannel *Channel);
++ bool SetPlugTransponderData(int Source, int Frequency, const char *PluginParam);
+ bool SetSatTransponderData(int Source, int Frequency, char Polarization, int Srate, int CoderateH);
+ bool SetCableTransponderData(int Source, int Frequency, int Modulation, int Srate, int CoderateH);
+ bool SetTerrTransponderData(int Source, int Frequency, int Bandwidth, int Modulation, int Hierarchy, int CodeRateH, int CodeRateL, int Guard, int Transmission);
+ void SetId(int Nid, int Tid, int Sid, int Rid = 0);
+ void SetName(const char *Name, const char *ShortName, const char *Provider);
+ void SetPortalName(const char *PortalName);
++ void SetPluginParam(const char *PluginParam);
+ void SetPids(int Vpid, int Ppid, int *Apids, char ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
+ void SetCaIds(const int *CaIds); // list must be zero-terminated
+ void SetCaDescriptors(int Level);
+diff -urNad vdr-1.6.0~/config.h vdr-1.6.0/config.h
+--- vdr-1.6.0~/config.h 2009-05-03 16:09:13.000000000 +0200
++++ vdr-1.6.0/config.h 2009-05-03 16:09:13.000000000 +0200
+@@ -30,6 +30,8 @@
+ #define APIVERSION "1.6.0"
+ #define APIVERSNUM 10600 // Version * 10000 + Major * 100 + Minor
+
++#define PLUGINPARAMPATCHVERSNUM 1
++
+ // When loading plugins, VDR searches them by their APIVERSION, which
+ // may be smaller than VDRVERSION in case there have been no changes to
+ // VDR header files since the last APIVERSION. This allows compiled
+diff -urNad vdr-1.6.0~/menu.c vdr-1.6.0/menu.c
+--- vdr-1.6.0~/menu.c 2009-05-03 16:09:13.000000000 +0200
++++ vdr-1.6.0/menu.c 2009-05-03 16:09:13.000000000 +0200
+@@ -256,6 +256,7 @@
+ cChannel *channel;
+ cChannel data;
+ char name[256];
++ char pluginParam[256];
+ void Setup(void);
+ public:
+ cMenuEditChannel(cChannel *Channel, bool New = false);
+@@ -288,6 +289,7 @@
+
+ // Parameters for all types of sources:
+ strn0cpy(name, data.name, sizeof(name));
++ strn0cpy(pluginParam, data.pluginParam, sizeof(pluginParam));
+ Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name)));
+ Add(new cMenuEditSrcItem( tr("Source"), &data.source));
+ Add(new cMenuEditIntItem( tr("Frequency"), &data.frequency));
+@@ -318,6 +320,7 @@
+ ST(" T") Add(new cMenuEditMapItem( tr("Transmission"), &data.transmission, TransmissionValues));
+ ST(" T") Add(new cMenuEditMapItem( tr("Guard"), &data.guard, GuardValues));
+ ST(" T") Add(new cMenuEditMapItem( tr("Hierarchy"), &data.hierarchy, HierarchyValues, tr("none")));
++ ST("P ") Add(new cMenuEditStrItem( tr("Parameters"), pluginParam, sizeof(pluginParam), tr(FileNameChars)));
+
+ SetCurrent(Get(current));
+ Display();
+@@ -332,6 +335,7 @@
+ if (Key == kOk) {
+ if (Channels.HasUniqueChannelID(&data, channel)) {
+ data.name = strcpyrealloc(data.name, name);
++ data.pluginParam = strcpyrealloc(data.pluginParam, pluginParam);
+ if (channel) {
+ *channel = data;
+ isyslog("edited channel %d %s", channel->Number(), *data.ToText());
+diff -urNad vdr-1.6.0~/po/fi_FI.po vdr-1.6.0/po/fi_FI.po
+--- vdr-1.6.0~/po/fi_FI.po 2009-05-03 16:09:12.000000000 +0200
++++ vdr-1.6.0/po/fi_FI.po 2009-05-03 16:09:42.000000000 +0200
+@@ -1049,3 +1049,6 @@
+
+ msgid "Setup.Recording$Show length"
+ msgstr "Näytä tallenteen kesto"
++
++msgid "Parameters"
++msgstr "Parametrit"
+diff -urNad vdr-1.6.0~/po/fr_FR.po vdr-1.6.0/po/fr_FR.po
+--- vdr-1.6.0~/po/fr_FR.po 2009-05-03 16:09:13.000000000 +0200
++++ vdr-1.6.0/po/fr_FR.po 2009-05-03 16:10:02.000000000 +0200
+@@ -1079,3 +1079,6 @@
+
+ msgid "Setup.Recording$Show length"
+ msgstr "Montrer la longueur de l'enregistrement"
++
++msgid "Parameters"
++msgstr "Paramètres"
+diff -urNad vdr-1.6.0~/sources.c vdr-1.6.0/sources.c
+--- vdr-1.6.0~/sources.c 2009-05-03 16:08:42.000000000 +0200
++++ vdr-1.6.0/sources.c 2009-05-03 16:09:13.000000000 +0200
+@@ -37,6 +37,7 @@
+ char buffer[16];
+ char *q = buffer;
+ switch (Code & st_Mask) {
++ case stPlug: *q++ = 'P'; break;
+ case stCable: *q++ = 'C'; break;
+ case stSat: *q++ = 'S';
+ {
+@@ -56,6 +57,7 @@
+ {
+ int type = stNone;
+ switch (toupper(*s)) {
++ case 'P': type = stPlug; break;
+ case 'C': type = stCable; break;
+ case 'S': type = stSat; break;
+ case 'T': type = stTerr; break;
+diff -urNad vdr-1.6.0~/sources.conf vdr-1.6.0/sources.conf
+--- vdr-1.6.0~/sources.conf 2009-05-03 16:09:12.000000000 +0200
++++ vdr-1.6.0/sources.conf 2009-05-03 16:09:13.000000000 +0200
+@@ -194,3 +194,7 @@
+ # Terrestrial
+
+ T Terrestrial
++
++# Plugin
++
++P Plugin
+diff -urNad vdr-1.6.0~/sources.h vdr-1.6.0/sources.h
+--- vdr-1.6.0~/sources.h 2009-05-03 16:08:42.000000000 +0200
++++ vdr-1.6.0/sources.h 2009-05-03 16:09:13.000000000 +0200
+@@ -16,10 +16,11 @@
+ public:
+ enum eSourceType {
+ stNone = 0x0000,
++ stPlug = 0x2000,
+ stCable = 0x4000,
+ stSat = 0x8000,
+ stTerr = 0xC000,
+- st_Mask = 0xC000,
++ st_Mask = 0xE000,
+ st_Neg = 0x0800,
+ st_Pos = 0x07FF,
+ };
+@@ -35,6 +36,7 @@
+ static cString ToString(int Code);
+ static int FromString(const char *s);
+ static int FromData(eSourceType SourceType, int Position = 0, bool East = false);
++ static bool IsPlug(int Code) { return (Code & st_Mask) == stPlug; }
+ static bool IsCable(int Code) { return (Code & st_Mask) == stCable; }
+ static bool IsSat(int Code) { return (Code & st_Mask) == stSat; }
+ static bool IsTerr(int Code) { return (Code & st_Mask) == stTerr; }
Modified: vdr/vdr/trunk/debian/plugin-template/control
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/plugin-template/control?rev=7781&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/plugin-template/control (original)
+++ vdr/vdr/trunk/debian/plugin-template/control Wed May 6 19:38:30 2009
@@ -1,5 +1,5 @@
Source: #PACKAGE#
-Section: misc
+Section: video
Priority: extra
Maintainer: #USERNAME# <#EMAIL#>
Build-Depends: #BUILD_DEPS#, vdr-dev (>= #VDRVERSION#), gettext
@@ -13,4 +13,3 @@
Depends: ${shlibs:Depends}, ${misc:Depends}, ${vdr:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
-XB-VDR-Patchlevel: ${vdr:Patchlevel}
More information about the pkg-vdr-dvb-changes
mailing list