WebRTC Application interactions API

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

WebRTC Application interactions API

IETF 94, Yokohama
06.11.2015
Varun Singh, Stefan Holmer

23d1ad8982616babb4d5b60470eea8a4?s=128

Varun Singh

November 06, 2015
Tweet

Transcript

  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