- From: Stefan Hakansson LK <stefan.lk.hakansson@ericsson.com>
- Date: Mon, 25 Jun 2012 09:22:19 +0200
- To: "public-webrtc@w3.org" <public-webrtc@w3.org>
On 06/21/2012 02:24 PM, Harald Alvestrand wrote: > As usual, apologies for the formatting, and errors in the WebIDL is a > certainty, not a possibility. > > I've tried to insert the level of indirection that allows us to return a > set of objects for (say) a media stream with FEC that uses multiple > SSRCs rather than just a single object. I think the proposed stats to track look like a good start, but I think that an additional one that could be of interest is the actual interface/network used. The app gets to know (sort of) what interfaces that are available since the candidates are handled by the app. But knowing what interface that was in actual use could be very helpful. Regarding the API, an alternative approach could be to tie this more to the tracks of the MediaStreams, e.g. add something to the MediaStreamTrack interface: void getInfo(Function handler); The info delivered would depend on the source of the track. For tracks in local (i.e. generated locally and not delivered by a PeerConnection) MediaStreams, the info would be things like sampling rate, channels (mono, 5.1) for audio; resolution and frame rate for video. If the MediaStream has traveled over a PeerConnection, the info listed in your document (packets received/lost, ssrc, codec, ) would be appended. This would associate the stats to a MediaStreamTrack, getting rid of referencing problems (when MediaStreams are added or removed) if the local/remoteStreams is used. In addition, if the corresponding info is requested for data channels, it could easily be added to those. One drawback is that only the receiving app would get the stats associated with the PeerConnection transport. But as said, the main receiver of stats is the service provider, and reporting per MediaStreamTrack allows the service provider to correlate stats (perhaps using the MediaStream label). And in most cases it is the same application in both ends, and the receiving end could share the stats with the sending end (perhaps using the data channel) if desired. If there are different apps used, they could still agree on stats exchange (just as they would have to agree on a bunch of other things to get things working) if desired. Stefan > > Comments welcome! > > Harald >
Received on Monday, 25 June 2012 07:22:54 UTC