Index of /~nox/dvb/vdr-plugin-upnp-patches/
These are patches/bugfixes for the vdr upnp plugin (0.0.2-alpha2)
I made when porting/testing it on FreeBSD - only patch-Makefile.txt
and patch-freebsd.txt are FreeBSD-specific, all others are also
useful on other OSes (and patch-freebsd.txt is #ifdef'd so can
still be applied upstream.)
Plugin homepage:
http://upnp.vdr-developer.org/
More details in this post:
http://lists.freebsd.org/pipermail/freebsd-multimedia/2011-January/011531.html
- patch-Makefile.txt
only needed for the FreeBSD port itself.
- patch-badvideo.txt
ignore bad/unrecognized recordings (instead of crashing vdr.)
- patch-freebsd.txt
FreeBSD portability patches.
- patch-fromgit.txt
patch merged from the plugin git.
- patch-iconv.txt
add missing charset conversion. (upnp expects utf-8...)
- patch-libupnp1.6.9.txt
patches for using the plugin with libupnp 1.6.9 (I also had
to fix two bugs in that lib, see the post I linked above.)
- patch-livetv-channelname.txt
always list channel names with live tv (makes channels
easier to find at least with xbmc.)
- patch-size_t.txt
size_t *printf fixes (affectig 64 bit hosts.)
- patch-strncpy.txt
bad use of strncpy().
- patch-recplayer-seek.txt
fix seeking in streamed recordings (or at least improve it,
xbmc still has issues with fast forward/rewind on some
recordings but at least it no longer plays only the first
few seconds of some.)
In case anyone wonders, the main problem here was that
cRecordingPlayer::seek() often failed because this->mLastOffsets
was used uninitialized (the
this->mLastOffsets = new off_t[...];
in the constructor only allocates the array not inizializes
it - I could probably also have patched that to
this->mLastOffsets = new off_t[...]();
but I think that is a relatively new C++ feature that not
all compilers may handle properly yet.)