New issue
Advanced search Search tips

Issue 675968 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

"dataavailable" raised continuously even without timeslice

Reported by pehrs...@gmail.com, Dec 20 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0

Steps to reproduce the problem:
1. Open https://jsfiddle.net/pehrsons/a9gugbut/
2. Hit start

What is the expected behavior?
You should only get a "dataavailable" event after clicking on Stop.

What went wrong?
There are many "dataavailable" events without any timeslice is set.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 55.0.2883.95 (Official Build) (64-bit)  Channel: stable
OS Version: OS X 10.12
Flash Version: 24.0.0.186

The spec reads under the start method:

If timeslice is not undefined, then once a minimum of timeslice milliseconds of data have been collected, or some minimum time slice imposed by the UA, whichever is greater, start gathering data into a a new Blob blob, and queue a task, using the DOM manipulation task source, that fires a blob event named dataavailable at target with blob. Note that an undefined value of timeslice will be understood as the largest long value.

---

I.e., when no timeslice is passed it's understood as the largest long value (let's call it MAX). Whichever is greater between an internal UA minimum time slice and MAX is always MAX. Hence only after MAX milliseconds have passed should data be gathered into a blob. You are currently breaking the spec.

Note that in Firefox we switch to caching the data in a temporary file on disk when the recorded data grows too large.
 

Comment 1 by pehrs...@gmail.com, Dec 20 2016

This is for MediaRecorder; I couldn't set the appropriate component.
Cc: mcasas@chromium.org
Components: -Blink>MediaStream Blink>MediaStream>Recording

Comment 3 by mcasas@chromium.org, Dec 20 2016

The CL where we aligned with the spec so that start() will buffer
(potentially) forever is [1], which landed as 428738. The current
stable 55.0.2883.95 cut in 423768, so doesn't have it :(

Can you try again with Beta/Dev/Canary please?

[1] https://chromium.googlesource.com/chromium/src/+/e2ab4313f9aad6c29633b07c58064052de8a44f6

Comment 4 by pehrs...@gmail.com, Dec 28 2016

You're right, Canary 57 works.

Comment 5 by hdodda@chromium.org, Dec 28 2016

Status: WontFix (was: Unconfirmed)
As per above comment #3, feature will be pushed to M-57 and user confirmed in #4, hence closing the issue.

Thanks!

Comment 6 by mcasas@chromium.org, Jan 18 2017

Components: Blink>MediaRecording

Comment 7 by mcasas@chromium.org, Jan 18 2017

Components: -Blink>MediaStream>Recording

Sign in to add a comment