VDR developer version 2.1.3 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.3.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.2-2.1.3.diff
MD5 checksums:
054f80e0045aa6fad118e9285b52f4f2 vdr-2.1.3.tar.bz2 3c5ab05d5c4d0b984b34e84190e80949 vdr-2.1.2-2.1.3.diff
WARNING: ========
This is a *developer* version. Even though *I* use it in my productive environment, I strongly recommend that you only use it under controlled conditions and for testing and debugging.
Originally I intended to release this version only after the new DiSEqC configuration dialog was finished. But in the meantime quite a few other things have come up, so I decided to postpone that dialog and first release what has piled up so far.
The changes since version 2.1.2:
- Changed the return value of cPositioner::HorizonLongitude() to 0 in case the latitude of the antenna location is beyond +/-81 degrees. - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed some compiler warnings with gcc-4.6.3 (thanks to Rolf Ahrenberg). - Changed the name of the SVDRP command RENR to MOVR (suggested by Rolf Ahrenberg). - When cutting a recording it is now checked whether there is already an edited version of this recording (with the same name, but starting with '%'), and the user is prompted for confirmation to overwrite it (suggested by Rolf Ahrenberg). - Revoked "Added maximum signal strength value for TechniSat SkyStar 2 DVB-S rev 2.3P" because it broke things for the "TechniSat AirStar 2" DVB-T card. - The LIRC remote control now connects to the socket even if it doesn't yet exist when VDR is started (thanks to Lars Hanisch). - Changed the absolute latitude limit for visible satellites to 81.2 degrees. - Added code for parsing LCN and AVC descriptors to libsi (thanks to Rolf Ahrenberg). - In the "Select folder" menu pressing Ok now selects the folder, even if this is a folder that contains sub folders (marked with "..."). To open such a folder you can press the Red key. - Fixed a possible access to uninitialized data in cEIT::cEIT() (reported by Dominik Strasser). - The new menu category mcRecordingEdit is now used to mark menus that edit recording properties (suggested by Stefan Braun). - Changes in the teletext PID no longer cause retuning (and thus interrupting a recording). - Removed '_' from the FileNameChars and CharMap translations in uk_UA.po. - Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed a missing initialization in the c'tor of cSkinLCARSDisplayChannel (thanks to Marko Mäkelä). - Simplified some conditional expressions in skinlcars.c and skinsttng.c (suggested by Marko Mäkelä). - Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu (reported by Marko Mäkelä). - Fixed a possible crash if the recordings list is updated externally while the Recordings menu is open (reported by Lars Hanisch). - Added a missing closing ')' in the help and man page entry of the --vfat option (reported by Lars Hanisch). - Fixed setting the name of the video directory to avoid a crash when using --genindex, and also to use the correct directory with --edit (the latter reported by Marko Mäkelä). - The Recordings menu can now be called with a cRecordingFilter, which allows the caller to have it display only a certain subset of the recordings (thanks to Lars Hanisch). - Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to Lars Hanisch). - Made it clear that the Data parameter in cDevice::StillPicture() may point to a series of packets, not just a single one (thanks to Thomas Reufer). - cDevice::TrickSpeed() now has an additional parameter named Forward, which indicates the direction in which replay is being done (suggested by Thomas Reufer). This information may be necessary for some output devices in order to properly implement trick modes. Authors of plugins that implement output devices will need to add this parameter to their derived cDevice class, regardless of whether they will make use of it or not. - Added a note to ePlayMode in device.h that VDR itself always uses pmAudioVideo when replaying a recording (suggested by Thomas Reufer). - Fixed some spellings in positioner.h and Doxyfile (thanks to Ville Skyttä). - Changed '%a' to the POSIX compliant '%m' in all scanf() calls (thanks to Ville Skyttä). - The new function cCamSlot::Decrypt() can be used by derived classes to implement a CAM slot that can be freely assigned to any device, without being directly inserted into the full TS data stream in hardware. A derived class that implements Decrypt() will also need to set the new parameter ReceiveCaPids in the call to the cCamSlot base class constructor to true, in order to receive the CA pid TS packets that contain data necessary for decrypting. - Many member functions of cCamSlot have been made virtual to allow for easier implementation of derived classes. - cTSBuffer now provides the number of available bytes in its Get() function. - cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to allow CAM slots that can be freely assigned to any device access to the TS data stream. - Added a check to avoid a possible NULL pointer dereference in cCiSession::SendData() (reported by Ville Skyttä). - Deleted a superfluous assignment in cPipe::Open() (reported by Ville Skyttä). - The script given to VDR with the '-r' option is now also called after the recording process has actually started (thanks to Christian Kaiser). - Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks to Ville Skyttä). Plugin authors may want to apply the following change to their Makefile: -PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr)) - Eliminated MAXDVBDEVICES (suggested by Oliver Endriss). - Channels that are no longer contained in the current SDT of a transponder are now marked with the keyword OBSOLETE in their name and provider fields. That way you can identify obsolete channels when you switch to them, and you can get the complete overview of all obsolete channels by sorting the Channels list by provider (by pressing the 0 key twice). Automatic deletion of obsolete channels may follow later.
Have fun!
Klaus
Am 05.01.2014 12:42, schrieb Klaus Schmidinger:
VDR developer version 2.1.3 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.3.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.2-2.1.3.diff
MD5 checksums:
054f80e0045aa6fad118e9285b52f4f2 vdr-2.1.3.tar.bz2 3c5ab05d5c4d0b984b34e84190e80949 vdr-2.1.2-2.1.3.diff
WARNING:
This is a *developer* version. Even though *I* use it in my productive environment, I strongly recommend that you only use it under controlled conditions and for testing and debugging.
Originally I intended to release this version only after the new DiSEqC configuration dialog was finished. But in the meantime quite a few other things have come up, so I decided to postpone that dialog and first release what has piled up so far.
The changes since version 2.1.2:
- Changed the return value of cPositioner::HorizonLongitude() to 0 in case the latitude of the antenna location is beyond +/-81 degrees.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed some compiler warnings with gcc-4.6.3 (thanks to Rolf Ahrenberg).
- Changed the name of the SVDRP command RENR to MOVR (suggested by Rolf Ahrenberg).
- When cutting a recording it is now checked whether there is already an edited version of this recording (with the same name, but starting with '%'), and the user is prompted for confirmation to overwrite it (suggested by Rolf Ahrenberg).
- Revoked "Added maximum signal strength value for TechniSat SkyStar 2 DVB-S rev 2.3P" because it broke things for the "TechniSat AirStar 2" DVB-T card.
- The LIRC remote control now connects to the socket even if it doesn't yet exist when VDR is started (thanks to Lars Hanisch).
- Changed the absolute latitude limit for visible satellites to 81.2 degrees.
- Added code for parsing LCN and AVC descriptors to libsi (thanks to Rolf Ahrenberg).
- In the "Select folder" menu pressing Ok now selects the folder, even if this is a folder that contains sub folders (marked with "..."). To open such a folder you can press the Red key.
- Fixed a possible access to uninitialized data in cEIT::cEIT() (reported by Dominik Strasser).
- The new menu category mcRecordingEdit is now used to mark menus that edit recording properties (suggested by Stefan Braun).
- Changes in the teletext PID no longer cause retuning (and thus interrupting a recording).
- Removed '_' from the FileNameChars and CharMap translations in uk_UA.po.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed a missing initialization in the c'tor of cSkinLCARSDisplayChannel (thanks to Marko Mäkelä).
- Simplified some conditional expressions in skinlcars.c and skinsttng.c (suggested by Marko Mäkelä).
- Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu (reported by Marko Mäkelä).
- Fixed a possible crash if the recordings list is updated externally while the Recordings menu is open (reported by Lars Hanisch).
- Added a missing closing ')' in the help and man page entry of the --vfat option (reported by Lars Hanisch).
- Fixed setting the name of the video directory to avoid a crash when using --genindex, and also to use the correct directory with --edit (the latter reported by Marko Mäkelä).
- The Recordings menu can now be called with a cRecordingFilter, which allows the caller to have it display only a certain subset of the recordings (thanks to Lars Hanisch).
- Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to Lars Hanisch).
- Made it clear that the Data parameter in cDevice::StillPicture() may point to a series of packets, not just a single one (thanks to Thomas Reufer).
- cDevice::TrickSpeed() now has an additional parameter named Forward, which indicates the direction in which replay is being done (suggested by Thomas Reufer). This information may be necessary for some output devices in order to properly implement trick modes. Authors of plugins that implement output devices will need to add this parameter to their derived cDevice class, regardless of whether they will make use of it or not.
- Added a note to ePlayMode in device.h that VDR itself always uses pmAudioVideo when replaying a recording (suggested by Thomas Reufer).
- Fixed some spellings in positioner.h and Doxyfile (thanks to Ville Skyttä).
- Changed '%a' to the POSIX compliant '%m' in all scanf() calls (thanks to Ville Skyttä).
- The new function cCamSlot::Decrypt() can be used by derived classes to implement a CAM slot that can be freely assigned to any device, without being directly inserted into the full TS data stream in hardware. A derived class that implements Decrypt() will also need to set the new parameter ReceiveCaPids in the call to the cCamSlot base class constructor to true, in order to receive the CA pid TS packets that contain data necessary for decrypting.
- Many member functions of cCamSlot have been made virtual to allow for easier implementation of derived classes.
- cTSBuffer now provides the number of available bytes in its Get() function.
- cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to allow CAM slots that can be freely assigned to any device access to the TS data stream.
- Added a check to avoid a possible NULL pointer dereference in cCiSession::SendData() (reported by Ville Skyttä).
- Deleted a superfluous assignment in cPipe::Open() (reported by Ville Skyttä).
- The script given to VDR with the '-r' option is now also called after the recording process has actually started (thanks to Christian Kaiser).
- Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks to Ville Skyttä). Plugin authors may want to apply the following change to their Makefile: -PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr
|| pkg-config --variable=$(1) ../../../vdr.pc)) +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
- Eliminated MAXDVBDEVICES (suggested by Oliver Endriss).
- Channels that are no longer contained in the current SDT of a transponder are now marked with the keyword OBSOLETE in their name and provider fields. That way you can identify obsolete channels when you switch to them, and you can get the complete overview of all obsolete channels by sorting the Channels list by provider (by pressing the 0 key twice). Automatic deletion of obsolete channels may follow later.
Have fun!
I will! :) Thanks for a bunch of little gems in this release like "obsolete channels". Have to dig into the new CAM stuff, maybe now it's possible to integrate the CI of Digital Devices...
Lars.
Klaus
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
I will! :)
Who not ... ;-)
Thanks for a bunch of little gems in this release like "obsolete channels".
Yes, indeed ... :tup
Have to dig into the new CAM stuff, maybe now it's possible to integrate the CI of Digital Devices...
That would be great, christmas has gone recently, but I wouldn't say no for delayed present.
=== Kind regards fnu
-----Original Message----- From: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] On Behalf Of Lars Hanisch Sent: Sunday, January 05, 2014 12:54 PM To: vdr@linuxtv.org Subject: Re: [vdr] [ANNOUNCE] VDR developer version 2.1.3
Am 05.01.2014 12:42, schrieb Klaus Schmidinger:
VDR developer version 2.1.3 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.3.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.2-2.1.3.diff
MD5 checksums:
054f80e0045aa6fad118e9285b52f4f2 vdr-2.1.3.tar.bz2 3c5ab05d5c4d0b984b34e84190e80949 vdr-2.1.2-2.1.3.diff
WARNING:
This is a *developer* version. Even though *I* use it in my productive environment, I strongly recommend that you only use it under controlled conditions and for testing and debugging.
Originally I intended to release this version only after the new DiSEqC configuration dialog was finished. But in the meantime quite a few other things have come up, so I decided to postpone that dialog and first release what has piled up so far.
The changes since version 2.1.2:
- Changed the return value of cPositioner::HorizonLongitude() to 0 in
case the
latitude of the antenna location is beyond +/-81 degrees.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed some compiler warnings with gcc-4.6.3 (thanks to Rolf
Ahrenberg).
- Changed the name of the SVDRP command RENR to MOVR (suggested by
Rolf Ahrenberg).
- When cutting a recording it is now checked whether there is already
an edited
version of this recording (with the same name, but starting with
'%'), and the
user is prompted for confirmation to overwrite it (suggested by Rolf
Ahrenberg).
- Revoked "Added maximum signal strength value for TechniSat SkyStar 2
DVB-S rev 2.3P"
because it broke things for the "TechniSat AirStar 2" DVB-T card.
- The LIRC remote control now connects to the socket even if it
doesn't yet exist when
VDR is started (thanks to Lars Hanisch).
- Changed the absolute latitude limit for visible satellites to 81.2
degrees.
- Added code for parsing LCN and AVC descriptors to libsi (thanks to
Rolf Ahrenberg).
- In the "Select folder" menu pressing Ok now selects the folder, even
if this is a
folder that contains sub folders (marked with "..."). To open such a
folder you
can press the Red key.
- Fixed a possible access to uninitialized data in cEIT::cEIT()
(reported by Dominik
Strasser).
- The new menu category mcRecordingEdit is now used to mark menus that
edit recording
properties (suggested by Stefan Braun).
- Changes in the teletext PID no longer cause retuning (and thus
interrupting a
recording).
- Removed '_' from the FileNameChars and CharMap translations in
uk_UA.po.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed a missing initialization in the c'tor of
cSkinLCARSDisplayChannel (thanks to
Marko Mäkelä).
- Simplified some conditional expressions in skinlcars.c and
skinsttng.c (suggested
by Marko Mäkelä).
- Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu
(reported by
Marko Mäkelä).
- Fixed a possible crash if the recordings list is updated externally
while the
Recordings menu is open (reported by Lars Hanisch).
- Added a missing closing ')' in the help and man page entry of the --
vfat option
(reported by Lars Hanisch).
- Fixed setting the name of the video directory to avoid a crash when
using --genindex,
and also to use the correct directory with --edit (the latter
reported by Marko
Mäkelä).
- The Recordings menu can now be called with a cRecordingFilter, which
allows the
caller to have it display only a certain subset of the recordings
(thanks to Lars
Hanisch).
- Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to
Lars Hanisch).
- Made it clear that the Data parameter in cDevice::StillPicture() may
point to a
series of packets, not just a single one (thanks to Thomas Reufer).
- cDevice::TrickSpeed() now has an additional parameter named Forward,
which indicates
the direction in which replay is being done (suggested by Thomas
Reufer). This
information may be necessary for some output devices in order to
properly implement
trick modes. Authors of plugins that implement output devices will
need to add this
parameter to their derived cDevice class, regardless of whether they
will make use
of it or not.
- Added a note to ePlayMode in device.h that VDR itself always uses
pmAudioVideo when
replaying a recording (suggested by Thomas Reufer).
- Fixed some spellings in positioner.h and Doxyfile (thanks to Ville
Skyttä).
- Changed '%a' to the POSIX compliant '%m' in all scanf() calls
(thanks to Ville
Skyttä).
- The new function cCamSlot::Decrypt() can be used by derived classes
to implement a
CAM slot that can be freely assigned to any device, without being
directly inserted
into the full TS data stream in hardware. A derived class that
implements Decrypt()
will also need to set the new parameter ReceiveCaPids in the call to
the cCamSlot
base class constructor to true, in order to receive the CA pid TS
packets that
contain data necessary for decrypting.
- Many member functions of cCamSlot have been made virtual to allow
for easier
implementation of derived classes.
- cTSBuffer now provides the number of available bytes in its Get()
function.
- cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to
allow CAM slots
that can be freely assigned to any device access to the TS data
stream.
- Added a check to avoid a possible NULL pointer dereference in
cCiSession::SendData()
(reported by Ville Skyttä).
- Deleted a superfluous assignment in cPipe::Open() (reported by Ville
Skyttä).
- The script given to VDR with the '-r' option is now also called
after the recording
process has actually started (thanks to Christian Kaiser).
- Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks
to Ville Skyttä).
Plugin authors may want to apply the following change to their
Makefile:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
- Eliminated MAXDVBDEVICES (suggested by Oliver Endriss).
- Channels that are no longer contained in the current SDT of a
transponder are now
marked with the keyword OBSOLETE in their name and provider fields.
That way you can
identify obsolete channels when you switch to them, and you can get
the complete
overview of all obsolete channels by sorting the Channels list by
provider (by
pressing the 0 key twice). Automatic deletion of obsolete channels
may follow later.
Have fun!
I will! :) Thanks for a bunch of little gems in this release like "obsolete channels". Have to dig into the new CAM stuff, maybe now it's possible to integrate the CI of Digital Devices...
Lars.
Klaus
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Am 05.01.2014 13:01, schrieb fnu:
I will! :)
Who not ... ;-)
Thanks for a bunch of little gems in this release like "obsolete channels".
Yes, indeed ... :tup
Have to dig into the new CAM stuff, maybe now it's possible to integrate the CI of Digital Devices...
That would be great, christmas has gone recently, but I wouldn't say no for delayed present.
"I'll do my very best..." :)
Lars.
=== Kind regards fnu
-----Original Message----- From: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] On Behalf Of Lars Hanisch Sent: Sunday, January 05, 2014 12:54 PM To: vdr@linuxtv.org Subject: Re: [vdr] [ANNOUNCE] VDR developer version 2.1.3
Am 05.01.2014 12:42, schrieb Klaus Schmidinger:
VDR developer version 2.1.3 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.3.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.1.2-2.1.3.diff
MD5 checksums:
054f80e0045aa6fad118e9285b52f4f2 vdr-2.1.3.tar.bz2 3c5ab05d5c4d0b984b34e84190e80949 vdr-2.1.2-2.1.3.diff
WARNING:
This is a *developer* version. Even though *I* use it in my productive environment, I strongly recommend that you only use it under controlled conditions and for testing and debugging.
Originally I intended to release this version only after the new DiSEqC configuration dialog was finished. But in the meantime quite a few other things have come up, so I decided to postpone that dialog and first release what has piled up so far.
The changes since version 2.1.2:
- Changed the return value of cPositioner::HorizonLongitude() to 0 in
case the
latitude of the antenna location is beyond +/-81 degrees.
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed some compiler warnings with gcc-4.6.3 (thanks to Rolf
Ahrenberg).
- Changed the name of the SVDRP command RENR to MOVR (suggested by
Rolf Ahrenberg).
- When cutting a recording it is now checked whether there is already
an edited
version of this recording (with the same name, but starting with
'%'), and the
user is prompted for confirmation to overwrite it (suggested by Rolf
Ahrenberg).
- Revoked "Added maximum signal strength value for TechniSat SkyStar 2
DVB-S rev 2.3P"
because it broke things for the "TechniSat AirStar 2" DVB-T card.
- The LIRC remote control now connects to the socket even if it
doesn't yet exist when
VDR is started (thanks to Lars Hanisch).
- Changed the absolute latitude limit for visible satellites to 81.2
degrees.
- Added code for parsing LCN and AVC descriptors to libsi (thanks to
Rolf Ahrenberg).
- In the "Select folder" menu pressing Ok now selects the folder, even
if this is a
folder that contains sub folders (marked with "..."). To open such a
folder you
can press the Red key.
- Fixed a possible access to uninitialized data in cEIT::cEIT()
(reported by Dominik
Strasser).
- The new menu category mcRecordingEdit is now used to mark menus that
edit recording
properties (suggested by Stefan Braun).
- Changes in the teletext PID no longer cause retuning (and thus
interrupting a
recording).
- Removed '_' from the FileNameChars and CharMap translations in
uk_UA.po.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed a missing initialization in the c'tor of
cSkinLCARSDisplayChannel (thanks to
Marko Mäkelä).
- Simplified some conditional expressions in skinlcars.c and
skinsttng.c (suggested
by Marko Mäkelä).
- Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu
(reported by
Marko Mäkelä).
- Fixed a possible crash if the recordings list is updated externally
while the
Recordings menu is open (reported by Lars Hanisch).
- Added a missing closing ')' in the help and man page entry of the --
vfat option
(reported by Lars Hanisch).
- Fixed setting the name of the video directory to avoid a crash when
using --genindex,
and also to use the correct directory with --edit (the latter
reported by Marko
Mäkelä).
- The Recordings menu can now be called with a cRecordingFilter, which
allows the
caller to have it display only a certain subset of the recordings
(thanks to Lars
Hanisch).
- Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to
Lars Hanisch).
- Made it clear that the Data parameter in cDevice::StillPicture() may
point to a
series of packets, not just a single one (thanks to Thomas Reufer).
- cDevice::TrickSpeed() now has an additional parameter named Forward,
which indicates
the direction in which replay is being done (suggested by Thomas
Reufer). This
information may be necessary for some output devices in order to
properly implement
trick modes. Authors of plugins that implement output devices will
need to add this
parameter to their derived cDevice class, regardless of whether they
will make use
of it or not.
- Added a note to ePlayMode in device.h that VDR itself always uses
pmAudioVideo when
replaying a recording (suggested by Thomas Reufer).
- Fixed some spellings in positioner.h and Doxyfile (thanks to Ville
Skyttä).
- Changed '%a' to the POSIX compliant '%m' in all scanf() calls
(thanks to Ville
Skyttä).
- The new function cCamSlot::Decrypt() can be used by derived classes
to implement a
CAM slot that can be freely assigned to any device, without being
directly inserted
into the full TS data stream in hardware. A derived class that
implements Decrypt()
will also need to set the new parameter ReceiveCaPids in the call to
the cCamSlot
base class constructor to true, in order to receive the CA pid TS
packets that
contain data necessary for decrypting.
- Many member functions of cCamSlot have been made virtual to allow
for easier
implementation of derived classes.
- cTSBuffer now provides the number of available bytes in its Get()
function.
- cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to
allow CAM slots
that can be freely assigned to any device access to the TS data
stream.
- Added a check to avoid a possible NULL pointer dereference in
cCiSession::SendData()
(reported by Ville Skyttä).
- Deleted a superfluous assignment in cPipe::Open() (reported by Ville
Skyttä).
- The script given to VDR with the '-r' option is now also called
after the recording
process has actually started (thanks to Christian Kaiser).
- Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks
to Ville Skyttä).
Plugin authors may want to apply the following change to their
Makefile:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
- Eliminated MAXDVBDEVICES (suggested by Oliver Endriss).
- Channels that are no longer contained in the current SDT of a
transponder are now
marked with the keyword OBSOLETE in their name and provider fields.
That way you can
identify obsolete channels when you switch to them, and you can get
the complete
overview of all obsolete channels by sorting the Channels list by
provider (by
pressing the 0 key twice). Automatic deletion of obsolete channels
may follow later.
Have fun!
I will! :) Thanks for a bunch of little gems in this release like "obsolete channels". Have to dig into the new CAM stuff, maybe now it's possible to integrate the CI of Digital Devices...
Lars.
Klaus
The changes since version 2.1.2:
- The new function cCamSlot::Decrypt() can be used by derived classes to implement a CAM slot that can be freely assigned to any device, without being directly inserted into the full TS data stream in hardware. A derived class that implements Decrypt() will also need to set the new parameter ReceiveCaPids in the call to the cCamSlot base class constructor to true, in order to receive the CA pid TS packets that contain data necessary for decrypting.
- Many member functions of cCamSlot have been made virtual to allow for easier implementation of derived classes.
- cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to allow CAM slots that can be freely assigned to any device access to the TS data stream.
This is very exiting to me.I only watch one channel at a time, but I would like to record multiple channels at the same time. I am investigating if it's possible to move the decryption functionality from recording to playback time. This allows me to run VDR on an underpowered platform that is fast enough to record multiple shows, but only has the CPU power to decrypt one channel. (My NAS would be such a platform)
Receiving all caPID's is a big step in that direction. Maybe I can alter VDR so that it produces a recording containing the caPID's, the keys from oscam and the audio /video data. Next, during playback I can then feed it through libdvbcsa. Also, when the CPU has some time available, it can decode TV shows in a low-priority process. This will further reduce the "realtime" CPU load.
I wonder if there is a standard-compliant way to store the decryption keys in the resulting .ts file.
Thank you for your hard work!.
Kind regards, Cedric
Hi,
Am 05.01.2014 12:42, schrieb Klaus Schmidinger:
The changes since version 2.1.2:
- Channels that are no longer contained in the current SDT of a transponder are now marked with the keyword OBSOLETE in their name and provider fields. That way you can identify obsolete channels when you switch to them, and you can get the complete overview of all obsolete channels by sorting the Channels list by provider (by pressing the 0 key twice). Automatic deletion of obsolete channels may follow later.
What about channels on transponders which no longer get a lock while tuning, like S13.0E, 10930 H?
Shouldn't those channels be declared OBSOLTE too, when a SDT hasn't been received?
Maybe this should only be done if the device doesn't have a lock either, to avoid false positives.
But this still seems error prone -- looks like a more complex solution is needed which keeps track of how often a transponder has been seen dead over a certain period of time before declaring these channels OBSOLETE (and later delete them automatically).
I don't know if it is worth to extend the file format of channels.conf for that tracking, but at least in memory VDR could keep track of that, starting from scratch whenever VDR is restarted.
Bye.
On 06.01.2014 09:59, Reinhard Nissl wrote:
Hi,
Am 05.01.2014 12:42, schrieb Klaus Schmidinger:
The changes since version 2.1.2:
- Channels that are no longer contained in the current SDT of a transponder are now marked with the keyword OBSOLETE in their name and provider fields. That way you can identify obsolete channels when you switch to them, and you can get the complete overview of all obsolete channels by sorting the Channels list by provider (by pressing the 0 key twice). Automatic deletion of obsolete channels may follow later.
What about channels on transponders which no longer get a lock while tuning, like S13.0E, 10930 H?
The current way of detecting obsolete channels can only work if the transponder can still be received and a complete SDT is parsed. After that it is absolutely clear that any channel still in VDRs list, but not in the SDT, is obsolete.
Shouldn't those channels be declared OBSOLTE too, when a SDT hasn't been received?
Maybe this should only be done if the device doesn't have a lock either, to avoid false positives.
There could be various reasons why a device might not have a lock, like a broken cable, bad weather, snow on the dish, or maybe the uplink for that particular transponder is temporarily interrupted.
But this still seems error prone -- looks like a more complex solution is needed which keeps track of how often a transponder has been seen dead over a certain period of time before declaring these channels OBSOLETE (and later delete them automatically).
I don't know if it is worth to extend the file format of channels.conf for that tracking,
I do know: it is *not* ;-). The channels.conf file shall contain only information that is broadcast in the SI data. It's bad enough we have the infamous RID in there...
but at least in memory VDR could keep track of that, starting from scratch whenever VDR is restarted.
Maybe detecting "dead transponders" could work by checking whether any other transponder on the same source (and band (high/low, hor/ver) in case of DVB-S) can actually be received. If one transponder can't be received, but others on the same source/band can, then chances are the transponder is dead (unless the problem is with the uplink). However, I'm afraid this requires quite a bit more work than the simple detection of channels that are no longer in the SDT...
Klaus
Am 06.01.2014 09:59, schrieb Reinhard Nissl:
But this still seems error prone -- looks like a more complex solution is needed which keeps track of how often a transponder has been seen dead over a certain period of time before declaring these channels OBSOLETE (and later delete them automatically).
I don't know if it is worth to extend the file format of channels.conf for that tracking, but at least in memory VDR could keep track of that, starting from scratch whenever VDR is restarted.
I have a little patch running doing exactly this, the patch just tracks the last-seen timestamp within the running session, or the state 'not seen in this session'. Load/save is not implemented, everything gets reset at program start. Its a whopping 8-lines patch.
This is accompanied by a plugin that extends the last-seen time by syncing with the patch data from time to time, and keep the time together with the channel ID persistently stored in a separate file.
If a channel wasn't announced for a month, it gets marked as gone. However, this doesn't differentiate why a channel wasn't seen, for example because the machine was off for a longer time, or the required receiver isn't connected.
Cheers,
Udo
Whatever gets implemented, please make sure the user can disable it. I can't remember why but VDR's internal channel population has never worked right for NA so it's better to be kept as optional when it comes to auto-removing channels, parsing si tables, etc.