So i wanted to test the vdr upnp plugin on FreeBSD...

Juergen Lock nox at
Sat Jan 1 20:33:57 UTC 2011

On Mon, Nov 22, 2010 at 01:17:22AM +0100, Juergen Lock wrote:
> ..which turned out to be easier said than done:  Besides some
> porting work for FreeBSD I had to hunt and patch several bugs, and
> did initial upgrading to libupnp 1.6.9 (because that's whats in
> ports, the plugin apparently was only tested up to 1.6.6.)  And I
> also had to patch two nasty bugs in libupnp that caused vdr to spin
> one core at 100% and malloc() 32 GB... (I probably should submit
> those to the pupnp-devel list too, will do that later.)
Did that a while ago, the patches have been committed to the
libupnp repo and will be on 1.6.10 and 1.8.0:

 Pavel, are you ok with me adding them to the devel/upnp port or
do you want me to send a formal PR?  The patches are also here:

>  I've put the shar here:
> (to be used together with my latest vdr port shar on FreeBSD, see here:
> and

 Updated shar at:

 The port now creates a dir /var/cache/vdr-upnp for the plugin's
metadata db so you can test the plugin like this:

	vdr ... '-Pupnp -i lo0 -vvvvv --dbdir=/var/cache/vdr-upnp'

 I've removed #if 0'd debug code from one patch and I've added
another patch to fix seeking in streamed vdr recordings, xbmc now
plays back recordings until the end and not only the beginning
of (some of) them.  (HD recordings are still ignored tho, and
xmbc still gets the length wrong once in a while and fast forward/
rewind in xbmc also still doesn't work properly with all of them,
but at least the wrong length also happens when passing that one
recording where that happens to xbmc directly via the filesystem
without the plugin so at least _that_ bug must be in xbmc - and
thus, maybe also the remaining fast forward/rewind ones?)
>  As noted in the pkg-descr its still an alpha version so no guarantee
> the port will work for you, I could only test it with xbmc where
> after all my bugfixing streaming of live tv (hd and sd) and of vdr
> recordings now work, recordings only sd tho but that seems to be a
> known issue.
>  Here's a rundown of the patches for the plugin:  (below
> multimedia/vdr-plugin-upnp/ in the shar)
 Patches also at:

> 	files/patch-Makefile
> 		only needed for the FreeBSD port itself
> 	files/patch-badvideo
> 		ignore bad/unrecognized recordings (instead of crashing vdr)
> 	files/patch-freebsd
> 		FreeBSD portability patches
> 	files/patch-fromgit
> 		patch merged from the plugin git
> 	files/patch-iconv
> 		add missing charset conversion (upnp expects utf-8...)
> 		(I see there's also leftover #if 0'd debug code in
> 		there, will remove that later)

> 	files/patch-libupnp1.6.9
> 		patches for libupnp 1.6.9
> 	files/patch-livetv-channelname
> 		always list channel names with live tv (makes channels
> 		easier to find at least with xbmc)
> 	files/patch-size_t
> 		size_t *printf fixes (affectig 64 bit hosts)
> 	files/patch-strncpy
> 		bad use of strncpy()
 New patch:
		fix seeking in streamed recordings

>  And the libupnp patches:
> 	ports-patches/devel/upnp/files/patch-upnp-src-gena-gena_device.c
> 		another size_t varargs fix (again affectig 64 bit hosts)
> 	ports-patches/devel/upnp/files/patch-upnp-src-genlib-net-http-webserver.c
> 		wrong args to http_MakeMessage
>  Some of the patches may apply with offsets cause I manually sorted
> them, you can ignore that, patch(1) will dtrt.

 Enjoy, :)

More information about the freebsd-multimedia mailing list