It should be possible to supply multiple hosts or src properties, and have
VideoIO use the best available source. This will be useful for many new use
cases:
1. A group communication can have the speakers publish to both p2p and group
URL. The active speakers will play other speakers' p2p URL and passive viewers
will play speakers' group URL.
2. In a video call, each participant can publish to both p2p and server URL,
and play from p2p or server URL of other participant. This will allow the call
to automatically failover to server URL if the p2p mode does not work, e.g.,
firewall blocks UDP.
3. A VoIP caller can supply two different siprtmp URLs, so that the call is SIP
registration with all of them, and call is attempted with any of them that is
available.
Luckily, the API change for all these seems very simple: define a "sources"
property, which is an array of src URLs. All the items in the array must have
the same publish/play mode. If all items are in publish mode, then the VideoIO
instance should attempt to publish to all the URLs. In reality, it will publish
only if a player is available for the URL. If all the items are in play mode,
then the VideoIO instance should attempt to play from the first available URL
that works. If both publish and play are present in all the URLs, treat them as
redundant siprtmp servers. If the modes of all the items are not same, it
throws an error.
Original issue reported on code.google.com by kundan10 on 3 Mar 2011 at 3:25
Original issue reported on code.google.com by
kundan10
on 3 Mar 2011 at 3:25