Discussion:
[vdr] [ANNOUNCE] VDR developer version 1.7.26
(too old to reply)
Klaus Schmidinger
2012-03-10 15:18:25 UTC
Permalink
VDR developer version 1.7.26 is now available at

ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.26.tar.bz2

A 'diff' against the previous version is available at

ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.25-1.7.26.diff

MD5 checksums:

eb57398e44935ecb0bfc532bdfead312 vdr-1.7.26.tar.bz2
62e0f39e2c53ec2b5abd3ebb0e00ce3d vdr-1.7.25-1.7.26.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.


The changes since version 1.7.25:

- Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich).
- Fixed the German translation of "VDR will shut down in %s minutes" (thanks to
Frank Neumann).
- The replay progress display is now turned on whenever a mark is toggled (not
only when one is set).
- Toggling a mark now restarts the timeout of the replay progress display.
- Fixed a possible race condition with the SVDRP commands CLRE and PUTE, where
EPG data from the transponder could be handled even though it shouldn't be
handled for 10 seconds.
- Added some missing member initializations in cBitmap.
- Improved displaying the play mode in the ST:TNG skin.
- Made the ST:TNG skin the default in case the user selected skin is not available.
- Improved displaying signal strength and quality in the ST:TNG skin's channel
display.
- Fixed switching devices to the transponders of VPS recordings in case there
are only bonded devices. The cDevice's "avoid device" mechanism has been replaced
by using "occupied".
- Fixed selecting devices for the EPG scan in case the primary device is bonded
with an other one.
- Removed the calls to EITScanner.UsesDevice(this) from dvb[hs]ddevice.c, because
the code following these calls is only executed if LiveView is true, which is
never the case when the EITScanner switches to a channel.
- Removed the obsolete function cEITScanner::UsesDevice(). If a plugin has used this
function to find out whether a call to its cStatus::ChannelSwitch() function was
due to a live channel switch, it can use that function's new parameter LiveView.
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
'bool LiveView' to that function.
- Fixed parsing channel data in case the audio pid is 0. On channels that only
broadcast Dolby Digital audio there were sometimes log entries like
"changing pids of channel ... from ... to ..." with no apparent difference
between the old and new set of pids.
- Fixed checking pids in case a channel has only Dolby Digital audio.
- The Green button in the "Edit timer" menu can now be used to toggle between single
shot and repeating timers. This is the same as pressing '0' when the "Day" field
is selected, but it works at any time (and is more obvious).
- Revoked "If the first event in a schedule has a table id of 0x00, any incoming EIT data for
that schedule from the DVB stream will be completely ignored".
- Added a new plugin interface for implementing EPG handlers.
+ A plugin can implement an EPG handler by creating an object derived from
cEpgHandler and implementing the necessary member functions.
+ The special handling of events with table id 0x00 has been dropped.
For backwards compatibility EPG events with table ids lower than 0x4E will
be treated as if they had a table id of 0x4E, and the new plugin 'epgtableid0'
can be used to have them handled like in previous versions.
+ The default table id for a newly created cEvent has been changed to 0xFF,
which is higher than any normal table id that is broadcast in the EIT data.
See PLUGINS.html, section "Electronic Program Guide" for more information.

Have fun!

Klaus
Lars Hanisch
2012-03-10 18:16:29 UTC
Permalink
Hi,
Post by Klaus Schmidinger
- Added a new plugin interface for implementing EPG handlers.
+ A plugin can implement an EPG handler by creating an object derived from
cEpgHandler and implementing the necessary member functions.
+ The special handling of events with table id 0x00 has been dropped.
For backwards compatibility EPG events with table ids lower than 0x4E will
be treated as if they had a table id of 0x4E, and the new plugin 'epgtableid0'
can be used to have them handled like in previous versions.
+ The default table id for a newly created cEvent has been changed to 0xFF,
which is higher than any normal table id that is broadcast in the EIT data.
See PLUGINS.html, section "Electronic Program Guide" for more information.
Damn, too late for today... :-)
Just finished the noepg-plugin-skeleton at

https://github.com/flensrocker/vdr-plugin-noepg

but have no time now for really testing that.

Thanks!

Lars.
Post by Klaus Schmidinger
Have fun!
Klaus
_______________________________________________
vdr mailing list
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Mika Laitio
2012-03-10 19:26:36 UTC
Permalink
Post by Lars Hanisch
Damn, too late for today... :-)
Just finished the noepg-plugin-skeleton at
So according to README this plug-in replaces the noepg.patch.
What is the functionality/purpose of this noepg patch/plugin?

Mika
Steffen Barszus
2012-03-10 22:57:52 UTC
Permalink
On Sat, 10 Mar 2012 21:26:36 +0200
Post by Mika Laitio
Post by Lars Hanisch
Damn, too late for today... :-)
Just finished the noepg-plugin-skeleton at
So according to README this plug-in replaces the noepg.patch.
What is the functionality/purpose of this noepg patch/plugin?
The patch exists a couple of years already i think. It's to block DVB
EPG Events from EIT for defined/chosen channels. If you use external
EPG, you might not want the internal EPG to interfere with it.
Klaus Schmidinger
2012-03-11 10:49:16 UTC
Permalink
Post by Klaus Schmidinger
...
- The Green button in the "Edit timer" menu can now be used to toggle between single
shot and repeating timers. This is the same as pressing '0' when the "Day" field
is selected, but it works at any time (and is more obvious).
Just in case somebody wants to update any of the *.po files:
This has been changed from "Once" to "Single", following a suggestion
by Rolf Ahrenberg.

