630 Commits

Author SHA1 Message Date
Justin Maggard
bc43d45964 Clean up a couple return value checks. 2014-04-07 14:20:50 -07:00
Justin Maggard
27eae53584 process: remove logically dead code. 2014-04-07 11:26:37 -07:00
Justin Maggard
d492b43ef8 Fix various potential illegal access and memory leaks in error conditions. 2014-04-07 11:20:19 -07:00
Justin Maggard
6e43ab3c06 Introduce THISORNUL macro. 2014-04-07 10:29:56 -07:00
Justin Maggard
e3792ad8da upnpsoap: fix uninitialized read with emtpy filter 2014-04-07 09:08:30 -07:00
whosane
301b045cd1 Fix Broken SSDP Multicast Membership Addition. 2014-03-31 09:15:37 -07:00
Justin Maggard
435bd3d04d Use SERVER_NAME variable when checking for existing process. 2014-03-17 11:41:10 -07:00
Justin Maggard
9c8bc5d9c2 status: note when a media scan is in progress 2014-03-17 11:32:56 -07:00
Justin Maggard
98ebb0f5d5 albumart: code simplification 2014-03-17 11:01:36 -07:00
Justin Maggard
76a1ffff4e cleanup: remote obsolete references to listening_ip 2014-03-14 19:06:07 -07:00
Justin Maggard
0ea24845eb clients: add Asus O!Play support and quirks
Asus O!Play reboots with titles longer than 23 characters with some
file types when there are subtitles present.  So we truncate video
file titles with external subtitles.

It also supports subtitles in LG fashion, so add that too.
2014-03-13 10:48:41 -07:00
Justin Maggard
365d5c3412 upnpsoap: make subtitle support more generic
It sounds like more clients may support subtitles using a res element,
so we should make our support more generic.
2014-03-12 11:59:10 -07:00
Justin Maggard
cce9a012b3 config: add merge_media_dirs option
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.
2014-03-12 11:40:49 -07:00
Justin Maggard
7c0739ad3f config: introduce strtobool() helper. 2014-03-12 11:32:09 -07:00
Justin Maggard
e3a53fc8a3 clients: separate Samsung BDP and TV client types again
Advertising the DCM10 vendor-specific feature to Samsung Series
C and D (at least) players causes them to always browse ContainerID
1, no matter which section is chosen from their GUI.

