Bug 865241 Comment 27 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

This is not ready for production yet as the HRTFDatabaseLoader gets destroyed
on the MSG thread, but it is enough to check that the rest is performing basic
functionality.  I'll be away for a week or so, so posting where I'm at.
There are only minor changes between parts 1 to 12 and changesets in this try
run: https://tbpl.mozilla.org/?tree=Try&rev=1a66cf489adc

This sounds better than the equalpower model, much more convincing left to right.  With my on-ear phones on my ears, it doesn't do a good job of placing the sound in front.  I haven't got Chromium to produce sound yet, so haven't compared there.

http://people.mozilla.org/~karlt/panner-horizontal.html
http://people.mozilla.org/~karlt/panner-vertical.html

I haven't worked out the best approach for dealing with HRTFDatabaseLoader.
It is designed to have its lifetime controlled from the mail thread, so it
would like to live on the PannerNode.

I don't know whether taking a NodeMutex on every ProduceAudioBlock call is
ideal.

I haven't got a good understanding of the PlayingRefChangeHandler.  It seems
that there are some situations where the AudioNode can be assumed to be still
alive, but I don't know what those situations are.

An alternative might be to add a mutex into HRTFDatabaseLoader, as that is accessed less frequently.
This is not ready for production yet as the HRTFDatabaseLoader gets destroyed
on the MSG thread, but it is enough to check that the rest is performing basic
functionality.  I'll be away for a week or so, so posting where I'm at.
There are only minor changes between parts 1 to 12 and changesets in this try
run: https://tbpl.mozilla.org/?tree=Try&rev=1a66cf489adc

This sounds better than the equalpower model, much more convincing left to right.  With my on-ear phones on my ears, it doesn't do a good job of placing the sound in front.  I haven't got Chromium to produce sound yet, so haven't compared there.

http://people.mozilla.org/~karlt/panner-horizontal.html
http://people.mozilla.org/~karlt/panner-vertical.html

I haven't worked out the best approach for dealing with HRTFDatabaseLoader.
It is designed to have its lifetime controlled from the main thread, so it
would like to live on the PannerNode.

I don't know whether taking a NodeMutex on every ProduceAudioBlock call is
ideal.

I haven't got a good understanding of the PlayingRefChangeHandler.  It seems
that there are some situations where the AudioNode can be assumed to be still
alive, but I don't know what those situations are.

An alternative might be to add a mutex into HRTFDatabaseLoader, as that is accessed less frequently.

Back to Bug 865241 Comment 27