- From: Peter Thatcher <pthatcher@google.com>
- Date: Fri, 9 May 2014 14:09:31 -0700
- To: Bernard Aboba <Bernard.Aboba@microsoft.com>
- Cc: Justin Uberti <juberti@google.com>, "public-ortc@w3.org" <public-ortc@w3.org>
- Message-ID: <CAJrXDUHRo8Y+krgOTuZPL_OkDAgwUSA+=c--1nW1gehgPn8WKg@mail.gmail.com>
I'd be happy with .getCapabilities() => returns combined audio+video capabilities .getCapabilities("audio") => returns audio capabilities .getCapabilities("video") => returns video capabilities On Fri, May 9, 2014 at 1:54 PM, Bernard Aboba <Bernard.Aboba@microsoft.com>wrote: > Yes, that was what prompted this. > > On May 9, 2014, at 11:44 AM, "Justin Uberti" <juberti@google.com> wrote: > > RTP header extensions will often be media-specific (e.g. sender audio > level). Same with RTCP feedback mechanisms. > > > On Fri, May 9, 2014 at 10:57 AM, Peter Thatcher <pthatcher@google.com>wrote: > >> I think it's nice to be able to get the capabilities without creating a >> sender or receiver object first. >> >> I don't really see the advantage of having separate audio/video >> capabilities. What things will be audio-only or video-only? The codecs? >> The codecs already indicate whether they are audio or video. >> >> >> On Thu, May 8, 2014 at 10:19 PM, Bernard Aboba < >> Bernard.Aboba@microsoft.com> wrote: >> >>> Currently, getCapabilities is defined as follows: >>> >>> partial interface RTCRtpSender { >>> static RTCRtpCapabilities getCapabilities (); >>> }; >>> >>> partial interface RTCRtpReceiver { >>> static RTCRtpCapabilities getCapabilities (); >>> }; >>> >>> The implication is that getCapabilities() returns both audio and video >>> capabilities in a single RTCRtpCapabilities object. >>> >>> However, if getCapabilities wasn't defined as static, then it could >>> return only capabilities of the appropriate kind: >>> >>> partial interface RTCRtpReceiver { >>> RTCRtpCapabilities getCapabilities (DOMString kind); >>> } >>> >>> partial interface RTCRtpSender { >>> RTCRtpCapabilities getCapabilities (); >>> }; >>> >>> If it were done this way, with respect to the RTCRtpSender object, it >>> would be possible to retrieve audio and video send and receive capabilities >>> separately: >>> >>> var audioSender = new RTCRtpSender(audioTrack, transport); >>> var videoSender = new RTCRtpSender(videoTrack, transport); >>> rtpAudioSendCaps = audioSender.getCapabilities(); >>> rtpVideoSendCaps = videoSender.getCapabilities(); >>> >>> With the RTCRtpReceiver object, it would look like this: >>> >>> var audioReceiver = new RTCRtpReceiver(transport); >>> var videoReceiver = new RTCRtpReceiver(transport); >>> rtpAudioRecvCaps = audioReceiver.getCapabilities("audio"); >>> rtpVideoRecvCaps = videoReceiver.getCapabilities("video"); >>> >>> One advantage of separating audio and video capabilities is that >>> subsequent calls to createParameters could be more specific: >>> >>> var audioRecvParams = RTCRtpReceiver.createParameters( >>> "audio", remote.rtpAudioSendCaps); >>> var videoRecvParams = RTCRtpReceiver.createParameters( >>> "video", remote.rtpVideoSendCaps); >>> >> >> >
Received on Friday, 9 May 2014 21:10:39 UTC