- From: Randell Jesup <randell-ietf@jesup.org>
- Date: Wed, 01 Feb 2012 09:02:09 -0800
- To: "rtcweb@ietf.org" <rtcweb@ietf.org>, public-webrtc@w3.org
- Message-ID: <4F297011.1040507@jesup.org>
This really is almost all W3c stuff; cc'ing that list where most
discussion should occur.
Updated suggestion based on Justin's comments: (largely for W3C
discussion)
This is rough, and a first cut, but we need to start somewhere.
I propose we add a callback on PeerConnection and some attributes on it
and MediaTracks:
{
...
// allow app to limit total bitrate used for the PeerConnection
attribute unsigned long maxBitrate;
attribute readonly unsigned long currentBitrate; // [Open issue] -
how much smoothing?
attribute Function? onBitrateChange;
// don't notify until change since last notify is more than this
attribute unsigned long minBitrateChangeToNotify;
attribute Function? onResolutionChange; // not strictly needed
// These are global settings that can be overridden on a per-track
basis
attribute float minFramerate;
attribute float maxFramerate; // might not be needed
attribute boolean preferMotion; // false means preference for
Resolution
}
To each MediaTrack:
{
...
// If the app bumps up the currentBitrate of one track and doesn't
lower another track, the
// system will make cuts to keep the total bitrate within bounds.
attribute unsigned long currentBitrate;
attribute short priority; // for allocating bits
// The rest of these are for video (is short guaranteed enough,
always? Probably)
attribute unsigned short width; // Let app override the values
chosen automatically
attribute unsigned short height;
attribute float framerate;
attribute float minFramerate;
attribute float maxFramerate; // might not be needed
attribute boolean preferMotion; // false means preference for
Resolution
// typically derived from QP
attribute readonly unsigned short videoQuality;
// audioQuality?? (samplerate?)
}
Should some of these be echoed in MediaTrackLists or MediaStreams?
--
Randell Jesup
randell-ietf@jesup.org
Received on Wednesday, 1 February 2012 17:02:47 UTC