- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Wed, 22 Apr 2015 14:09:43 +0200
- To: public-media-capture@w3.org
This sounds good to me. I've filed https://github.com/w3c/mediacapture-main/issues/164 to keep track of the issue. Den 22. april 2015 12:04, skrev Adam Bergkvist: > On 2015-04-22 11:41, Harald Alvestrand wrote: >> Den 22. april 2015 11:31, skrev Adam Bergkvist: >>> On 2015-04-15 15:11, Harald Alvestrand wrote: >>>> In the current specification, we have two concepts related to sources >>>> and tracks: >>>> >>>> - A track can be stop()ed, in which case it is ended. >>>> - A track can be detached from its source. >>>> >>>> The text says: >>>> >>>> A) in terminology for "source", we have: >>>> >>>> Sources are detached from a track when the track is ended for any reason. >>>> >>>> B) Under "Life-cycle and Media Flow", we have: >>>> >>>> A MediaStreamTrack can be detached from its source. It means that the >>>> track is no longer dependent on the source for media data. If no other >>>> MediaStreamTrack is using the same source, the source will be stopped. >>>> MediaStreamTrack attributes such as kind and label must not change >>>> values when the source is detached. >>>> >>>> C) Under the "enabled" attribute of a track, we have: >>>> >>>> On getting, the attribute must return the value to which it was last >>>> set. On setting, it must be set to the new value, regardless of whether >>>> the MediaStreamTrack object has been detached from its source or not. >>>> >>>> Under the "stop" function for a track, we have: >>>> >>>> 3. Set track's readyState attribute to ended. >>>> >>>> 4. Detach track's source. >>>> >>>> It seems to me that this is one concept more than we need. >>>> Whether there is a relationship between a stopped track and its source >>>> or not is an implementation detail, and we shouldn't be constraining it >>>> in our API description. >>>> >>>> So my suggestion: >>>> >>>> In A, C and D, simply remove the text that refers to "Detach". >>>> >>>> In B, instead say: >>>> >>>> If all MediaStreamTracks that are using the same source are ended, the >>>> source will be stopped. >>>> >>>> I think that simplifies the terminology, and doesn't change any >>>> observable property of the API. >>>> >>>> What do people think? >>>> (If others like it, I'll file a bug for it.) >>> >>> I think this is a simplification worth doing. >>> >>> This will let us refer to properties on the source without having to >>> verify that the track has a source attached. A new thing, however, is >>> that a track can have a stopped source (attached). >> >> Is this an issue? >> >> I think only stopped tracks can have stopped sources, since a source is >> only stopped if all the tracks have been stopped. So we can't have a >> live track sourced from a stopped source (which would indeed be a bit >> strange). > > I don't think it's an issue. We need to specify what happens if, for > example, getCapabilities() is called on a track with a stopped source. > But it's not a new problem; detached or stopped, I guess the same thing > should happen. > >> We do have the concept of a source ending by itself (someone removed the >> camera?), which causes all the attached tracks to stop. > > It's mentioned in the MediaStreamTrack.onended handler [1]. > > [1] https://w3c.github.io/mediacapture-main/#widl-MediaStreamTrack-onended > > >
Received on Wednesday, 22 April 2015 12:10:15 UTC