Re: Thoughts and questions on the API from a modular synth point of view

You want to pause a <video> source, pause the state of the
convolution/other effects, but not buffer/pause gUM capture streams?

On Mon, Aug 6, 2012 at 5:50 PM, Robert O'Callahan <robert@ocallahan.org>wrote:

> On Tue, Aug 7, 2012 at 8:28 AM, Chris Wilson <cwilso@google.com> wrote:
>
>> On Fri, Aug 3, 2012 at 9:57 PM, Robert O'Callahan <robert@ocallahan.org>wrote:
>>
>>>  2) When a getUserMedia stream feeds into a paused node, drop data. For
>>>>> authors who actually want DVR-like buffering we probably should invent an
>>>>> entirely new kind of MediaStream that specifically does that.
>>>>>
>>>>
>>>> How does it drop data, exactly?  Because that's probably going to sound
>>>> like a glitch.
>>>>
>>>
>>> Can you describe an example you're concerned about in more detail?
>>>
>>
>> Well, the gUM stream may potentially have a very hard-edged transition in
>> the stream then - because it's picking up mid-stream - while the other data
>> will not.  As they'll all be (potentially) feeding through a processing
>> node graph, the resulting data may be a bit confusing (e.g. a gUM and a
>> bufferSource both feeding into a convolution node, and it is paused -
>> what's the state data when it's resumed?
>>
>
> If you pause the convolution node, then its state is frozen while it's
> paused. When you resume, you would get a sharp transition in the gUM
> stream. But that's expected, isn't it? As you say, it's just like starting
> playback in the middle of a media stream. That's not wrong if it's what the
> author asks for.
>
> I suppose it might make sense to specify some automatic fading or blending
> when a paused node feeds into a non-paused node to reduce the impact of
> those transitions.
>
> I wasn't talking about API complexity - I was talking about implementation
>> complexity.
>>
>
> OK. As an implementor, I think it's quite manageable.
>
>
>>
>>> Note that some things are impossible now. For example, right now you
>>> can't have a source with an echo effect applied to it, pause the
>>> source+echo, and later resume the source+echo in such a way that the echo
>>> is paused concurrently with the source.
>>
>>
>> Not true; you can always insert a JSNode and record (buffer) the audio.
>>
>
> I don't see how that would work given I want to actually pause the source
> (say, an HTML <video> element).
>
> Rob
> --
> “You have heard that it was said, ‘Love your neighbor and hate your
> enemy.’ But I tell you, love your enemies and pray for those who persecute
> you, that you may be children of your Father in heaven. ... If you love
> those who love you, what reward will you get? Are not even the tax
> collectors doing that? And if you greet only your own people, what are you
> doing more than others?" [Matthew 5:43-47]
>
>

Received on Tuesday, 7 August 2012 17:19:04 UTC