- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Fri, 23 Aug 2013 12:21:18 +0200
- To: Martin Thomson <martin.thomson@gmail.com>
- CC: Tommy Widenflycht <tommyw@google.com>, "public-media-capture@w3.org" <public-media-capture@w3.org>
On 08/21/2013 06:14 PM, Martin Thomson wrote:
> On 21 August 2013 06:21, Tommy Widenflycht <tommyw@google.com> wrote:
>> So a user wants to send the audio MST through PC1 (with relay) and the video
>> MST through PC2. How does this require a MST to belong to more that one MS?
> In order to send A on PC1 and V on PC2, you need to have separate
> MediaStream instances, one for each PC. Maybe you could use the same
> MediaStream and synthetically reject certain m-lines from each PC, but
> that doesn't help the receiving end.
The code I was envisioning when the problem was described looked like this.
pc1 = new PeerConnection(...)
<pc1 connects to peer A>
pc2 = new PeerConnection(...)
<pc2 connects to peer B>
pc1.onaddstream = function(stream) {
audioOnlyStream = new MediaStream(stream.GetAudioTracks());
pc2.AddStream(audioOnlyStream);
}
(Won't work in Chrome since relaying isn't supported yet, of course.)
This would relay audio coming from peer A to peer B, and would not relay
video.
But since there's no automatic cloning either in GetAudioTracks or
AddStream,
the audio track(s) coming from A will now be members of both "stream"
and "audioOnlyStream".
If the track can only belong to one stream, it would have to be:
pc1.onaddstream = function(stream) {
audioOnlyStream = new MediaStream(); // no tracks
// FOR loop not quite right - Javascript's weird
for track in stream.GetAudioTracks() {
audioOnlyStream.AddTrack(track.clone());
}
pc2.AddStream(audioOnlyStream);
}
Slightly more code.
>
>> And how can there be any expectation that the audio and video are
>> synchronized on the receiving side?
> This has to be possible. The two tracks have the same source, with
> the same clock, and they should have the same (RTCP) CNAME.
> Assembling the two tracks into a single MS at the receiver should
> result in the playback being synchronized.
--
Surveillance is pervasive. Go Dark.
Received on Friday, 23 August 2013 10:21:50 UTC