Klaus
Udo Richter
2012-03-11 14:24:37 UTC
Permalink
Post by Klaus Schmidinger
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
'bool LiveView' to that function.
The 'status' plugin, part of the VDR source, does not yet use the new
LiveView parameter.


Just one of many plugin breakages. People should look out for warnings
Post by Klaus Schmidinger
../../../include/vdr/status.h:33: warning: ‘virtual void cStatus::ChannelSwitch(const cDevice*, int, bool)’ was hidden
status.c:21: warning: by ‘virtual void cStatusTest::ChannelSwitch(const cDevice*, int)’
This usually means that channel switch reporting is no longer working!

People with C++11 compatible compilers can enable C++11 support and add
Post by Klaus Schmidinger
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber) final;
That will cause the wrong parameters to be treated as an error.

Cheers,

Udo
Klaus Schmidinger
2012-03-11 14:59:24 UTC
Permalink
Post by Udo Richter
Post by Klaus Schmidinger
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
'bool LiveView' to that function.
The 'status' plugin, part of the VDR source, does not yet use the new
LiveView parameter.
Yikes! Sorry about that.
Post by Udo Richter
Just one of many plugin breakages. People should look out for warnings
Post by Klaus Schmidinger
../../../include/vdr/status.h:33: warning: ‘virtual void cStatus::ChannelSwitch(const cDevice*, int, bool)’ was hidden
status.c:21: warning: by ‘virtual void cStatusTest::ChannelSwitch(const cDevice*, int)’
This usually means that channel switch reporting is no longer working!
People with C++11 compatible compilers can enable C++11 support and add
Post by Klaus Schmidinger
virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber) final;
That will cause the wrong parameters to be treated as an error.
Isn't there a way of making this a general error?
Like -Woverloaded-virtual makes this a warning, could something like
-Eoverloaded-virtual make it an error?

I'd hate to have to add that "final" keyword to all virtual function declarations...

Klaus
Anssi Hannula
2012-03-11 15:05:53 UTC
Permalink
Post by Klaus Schmidinger
Post by Udo Richter
Post by Klaus Schmidinger
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
'bool LiveView' to that function.
The 'status' plugin, part of the VDR source, does not yet use the new
LiveView parameter.
Yikes! Sorry about that.
Post by Udo Richter
Just one of many plugin breakages. People should look out for warnings
Post by Klaus Schmidinger
../../../include/vdr/status.h:33: warning: ‘virtual void
cStatus::ChannelSwitch(const cDevice*, int, bool)’ was hidden
status.c:21: warning: by ‘virtual void
cStatusTest::ChannelSwitch(const cDevice*, int)’
This usually means that channel switch reporting is no longer working!
People with C++11 compatible compilers can enable C++11 support and add
Post by Klaus Schmidinger
virtual void ChannelSwitch(const cDevice *Device, int
ChannelNumber) final;
That will cause the wrong parameters to be treated as an error.
Isn't there a way of making this a general error?
Like -Woverloaded-virtual makes this a warning, could something like
-Eoverloaded-virtual make it an error?
-Werror=overloaded-virtual
Post by Klaus Schmidinger
I'd hate to have to add that "final" keyword to all virtual function declarations...
Klaus
_______________________________________________
vdr mailing list
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
--
Anssi Hannula
Klaus Schmidinger
2012-03-11 15:58:34 UTC
Permalink
Post by Anssi Hannula
Post by Klaus Schmidinger
Post by Udo Richter
Post by Klaus Schmidinger
Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
'bool LiveView' to that function.
The 'status' plugin, part of the VDR source, does not yet use the new
LiveView parameter.
Yikes! Sorry about that.
Post by Udo Richter
Just one of many plugin breakages. People should look out for warnings
Post by Klaus Schmidinger
../../../include/vdr/status.h:33: warning: ‘virtual void
cStatus::ChannelSwitch(const cDevice*, int, bool)’ was hidden
status.c:21: warning: by ‘virtual void
cStatusTest::ChannelSwitch(const cDevice*, int)’
This usually means that channel switch reporting is no longer working!
People with C++11 compatible compilers can enable C++11 support and add
Post by Klaus Schmidinger
virtual void ChannelSwitch(const cDevice *Device, int
ChannelNumber) final;
That will cause the wrong parameters to be treated as an error.
Isn't there a way of making this a general error?
Like -Woverloaded-virtual makes this a warning, could something like
-Eoverloaded-virtual make it an error?
-Werror=overloaded-virtual
Thanks. I'll change the Makefiles accordingly.

Klaus
Udo Richter
2012-03-11 17:27:27 UTC
Permalink
Post by Klaus Schmidinger
Post by Anssi Hannula
-Werror=overloaded-virtual
Thanks. I'll change the Makefiles accordingly.
We'll see how many false errors this will have. With my quick&dirty fix
(see vdrportal) it still complains about overloaded virtuals, even
though it does replace one of the virtual base functions exactly.

Final and override are the only two features of C++11 I'm already using
(with some macro magic for compatibility). They add a lot of safety to
virtual overloading.

Cheers,

Udo

Loading...