Fix several issues with the non-destructive rescan functionality.
Most of these issues also affected inotify scanning as well. These
include annoying debug messages, adding album art for files that we
aren't supposed to be scanning anyway, incrementing the UpdateID when no
changes were made to the database, and other smaller issues.
Add support for upnp:playbackCount and upnp:lastPlaybackPosition tags.
These are used by Kodi to keep track of bookmark information as well as
determining whether to show the checkmark to indicate that the video
has been played.
Also add support for the UpdateObject command, which Kodi uses to
update the playbackCount and lastPlaybackPosition information.
This change requires a DB schema update, which should be done
automatically on the first run.
Inspired by SF user Karsten's patch #167.
We shouldn't blindly set the LC_CTYPE to en_US.utf8, because the user may
not have it installed. So if the user already has a utf8 locale defined,
just use it for LC_CTYPE.
Fixed: SF Bug #87 (Problem of accentuation)
SubmitServicesToMiniSSDPD(lan_addr[0].str, runtime_vars.port)
is called before lan_addr[0].str get a proper value.
Patch add call to reload_ifaces() in order to fix that
see miniupnp forum post http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=1801
Thanks Thomas Bernard for this fix.
By default, if there are multiple media directories specified, there
will be entries for each one in the root directory container. If
there is only one media directory specified, then just its contents
will be in the root container, to save one level of browsing.
Setting this option changes the default behavior so that multiple
media dirs will behave like a single media dir.
At least some Panasonic clients try to open more than 5 simultaneous
connections to the server. If we keep the default of 5 max children,
it results in choppy playback on those clients.
Make this setting configurable, and default to 50 max connections.
Our process is pretty lightweight, so 50 children should not be a
problem on most systems.
If an interface comes online after startup, we really need to send a
complete byebye + alive set on that interface, but we don't want to do
it for other interfaces. So do it as the interfaces come up, and
skip it for interfaces that existed before the reload.