For two of my bridges (UPnP et Cast), the player if gathering the audio file through a simple webserver. Today, my bridges implement Slimproto based on squeezelite, the UPnP and ChromeCast protocol and a webserver in C, as an independent application.
I was wondering if it would be a better architecture to have the UPnP or Bridge protocols implemented in Perl direclty, the webserver would just be the one offered by LMS, but it would require to implement a "fake" SB in the plugin and that all play/pause/volume would be overloaded by this plugin. Basically, it's replacing fully slimproto by another protocol, rather than doing a proxy.
Is this simply possible?
NB: this would not work for the AirPlay plugin as I must handle ms timing to provide synchro. BTW, if one day the sync protocol between CC devices is available, I'd really, really like to implement it. If somebody either finds something on the web or has the courage to take a long wireshark between 2 sync players, that would be very helpful. I suspect there is few NTP exchanges between the 2 to align clocks then indicate at what tick which sample/packet should be played. It this is that, I can easily mimick that now that I've done the AirPlay bridge
I was wondering if it would be a better architecture to have the UPnP or Bridge protocols implemented in Perl direclty, the webserver would just be the one offered by LMS, but it would require to implement a "fake" SB in the plugin and that all play/pause/volume would be overloaded by this plugin. Basically, it's replacing fully slimproto by another protocol, rather than doing a proxy.
Is this simply possible?
NB: this would not work for the AirPlay plugin as I must handle ms timing to provide synchro. BTW, if one day the sync protocol between CC devices is available, I'd really, really like to implement it. If somebody either finds something on the web or has the courage to take a long wireshark between 2 sync players, that would be very helpful. I suspect there is few NTP exchanges between the 2 to align clocks then indicate at what tick which sample/packet should be played. It this is that, I can easily mimick that now that I've done the AirPlay bridge