Re: setting bandwidth

On Wed, Jul 24, 2013 at 3:46 PM, cowwoc <cowwoc@bbs.darktech.org> wrote:
> On 24/07/2013 12:26 AM, Cullen Jennings (fluffy) wrote:
>>
>> On Jul 18, 2013, at 6:21 AM, Stefan Håkansson LK
>> <stefan.lk.hakansson@ericsson.com> wrote:
>>
>>> 2. Setting BW for a MediaStreamTrack
>>> ------------------------------------
>>> Why: There are situations where a suitable start bit-rate can be known,
>>> or guessed. If this knowledge could be used the perceived end-user
>>> quality could be improved (since a higher quality is available from
>>> start since there is no need to start at a really low bit-rate).
>>>
>>> There are also situations where it could be beneficial if min and max
>>> bit-rates to be used can be influenced.
>>>
>>> * The app developer may know that below a certain bit-rate the quality
>>> is so bad that the browser could stop sending it, and likewise there may
>>> be knowledge about a bit-rate above which the quality does not improve.
>>>
>>> * There are situations when there is an agreement between the service
>>> provider and the connectivity provider about min and max bit-rates.
>>>
>>> What: Again, this depends on how much BW info is included in the SDP.
>>> But my understanding is that there should be some (since RTCP rates to
>>> be used are based on this info IIUC).
>>
>> I agree and think we need to a couple things here. One is setting the
>> limits for the bandwidth but the  other is using the stats interface to read
>> the current bandwidth being used.
>
>
>     A slightly related but higher-level proposal: replace Mandatory
> constraints with Optional constraints that act as Fence conditions.
>
>     It works like this: You specify a bunch of optional constraints and a
> callback to be invoked when a Constraint is violated. For example, I would
> ask for a bandwidth between 1Mbit and 2Mbit. If bandwidth drops below the
> minimum, the callback gets invoked. I then reduce the video resolution, or
> turn off audio, or... whatever the application wants... and set new min/max
> bandwidth bounds. If the maximum bound is surpassed, I know I can afford to
> increase the video resolution so I do so. And so on.
>
>     Assuming I'm wrong (you need mandatory constraints) I still think adding
> this fence behavior puts control in the right place. The application is
> uniquely positioned to decide what happens when the connection capabilities
> change.

I like the idea of adding callbacks on reaching/breaking constraints
and giving the app the opportunity to do something. I would, for
example, switch to audio-only if video goes below a certain bandwidth.

Silvia.

Received on Wednesday, 24 July 2013 06:50:06 UTC