Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audiobuffer Race Conditions #66

Closed
olivierthereaux opened this issue Sep 11, 2013 · 13 comments
Closed

Audiobuffer Race Conditions #66

olivierthereaux opened this issue Sep 11, 2013 · 13 comments
Assignees

Comments

@olivierthereaux
Copy link
Contributor

Originally reported on W3C Bugzilla ISSUE-22725 Thu, 18 Jul 2013 15:45:08 GMT
Reported by Olivier Thereaux
Assigned to

This bugzilla entry tracks the Audio WG discussion about “Fixing Race Conditions”.

The initial proposal was by ROC on 21 June 2013:
http://lists.w3.org/Archives/Public/public-audio/2013AprJun/0644.html

Discussion thread so far:

http://lists.w3.org/Archives/Public/public-audio/2013AprJun/thread.html#msg644
followed by...
http://lists.w3.org/Archives/Public/public-audio/2013JulSep/thread.html#msg10

@olivierthereaux
Copy link
Contributor Author

Original comment by Olivier Thereaux on W3C Bugzilla. Fri, 26 Jul 2013 13:53:07 GMT

The issue will be put to a vote.

Proposed voting procedure and links to relevant rules in the W3C process have been announced on the mailing-list by the chairs. Archived at: http://lists.w3.org/Archives/Public/public-audio/2013JulSep/0283.html

@olivierthereaux
Copy link
Contributor Author

Original comment by Marcus Geelnard (Opera) on W3C Bugzilla. Mon, 29 Jul 2013 09:36:15 GMT

I think that the phrasing that Olivier proposed is a bit too close to agreeing on a final solution, but none of the proposed solutions are really ready yet (need more decisions and discussion).

I would like the phrasing to be slightly more more abstract, so that we can agree on a common mind-set for which we will solve the problems, for instance:

  1. Keep the current API, with the shared memory solution. Specify the exact behavior in the Web Audio specification, and work together with other parties to work out what other specifications need to be updated/written, etc.
  2. Based on RoC's proposal: Try to keep the current API, but remove any shared memory problems by using neutering as much as possible, and copying where necessary.
  3. Based on Jer's proposal: Update the API in order to remove shared memory problems and make the interface more akin to existing Web interfaces.

Not sure if this is the best formulation - suggestions are welcome.

@olivierthereaux
Copy link
Contributor Author

Original comment by Jussi Kalliokoski on W3C Bugzilla. Mon, 29 Jul 2013 12:04:57 GMT

Yeah, I actually think that whether we go with ROC's proposal or Jer's proposal is not the important question, the important question is whether we're going to fix the problem in our own API or someone else's API. If we decide to fix this in our own API, we can then decide the details after that choice, from my point of view ideally by combining the best parts of the two proposals.

@olivierthereaux
Copy link
Contributor Author

Original comment by Ehsan Akhgari [:ehsan] on W3C Bugzilla. Mon, 29 Jul 2013 18:44:50 GMT

Hmm, if we're going to try to be more precise about these proposals, then the proponents of option 1 should have a specification of what the shared memory model is going to look like. We should also have a list of all of the modifications to other specs in hand, and have at least initial buy-in from the editors of those specifications since without that we cannot be sure that we can adopt option 1 in practice.

@olivierthereaux
Copy link
Contributor Author

Original comment by Chris Wilson on W3C Bugzilla. Mon, 29 Jul 2013 19:20:01 GMT

Indeed, I think the first of any votes should be "keep a shared memory solution between the main thread and audio thread, or make changes to the API such that it does not use shared memory".

@olivierthereaux
Copy link
Contributor Author

Original comment by Joe Berkovitz / NF on W3C Bugzilla. Mon, 29 Jul 2013 21:19:38 GMT

If we use ranked voting as Olivier suggested, it seems possible to distinguish between ballots that place #1 first (shared memory OK) and those that don't (shared memory not OK).

Being able to make this distinction in the responses does seem like the primary thing to resolve here. If we do wind up concluding that shared memory isn't OK, then regardless of the ballots I would expect we'll be looking at the alternatives and having further discussions about their merits.

@olivierthereaux
Copy link
Contributor Author

Original comment by Olivier Thereaux on W3C Bugzilla. Fri, 30 Aug 2013 11:20:52 GMT

Call for Consensus around the "ROC proposal":
http://lists.w3.org/Archives/Public/public-audio/2013JulSep/0635.html

The proposal:
https://wiki.mozilla.org/User:Roc/AudioBufferProposal

Results expected on 2013-09-05

@olivierthereaux
Copy link
Contributor Author

Original comment by Olivier Thereaux on W3C Bugzilla. Thu, 05 Sep 2013 17:03:37 GMT

Based on the CfC on 2013-08-30 and the group teleconference on 2013-09-05 (http://www.w3.org/2013/09/05-audio-minutes.html#item01) the group has resolved that there was consensus around "ROC's proposal". From now on the group will work on fixing remaining issues with this proposal.

@ghost ghost assigned padenot Oct 25, 2013
@olivierthereaux
Copy link
Contributor Author

Paul, I'm assigning this to you. Implementing the decision into the spec should, IMHO, be near the top of your list of changes for the webaudio spec. Holler if you need clarifications or need help from the WG on details.

@padenot
Copy link
Member

padenot commented Jan 15, 2014

This has been done in padenot@cded12c, waiting for the merge of the refactoring.

@padenot padenot closed this as completed Jan 15, 2014
@olivierthereaux
Copy link
Contributor Author

Paul, I don't see the interface definition for copyChannelDataTo in the latest spec (nor in the padenot/web-audio-api@cded12c diff), does this mean that there is still some text to be added to the spec to fully implement ROC's proposal at https://wiki.mozilla.org/User:Roc/AudioBufferProposal ?

@padenot
Copy link
Member

padenot commented Feb 19, 2014

On 19/02/2014 12:14, Olivier Thereaux wrote:

Paul, I don't see the interface definition for copyChannelDataTo in the
latest spec (nor in the padenot/web-audio-api@cded12c
padenot@cded12c diff), does
this mean that there is still some text to be added to the spec to fully
implement ROC's proposal at
https://wiki.mozilla.org/User:Roc/AudioBufferProposal ?

This page is not up to date, the spec text as committed represents the
API as agreed by the WG (1 and followups).

That said, I just noticed I failed to remove all the mentions of the old
name (copyChannelDataTo). I'll push a followup with the new name shortly.

@padenot
Copy link
Member

padenot commented Feb 19, 2014

Pushed 5deadb3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants