[vlc-devel] [PATCH v6 0/7] VLC as UPnP/DLNA MediaRenderer

Johan Gunnarsson johan.gunnarsson at gmail.com
Wed Dec 4 21:39:56 CET 2019


This adds support for VLC to act as a UPnP/DLNA MediaRenderer on the
LAN. A UPnP/DLNA control point can "cast" media to a VLC instance and control
playback.

Changes since v5:
* Limit volume range on VLC side to [0.0, 1.0]
* Remove all StateVarRequest code
* Remove playlist from intf_sys_t
* Fix SetAVTransportURI/Play logic (only start player if already started)
* Rework startMediaRenderer/stopMediaRenderer
* Rename s_lock_refcount to s_lock_instance
* Include hostname in UPnP device friendly name
* Generate UPnP UDN based on listening IP address and port

Changes since v4:
* Rebase
* Fix deadlock at exit

Changes since v3:
* Fix review comments

Changes since v2:
* Add support for speed/rate
* Split upnp-wrapper patch in two patches
* Use std::unique_ptr as much as possible
* Fix many small review comments

Changes since v1:
* Split patch into 5 patches
* Add support for position, seek and mute

Johan Gunnarsson (7):
  upnp: Rename handle to client_handle
  upnp: Add basic support for registering MediaRenderer service
  upnp: Split s_lock into two locks to solve deadlock issue
  upnp: Add AVTransportSCPD.xml
  upnp: Add ConnectionManagerSCPD.xml
  upnp: Add RenderingControlSCPD.xml
  upnp: Add UPnP/DLNA MediaRenderer control plugin

 modules/control/dlna.cpp                    | 845 ++++++++++++++++++++
 modules/control/dlna.hpp                    |  90 +++
 modules/services_discovery/Makefile.am      |   4 +-
 modules/services_discovery/upnp-wrapper.cpp | 206 ++++-
 modules/services_discovery/upnp-wrapper.hpp |  14 +-
 modules/services_discovery/upnp.cpp         |  18 +-
 modules/services_discovery/upnp.hpp         |   1 -
 modules/stream_out/dlna/dlna.hpp            |   2 +-
 share/Makefile.am                           |   5 +
 share/upnp/AVTransportSCPD.xml              | 588 ++++++++++++++
 share/upnp/ConnectionManagerSCPD.xml        | 182 +++++
 share/upnp/RenderingControlSCPD.xml         | 762 ++++++++++++++++++
 12 files changed, 2696 insertions(+), 21 deletions(-)
 create mode 100644 modules/control/dlna.cpp
 create mode 100644 modules/control/dlna.hpp
 create mode 100644 share/upnp/AVTransportSCPD.xml
 create mode 100644 share/upnp/ConnectionManagerSCPD.xml
 create mode 100644 share/upnp/RenderingControlSCPD.xml

-- 
2.17.1



More information about the vlc-devel mailing list