Bug 28718

Summary: Call should be able to cope with a conference layout where we're the signalling/media focus
Product: Telepathy Reporter: Sjoerd Simons <sjoerd>
Component: tp-specAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: david.laban, olivier.crete
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard: Call-later
i915 platform: i915 features:

Description Sjoerd Simons 2010-06-24 05:06:51 UTC
Apart form the muji style of conferencing the other big style is the one where there is one signalling focus that also does media mixing (for example that's the layout as used by skype it seems and is common on SIP). We should be able to have some plan for supporting this nicely
Comment 1 Olivier Crête 2010-10-29 06:32:22 UTC
For this, you should have only one Stream, one Endpoint and one CodecOffer per Content (since you're really negotiating with the server).

Probably we want the RemoteSSRCs to be a map of contact->ssrc on the Content instead of putting it on the Endpoint. I believe this would match RFC 4575 better.
Comment 2 Olivier Crête 2011-03-22 15:06:24 UTC
Actually, if the remote side does audio mixing, all we need is the handle->ssrc map in the Content so we can match the CSRC and we can even do fancier stuff like:
http://tools.ietf.org/html/draft-ietf-avtext-mixer-to-client-audio-level-01 

Maybe we want to have MediaDescriptions with only a Contact/SSRC for the CSRCs and MD with Contact=0 for the mixer ?
Comment 3 David Laban 2011-03-22 15:57:02 UTC
oh ffs. Why do my comments keep disappearing? When I added myself to the cc list, my comment was supposed to be:

"I think that ocrete's comment addresses the "someone else is acting as a mixer" case, but not the "we are acting as a mixer" case.

I'm thinking that we could use MediaDescriptions to get the CM to request for the streaming implementation to mix two streams together.

Enum: MD.I.LocalMediaMixing.Type:
* Non-mixed (1:1 or muji-style)
* LocallyMixed (useful for audio)
* LocallyAggregated (useful for video)

au: MD.I.LocalMediaMixing.Peers:
* list of contacts that need to be mixed to/from this party, or 0 for "all"

Under this model, we would have one stream per participant, and mixing between parties that requested it (in most cases everyone)."

Does this make sense?
Comment 4 Olivier Crête 2011-03-22 16:06:25 UTC
It's more complicated than that, we can negotiate different codec with different remote parties if we're a mixer (since we must decode/encode too). It would be easier to express it as multiple contents maybe.. I'm really not certain how to do it nicely. Or maybe just have multiple Call Channels and have the UI do the mixing ?
Comment 5 David Laban 2011-06-10 17:50:12 UTC
http://cgit.collabora.com/git/user/alsuren/telepathy-spec.git/commit/?h=local-descriptions-28718&id=ed6d69a34f3e546305632ed1cbca2135e7bff7a0 reverts a change by ocrete and makes some clarifications. This should make it easier to support this later.

(I think all we need is some client caps or something at this point and something that implements it.)
Comment 6 David Laban 2011-06-29 14:19:19 UTC
note that http://cgit.collabora.com/git/user/alsuren/telepathy-spec.git/commit/?h=local-descriptions-28718 has been rebased on top of alsuren/call, so that link no longer points to the correct commit id (a one-character change was required to make it compile again).
Comment 7 Olivier Crête 2011-07-05 12:30:23 UTC
I guess this is ok.. but I'd like to see some kind of implementation of the client-side bit at least
Comment 8 David Laban 2011-07-05 13:01:27 UTC
Merged to alsuren/call, but keeping the bug open until we have an implementation.
Comment 9 Guillaume Desmottes 2012-02-16 09:18:11 UTC
(In reply to comment #8)
> Merged to alsuren/call, but keeping the bug open until we have an implementation.

Is this part of Call1? If it is, I guess we can close this bug.
Comment 10 Olivier Crête 2012-02-16 09:43:01 UTC
The full support for this isn't in Call yet, but it can be added later on top of the existing spec.
Comment 11 GitLab Migration User 2019-12-03 20:21:43 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-spec/issues/73.

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.