Slide 1

Slide 1 text

Application interaction Varun Singh, callstats.io Stefan Holmer, Google Yokohama, IETF 94, 06.11.2015

Slide 2

Slide 2 text

Motivation • Application wants to provide hints to the – congestion control or codec on what it thinks it wants? • Congestion controller may control one or more streams associated to one more codecs

Slide 3

Slide 3 text

What is an Application? • JS application? • RTP Application? – Instances of RTP application is a browser

Slide 4

Slide 4 text

Application Control • Configures a set of values • Measures if those values are met – If not, it can switch off stream(s). – Worst case: the circuit breaker will trigger

Slide 5

Slide 5 text

Application’s PoV • The congestion controller: – Performs bandwidth estimation and hides the following • Pacing buffer • De-jitter buffer • FEC, retx – Controls the codec – Provides statistics

Slide 6

Slide 6 text

Session configuration parameters • Configurable: – max bit rate – per stream priority – session start bit rate (hint, because the congestion control may know better from) • Not configurable – min bit rate (neither for the session nor the codec.)

Slide 7

Slide 7 text

Codec configurations • max bit rate • Range metrics – Min/max frame rate – Min/max frame resolution • foobarPreference – maintain-framerate – maintain-framesize – None (meaning codec can do whatever makes sense within both ranges)

Slide 8

Slide 8 text

Next Steps • Write this into a proposal – draft-xx-app-cc-codec-interactions