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