WebRTC Application interactions API

23d1ad8982616babb4d5b60470eea8a4?s=47 Varun Singh
November 06, 2015

WebRTC Application interactions API

IETF 94, Yokohama
Varun Singh, Stefan Holmer


Varun Singh

November 06, 2015


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

    94, 06.11.2015
  2. 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
  3. What is an Application? • JS application? • RTP Application?

    – Instances of RTP application is a browser
  4. 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
  5. 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
  6. 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.)
  7. 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)
  8. Next Steps • Write this into a proposal – draft-xx-app-cc-codec-interactions