FFmpeg 3.0, as used on Ubuntu Yakkety, did not include the codecpar
changes, although it uses the same library major version. So refine the
libavformat version check to sort that out.
Reporting Samsung features to Windows and AllShare somehow makes them
ignore us, so detect these client types specifically and don't expose
Samsung capabilities to them.
Add FLAG_CAPTION_RES to the modern Samsung profile. Older Samsung
devices used a custom method for describing subtitles, but apparently
Series J no longer supports it. The good thing is, they now support
the more standard method (and probably have been for a while, since it
works on my old Series D BDP).
So let's just expose both methods to the client, since everything should
be able to handle it.
Fixes: SF bug #113 (Subtitles support for new 2015 Samsung J series TV)
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)
Some types of bad FLAC files error out early in the metadata parsing phase,
and we weren't properly deleting the iterator if it errored out at that
point.
Based on a patch from SF user pasdVn <pasdVn3@gmx.de>.
Rely on the kernel to filter out multicasts from non-member interfaces.
Also get the address of the interface we received the multicast on using
sockopt IP_PKTINFO.
Closes: SF Patch ticket #77.
When a browse command is issued multiple files are returned. As soon as one had a caption, all files were marked as having captions because the flag wasn't cleared.
Signed-off-by: Justin Maggard <jmaggard@netgear.com>
SF patch #140 (`check_embedded_art` not called when Cover Art at end of file)
Using MP4Box, the Cover Art is added after the video stream.
Thanks Mathieu Malaterre.
From SF Patch #90:
My LG TV (42LE5500) retrieves items from BrowseDirectChildren in a weird way.
The TV can only display up to 20 items per page, but it sets RequestedCount to
54. StartingIndex is correctly set to 0, 20, 40, ... etc. When minidlna responds
with the 54 entries, the TV sorts folders (containers) first, before items, then
displays the entries, limited to 20 per page.
In my setup, I have ~23 folders whose names are similar to the files, so that
when sorting by name, the folders are mixed with the files, thereby resulting in
duplicate folders appearing on all 3 pages and many missing files. The solution
is to make sure minidlna orders items the same way that the TV expects them, so
that when the StartingIndex is 20 or more, we return the "correct" subset of
items.
Thanks SF user Darell Tan for the fix.
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.
On my music archive, minidlnad wasn't anywhere near through scanning,
and had already leaked in excess of 10GiB from this.
The basic problem is that song_metadata has one image pointer. When it
sees a picture metadata item, it mallocs some space and copies the
picture to that, then sets the image pointer. That's all well and good,
except FLAC (and some other formats, haven't checked them) allow more
than one picture. So on the second picture, it does the same
thing—except overwriting the previous pointer, thus leaking it.
Simple fix: check if != NULL, ignore picture.
Signed-off-by: Justin Maggard <jmaggard@netgear.com>
We were missing a return in one of the cases for the switch.
Patch #150 from user Shrimpkin.
Fixes: Support Request #40 (Inotify don't work when add *.mts video)
The browsing issue that was reported on Samsung Series F was
actually only present when a custom root container was being
specified (http://sourceforge.net/p/minidlna/patches/121/).
So instead of disabling DCM10, fix our X_GetFeatureList
response when a custom root container is set. If the custom
root is Browse Folders, then drop the user straight to
folder browsing for that media type. If it's something
other than folder browsing, just set all media type roots to
the custom root container.
For future reference, the DCM10 flag enables (at least)
video bookmark support and Samsung "BasicView" support; so
selecting, for example, Videos from the Samsung UI can send
you straight to the Videos section of the media library.
Some images don't include an embedded thumbnail, and others
have the thumbnail in the wrong aspect ratio. In these
cases we resize ourselves, which we should allow to occur
regardless of the NO_RESIZE flag.