Extension to the plugin api
Firstly the method extractItems() needs to be called for each UPnP client, with information about each client passed to the method. This is needed as the iptv gateway has a different list of channels based on the calling ip addr, and also a different list of recordings based on the calling ip.
Secondly a method that is called for each item a UPnP client plays would need to be added. This method would allow the plugin handle the actual network streaming, the method would need to be passed all the details about the request (quality, stream off-set etc) and well as the details about the client (ip, profile etc). This method could call an inherited method with chunked data that the method has streamed.
These extensions would make it possible to add support for the iptv gateway we use (and many others), as well as allowing many more classes of network service to be wrapped via a plugin and served to UPnP clients.