Adds support for querying media formats supported
by a Media Renderer device. Profiles related to
H264/HEVC and MP3/AAC/AC-3 codecs are added.
We transcode to the default/mandatory DLNA audio and video profiles
for any non-supported formats since these are suppose
to be supported by every DLNA certified device.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Add support for casting to a DLNA Media Renderers
implementing the AVTransport service with the
initial support of the default media format.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Move out UpnpInstanceWrapper into its own file
since it no longer has any dependencies on existing
modules and allow other modules to get references to it.
Move as well as the various helper functions that are
directly required by the UpnpInstanceWrapper class
and inline them for a small performance gain.
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Bonjour is an implementation, trademarked by Apple, of Zeroconf
protocol, which avahi is a (slightly) different implementation.
Zeroconf protocol is mostly mdns + dns-sd
This is a little bit more understandable than device numbers.
Unfortunately, hot plug is as flaky as before: udev reports the device
before it is ready. alsa-lib provides no event interface (that I know),
so we have to stick with udev for now though.
Also, alsa-lib is _not_ used to fetch the card name. In my opinion, the
udev vendor string is a lot better. Compare:
- "USB Device 0xccd:0x77" (alsa card name) with
"TerraTec Electronic GmbH" (udev vendor), or
- "Intel ICH6" (alsa card name) with "Intel Corporation" (udev vendor).
lua version doesn't support adding subitems and passing the option over to subitems.
One day the lua libs will be ready to offer feature parity for luafreebox and
this one will be able to go away. But not yet.