[whatwg] Enabling/disabling tracks in MediaStreams
Harald Alvestrand
harald at alvestrand.no
Mon Jul 18 05:29:26 PDT 2011
Additional question:
What is the scenario in which this behavioiur is useful?
On 07/18/11 14:17, Tommy Widenflycht (ᛏᚮᛘᛘᚤ) wrote:
> I am very confused regarding the below paragraph from the latest spec:
>
> When a track in a
> MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream>
> parent is disabled, any
> MediaStreamTrack<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamtrack>
> objects corresponding to the tracks in any
> MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream>
> objects that were created from parent are disassociated from any track, and
> must not be reused for tracks again. If a disabled track in a
> MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream>
> parent is re-enabled, from the perspective of any
> MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream>
> objects that were created from parent it is a new track and thus new
> MediaStreamTrack<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamtrack>
> objects must be created for the tracks that correspond to the re-enabled
> track.
>
>
>
> After cloning a LocalMediaStream it looks like this:
>
> LocalMediaStream -> MediaStream1
> Track1(E) Track1(E)
> Track2(E) Track2(E)
> Track3(E) Track3(E)
>
> and as I interpret the spec it looks like this if Track1 in the
> LocalMediaStream is disabled:
>
> LocalMediaStream -> MediaStream1
> Track1(D) Track2(E)
> Track2(E) Track3(E)
> Track3(E)
>
> So Track1 disappears from the MediaStream1 object and doesn't come back even
> if Track1 in the LMS object is enabled:
>
> LocalMediaStream -> MediaStream1
> Track1(E) Track2(E)
> Track2(E) Track3(E)
> Track3(E)
>
> And to get it back again has to create a new MediaStream object from the
> LMS:
>
> LocalMediaStream -> MediaStream2
> Track1(E) Track1(E)
> Track2(E) Track2(E)
> Track3(E) Track3(E)
>
> Is this interpretation correct?
>
>
> /Tommy
>
> --
> Tommy Widenflycht, Senior Software Engineer
> Google Sweden AB, Kungsbron 2, SE-11122 Stockholm, Sweden
> Org. nr. 556656-6880
> And yes, I have to include the above in every outgoing email according to EU
> law.
>
More information about the whatwg
mailing list