Treat TVs and BDPs as separate client types with unique features.
2014-03-11 14:46:21 -07:00
Justin Maggard
d10293b038 autoconf: Use subdir-objects, to silence warnings from new autotools 2014-03-10 10:00:52 -07:00
Justin Maggard
10471aa29b portability: fix compiling on systems without iconv 2014-03-07 13:20:26 -08:00
Justin Maggard
a606012d23 Fix Clang compiler warnings. 2014-03-07 12:42:40 -08:00
Justin Maggard
546b12e1a9 portability: rework inline functions for clang compatibility. 2014-03-07 12:36:50 -08:00
Justin Maggard
ce16739213 samsung: fix root_container setting
Pretend that we don't support SamsungGetFeatureList if we have a
custom root container specified, or else the Samsung client will
jump straight to our normal A/V/P sections.
2014-03-07 12:23:58 -08:00
Darkvater
ba8e479c35 log: enhance setting loglevels
Enable logging level settings such as 'log_level=error' to set all
levels to error, or 'log_level=error,ssdp=maxdebug' to override only one
category
2014-03-06 17:09:39 -08:00
Justin Maggard
b9404d1847 cleanup: remove unused tagutils code, and switch to standard int types 2014-03-06 17:08:21 -08:00
Justin Maggard
cb95ca6e06 Wrap up version 1.1.2. 2014-03-06 16:30:25 -08:00
Justin Maggard
993a4adbbc ssdp: improve debug logging 2014-03-05 13:56:50 -08:00
Justin Maggard
5cddc8fb4d print usage and bail if the user gives an unknown command line option 2014-03-03 16:04:46 -08:00
Justin Maggard
1a78a94f70 process: make max number of children (connections) configurable
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.
2014-03-03 13:32:20 -08:00
Justin Maggard
372afa1ae6 cosmetic: whitespace cleanup 2014-03-03 13:28:31 -08:00
Justin Maggard
6cef303fc1 try to ensure proper ownership of db_dir
If user has been set, try to ensure that db_dir is owned by that user.
If that fails, log an error.
2014-02-27 15:47:02 -08:00
Justin Maggard
4236d53b59 ssdp: add multicast membership as the individual interfaces come up
Previously, this was only done during startup, so interfaces that
came up later wouldn't have been added.
2014-02-26 15:09:21 -08:00
Justin Maggard
fe7c26da2f ssdp: send a full byebye + alive set when a new interface comes online
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.
2014-02-26 15:04:46 -08:00
Justin Maggard
a7c8ffb88d cosmetic: whitespace cleanup 2014-02-26 12:37:14 -08:00
Justin Maggard
ea9a530a3a clients: keep generic device records
Now that we display connected clients in the status page,
it makes sense that we show all of them, instead of only
recognized device types.
2014-02-26 12:34:15 -08:00
Justin Maggard
005cb0bd30 Fix uninitialized access when adding multicast membership.
Thanks Keith for pointing this out.
2014-02-18 10:39:43 -08:00
Justin Maggard
65fb740414 upnpsoap: Support searches specifying @parentid = 0. 2014-02-04 12:03:57 -08:00
Justin Maggard
a3252bd2dd minissdp: Use struct ip_mreqn for multicast membership if it's available. 2014-02-03 15:02:30 -08:00
Justin Maggard
1e7fe1413c scanner: Avoid largeish stack allocations in recursive function. 2014-02-03 12:34:48 -08:00
Justin Maggard
67fd1fe45a getifaddrs: Fix building on systems without IFF_SLAVE. 2014-02-03 11:57:34 -08:00
Justin Maggard
582dd80f3b Add "albumartist" tag support for vorbis (flac). (Thanks SF user shimikano) 2014-02-03 11:47:16 -08:00
Michele Locati
d86fd22655 Fix Italian translation
Signed-off-by: Justin Maggard <jmaggard10@gmail.com>
2014-02-03 11:43:40 -08:00
Justin Maggard
5b35d3a165 scanner: Add an extra level if there are multiple media locations.
Before, the top level of folder browsing could be messy if you were
using multiple media directories.  This should tidyt things up.
2014-01-31 17:43:58 -08:00
Justin Maggard
16b0963a5b Add fake X_MS_MediaReceiverRegistrar RegisterDevice support. 2014-01-31 16:25:43 -08:00
Justin Maggard
d248cd3a43 Fix conflicting definition for unescape_tag(). 2014-01-31 15:46:48 -08:00
Spencer Oliver
fc6b47fe6a upnpsoap: fix incorrectly formed Samsung GetFeatureList reply
Bug raised here https://sourceforge.net/p/minidlna/bugs/210/, and also
mentioned in http://sourceforge.net/p/minidlna/discussion/879956/thread/34276163/.
However patch given needs to correctly escaped to work otherwise the
renderer will get stuck in an endless loop.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:35:30 -08:00
Spencer Oliver
f26a9217e4 metadata: handle escaped .nfo files
Some nfo files may contain xml escape chars, as generated by MediaElch.
This will remove any escape chars found so that they can be correctly
handled by minidlna.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
f5ebc22eeb utils: add unescape_tag function
This is added to remove any escape chars from a string.
This will be used in a pending patch, that correctly reads .nfo files that
contain escape chars.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
7e6b015b05 upnpsoap: fix samsung bookmarks
This makes the bookmark functionality work as expected on Samsung E series.
Adapted from http://sourceforge.net/p/minidlna/discussion/879956/thread/1a711ef6/ and
http://sourceforge.net/p/minidlna/bugs/197/.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
e2c73f163d clients: merge samsung Series C client id
A Samsung TV cannot be reliably detected by checking for "SEC_HHP_TV"
User Agent. Only the first part can be guaranteed, eg. "SEC_HHP_" as the rest
can be changed by the end user.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
ff76966a1c uuid: use CLOCK_REALTIME if CLOCK_MONOTONIC not available
Older versions of glibc may not have CLOCK_MONOTONIC, this is certainly the
case for the 2.3.2 based terastation libc.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
b0c1dea56b upnpsoap: fix some clients playing artwork instead of movie
While playback on an Samsung E Series TV is ok, other clients such as VLC
and vplayer (android) attempt to play the artwork rather than the movie.

The issue was traced to minidlna serving the artwork res before the movie res.
Other dlna server's were observed and found to the send the movie first then
the artwork.

Swapping the order seems to keep all tested clients happy.

Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00
Spencer Oliver
2c33d4149d build: fix out of src tree builds
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-31 15:33:51 -08:00