The state machine for Streams is stupidly complicated, because you have to care about state change reasons and call a different method depending on what state you've been asked to go into. http://www.flickr.com/photos/26028700@N07/5885385136/ is simpler, where: CM-requested changes are emitted in one signal (with no reason); Successful state changes are reported in one method; Failures are reported in another (with a reason that needs no interpreting by the CM);
http://cgit.collabora.com/git/user/alsuren/telepathy-spec.git/log/?h=stream-state-machine-38790 makes this change. Note that the Sending_State in Call.Stream is different from Stream_Flow_State in Call.Stream.I.Media. (Media now has the concept of "Paused"). I'm not sure whether Paused makes sense in the context of SendingState. Thoughts?
The Complete*StateChange doc should make it clear that it can only go from a Pending state to the matching non-pending state. Otherwise, I think the branch is ++
++ on updated branch
merged to alsuren/call
merged to master
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.