- From: Leandro Graciá Gil <leandrogracia@google.com>
- Date: Fri, 25 Mar 2011 20:10:37 +0000
I have two more questions about the Stream API: 1. Are GeneratedStream objects supposed to stop when they go out of scope? 2. Should StreamRecorder objects keep alive the Stream objects that created them? Is there a use case where this should not be the case? On 17 March 2011 19:50, Philip J?genstedt <philipj at opera.com> wrote: > On Thu, 17 Mar 2011 17:51:08 +0100, Olli Pettay <Olli.Pettay at helsinki.fi> > wrote: > > On 03/17/2011 06:31 PM, Philip J?genstedt wrote: >> >>> On Thu, 17 Mar 2011 16:48:40 +0100, Olli Pettay >>> <Olli.Pettay at helsinki.fi> wrote: >>> >>> On 03/17/2011 03:11 PM, Lachlan Hunt wrote: >>>> >>>>> On 2011-03-16 19:29, Olli Pettay wrote: >>>>> >>>>>> Perhaps navigator.getUserMedia("audio,video", success, error); >>>>>> could return an url to the device in the success callback, and that >>>>>> url >>>>>> could be then set to video.src. >>>>>> >>>>> >>>>> The creation of a URL is unnecessary indirection. It's easier to avoid >>>>> creating special URLs entirely, and instead assign the the Stream >>>>> object >>>>> directly to video.src. >>>>> >>>> >>>> >>>> The type of .src is string. >>>> Assigning a different type of object to it >>>> is quite strange. >>>> >>>> Also, if getUserMedia would return just an URL, browser wouldn't need >>>> to create any stream object (unless someone then want to stream >>>> from <video> to PeerConnection). >>>> >>> >>> Sure, but instead one would have to mint URLs and keep a mapping between >>> those URLs and the streams that they actually represent. If people copy >>> those URLs around, how long are they supposed to work for? Consider this >>> scenario: >>> >>> function getStreamURL() { >>> var s; >>> // code that sets s to a new Stream object for the default camera or >>> something >>> return s.url; >>> } >>> var url = getStreamURL(); >>> /* garbage collector? */ >>> document.querySelector('video').src = url; >>> >> >> I'd assume stream url would be handled like >> urls created using createObjectURL. >> It could be then revoked. >> > > I wasn't aware of this API, it's in > http://www.w3.org/TR/FileAPI/#dfn-createObjectURL for reference. > > That API has an explicit revokeObjectURL to solve the lifetime issue, but > there's no such thing for the Stream API. > > > -- > Philip J?genstedt > Core Developer > Opera Software >
Received on Friday, 25 March 2011 13:10:37 UTC