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.)