100 likes | 112 Views
What is the problem we are solving?. How a conference aware participant manipulates media streams at the mixer The client is a UA (in sip) The server is the focus (which directly controls the mixer) Ultimately, we have to render a UI that controls the media flow.
E N D
What is the problem we are solving? • How a conference aware participant manipulates media streams at the mixer • The client is a UA (in sip) • The server is the focus (which directly controls the mixer) • Ultimately, we have to render a UI that controls the media flow
What’s wrong with draft-mahy-xcon-media-policy-control? • It’s way too complicated • It doesn’t address the problem, except indirectly • It will be very hard to create interoperable implementations
Not addressing the problem • It’s a language to describe media flow graphs • Real devices have fixed flows, with specific controls • Real interfaces twist knobs, push buttons and make selections on specific controls
Not facilitating interoperable implementations • Either the client must impose it’s concept of flow graphs on the server, or the server must impose it’s concept of flow graphs on the client • But the client doesn’t know, and the proposal doesn’t say, how it discovers the capabilities of the server • And the server doesn’t know, and the proposal doesn’t say, how it discovers the UI capabilities of the client • And the language allows arbitrary manipulation of arbitrary flows, so this is a very hard problem • Infinite number of graphs create the same mixed media
What to do • Essentially, drop the lower levels (streams. Groups, operators,…) • Leaves you with “collections” • AKA Templates
What is a template? • A predefined function block with a predefined set of parameters, a predefined set of controls, and a set of roles • Parameters let you keep the number of templates small • Controls lets you build UIs that reasonably match the other side’s view of the world • Roles define what controls in the template that a given user sees
Example of a template – simple mix-minus audio mixer • Inputs - n input audio streams • Outputs - m output audio streams • Parameters: • n/m • Controls • MixVolume(n,m) • Mute(n,m), t/f, * permitted • MasterVolume(m)
What do you do with a template • Server declares availability of a (set of) templates, with parameter values • Client specifies which role it is taking and values for the controls available to that role • Templates could have events • Templates could interact (video follows audio)
Non-problems • How the focus manipulates the mixer • How one describes what a mixer is capable of doing
Other Problems • Who does media policy eg. who is allowed to mute. Is that CPCP or MPCP? • No crisp boundary between CP and MP