100 likes | 114 Views
Simplifying media control templates to address interoperability issues in conference settings where participants manipulate media streams at the mixer. The current standard is overly complex, not user-friendly, and lacks clarity on server-client interactions. Proposing structured templates with predefined controls, roles, and parameters for seamless media flow management.
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