@@ -2010,9 +2010,9 @@ const FOAVirtualSpeaker = __webpack_require__(7);
20102010const HOAConvolver = __webpack_require__ ( 8 ) ;
20112011const HOARenderer = __webpack_require__ ( 16 ) ;
20122012const HOARotator = __webpack_require__ ( 9 ) ;
2013- const Polyfill = __webpack_require__ ( 18 ) ;
2013+ const Polyfill = __webpack_require__ ( 19 ) ;
20142014const Utils = __webpack_require__ ( 0 ) ;
2015- const Version = __webpack_require__ ( 19 ) ;
2015+ const Version = __webpack_require__ ( 20 ) ;
20162016
20172017// DEPRECATED in V1, in favor of BufferList.
20182018const AudioBufferManager = __webpack_require__ ( 5 ) ;
@@ -2614,33 +2614,36 @@ function FOARenderer(context, config) {
26142614 renderingMode : RenderingMode . AMBISONIC ,
26152615 } ;
26162616
2617- if ( config . channelMap ) {
2618- if ( Array . isArray ( config . channelMap ) && config . channelMap . length === 4 ) {
2619- this . _config . channelMap = config . channelMap ;
2620- } else {
2621- Utils . throw (
2622- 'FOARenderer: Invalid channel map. (got ' + config . channelMap + ')' ) ;
2617+ if ( config ) {
2618+ if ( config . channelMap ) {
2619+ if ( Array . isArray ( config . channelMap ) && config . channelMap . length === 4 ) {
2620+ this . _config . channelMap = config . channelMap ;
2621+ } else {
2622+ Utils . throw (
2623+ 'FOARenderer: Invalid channel map. (got ' + config . channelMap
2624+ + ')' ) ;
2625+ }
26232626 }
2624- }
26252627
2626- if ( config . hrirPathList ) {
2627- if ( Array . isArray ( config . hrirPathList ) &&
2628- config . hrirPathList . length === 2 ) {
2629- this . _config . pathList = config . hrirPathList ;
2630- } else {
2631- Utils . throw (
2632- 'FOARenderer: Invalid HRIR URLs. It must be an array with ' +
2633- '2 URLs to HRIR files. (got ' + config . hrirPathList + ')' ) ;
2628+ if ( config . hrirPathList ) {
2629+ if ( Array . isArray ( config . hrirPathList ) &&
2630+ config . hrirPathList . length === 2 ) {
2631+ this . _config . pathList = config . hrirPathList ;
2632+ } else {
2633+ Utils . throw (
2634+ 'FOARenderer: Invalid HRIR URLs. It must be an array with ' +
2635+ '2 URLs to HRIR files. (got ' + config . hrirPathList + ')' ) ;
2636+ }
26342637 }
2635- }
26362638
2637- if ( config . renderingMode ) {
2638- if ( Object . values ( RenderingMode ) . includes ( config . renderingMode ) ) {
2639- this . _config . renderingMode = config . renderingMode ;
2640- } else {
2641- Utils . log (
2642- 'FOARenderer: Invalid rendering mode order. (got' +
2643- config . renderingMode + ') Fallbacks to the mode "ambisonic".' ) ;
2639+ if ( config . renderingMode ) {
2640+ if ( Object . values ( RenderingMode ) . includes ( config . renderingMode ) ) {
2641+ this . _config . renderingMode = config . renderingMode ;
2642+ } else {
2643+ Utils . log (
2644+ 'FOARenderer: Invalid rendering mode order. (got' +
2645+ config . renderingMode + ') Fallbacks to the mode "ambisonic".' ) ;
2646+ }
26442647 }
26452648 }
26462649
@@ -2667,6 +2670,10 @@ FOARenderer.prototype._buildAudioGraph = function() {
26672670 this . _foaRouter . output . connect ( this . _foaRotator . input ) ;
26682671 this . _foaRotator . output . connect ( this . _foaConvolver . input ) ;
26692672 this . _foaConvolver . output . connect ( this . output ) ;
2673+
2674+ this . input . channelCount = 4 ;
2675+ this . input . channelCountMode = 'explicit' ;
2676+ this . input . channelInterpretation = 'discrete' ;
26702677} ;
26712678
26722679
@@ -2860,6 +2867,7 @@ const BufferList = __webpack_require__(1);
28602867const HOAConvolver = __webpack_require__ ( 8 ) ;
28612868const HOARotator = __webpack_require__ ( 9 ) ;
28622869const TOAHrirBase64 = __webpack_require__ ( 17 ) ;
2870+ const SOAHrirBase64 = __webpack_require__ ( 18 ) ;
28632871const Utils = __webpack_require__ ( 0 ) ;
28642872
28652873
@@ -2937,8 +2945,8 @@ function HOARenderer(context, config) {
29372945 this . _config . renderingMode = config . renderingMode ;
29382946 } else {
29392947 Utils . log (
2940- 'HOARenderer: Invalid rendering mode. (got ' + config . renderingMode +
2941- ') Fallbacks to "ambisonic".' ) ;
2948+ 'HOARenderer: Invalid rendering mode. (got ' +
2949+ config . renderingMode + ') Fallbacks to "ambisonic".' ) ;
29422950 }
29432951 }
29442952
@@ -2963,6 +2971,10 @@ HOARenderer.prototype._buildAudioGraph = function() {
29632971 this . input . connect ( this . _bypass ) ;
29642972 this . _hoaRotator . output . connect ( this . _hoaConvolver . input ) ;
29652973 this . _hoaConvolver . output . connect ( this . output ) ;
2974+
2975+ this . input . channelCount = this . _config . numberOfChannels ;
2976+ this . input . channelCountMode = 'explicit' ;
2977+ this . input . channelInterpretation = 'discrete' ;
29662978} ;
29672979
29682980
@@ -2973,9 +2985,16 @@ HOARenderer.prototype._buildAudioGraph = function() {
29732985 * @param {function } reject - Rejection handler.
29742986 */
29752987HOARenderer . prototype . _initializeCallback = function ( resolve , reject ) {
2976- const bufferList = this . _config . pathList
2977- ? new BufferList ( this . _context , this . _config . pathList , { dataType : 'url' } )
2978- : new BufferList ( this . _context , TOAHrirBase64 ) ;
2988+ let bufferList ;
2989+ if ( this . _config . pathList ) {
2990+ bufferList =
2991+ new BufferList ( this . _context , this . _config . pathList , { dataType : 'url' } ) ;
2992+ } else {
2993+ bufferList = this . _config . ambisonicOrder === 2
2994+ ? new BufferList ( this . _context , SOAHrirBase64 )
2995+ : new BufferList ( this . _context , TOAHrirBase64 ) ;
2996+ }
2997+
29792998 bufferList . load ( ) . then (
29802999 function ( hrirBufferList ) {
29813000 this . _hoaConvolver . setHRIRBufferList ( hrirBufferList ) ;
@@ -3094,6 +3113,21 @@ module.exports = OmnitoneTOAHrirBase64;
30943113
30953114/***/ } ) ,
30963115/* 18 */
3116+ /***/ ( function ( module , exports ) {
3117+
3118+ const OmnitoneSOAHrirBase64 = [
3119+ "UklGRiQEAABXQVZFZm10IBAAAAABAAIAgLsAAADuAgAEABAAZGF0YQAEAAD+/wQA8/8ZAPr/DAD+/wMA/v8KAAQA/f8DAAMABADs//z/8v/z/8f/R/90/ob+//zAAWsDAwY3DKn9//tu93DvkwI6An4CuwJ0/BH7VPux92X0Gu7N/EX9mgfqCkkIiRMgBd4NQQGL/c0G/xBxAKELZATUA/sIHRSx+fkCyAUmBNEJIARlAdHz2AjNACcIsAW4AlECsvtJ/P/7K/tf++n8aP4W+g0FXAElAMn8nQHn/sT+Zv7N+9X2xvzM/O3+EvpqBBD7SQLd+vb/sPlw/JD72/3n+Rr+L/wS/vz6UQGg/Nf+Av5L/5X9Gv2//SP+mf3j/lf+v/2B/ZH/5P05/iL9MP9F/uf9UP4v/qv9mv7o/Xn+wP2k/8L+uP5J/tD+Dv/Y/bL+mP72/n3+pP+7/hAA+/5zAGH+Z/+u/g8Azv2y/6L+//9o/iIADP8VACz/CwCN/pb/1v4yAFP+wf+4/jsAcf5VAP3+bADa/nMA6f4sAOT+IQBd/v7/7v6aAIL+QADe/nEA0P4yAKz+CQCo/moAuf5xAN7+mAC8/jcANf9eAPX+IAA1/1kAAP9hAMz+PQD5/m0A2/4gAPr+UQDh/jQAEv9BAPH+FABN/zkASv9DADP/BABe/1IAGf8oAE3/RQAw/zIAQf8mADn/GgBE/xIAR/8hAD7/BABy/zEAKP/0/07/GwBX/z4ARf8mAFr/QQBV/zUAVP8eAFz/JABt/0EAUP8MAHz/KgBr/ycAYv8EAH3/MABl/x8Agv8bAIj/GgBv//z/ff8AAJX/IABu/+T/jv/r/4z/9/9n/77/pP8JAJD/EQCJ//r/q/8WAJ//GQCU/xYAtv8qAKr/PQCW/ysAwf8+ALb/OgC3/ygAz/8uAM7/OgDH/ygAz/8kAMz/OgC//xsA1f8qAMn/LwDN/xcA1f8oAMv/JQDR/xMAzf8bAM//HgDU/wUA2v8ZANL/EwDW/wEA1f8ZAMz/BwDX/wIA0v8SANT/BQDW/wMA0/8PANT/AADY/wIA1f8MANX/+f/a/wUA0v8IANf/+//Y/wUA0/8DANr/+f/Y/wQA1v8BANr/+f/Z/wUA1//8/9z/+v/Y/wYA2f/8/93//v/Y/wUA2v/9/93////Z/wUA3P/8/97/AgDa/wMA3v/8/97/AwDb/wIA3//9/97/BADd/wEA4f///9//BQDf/wAA4v8AAN//BQDf/wAA4/8CAN//BADh/wAA4/8DAOD/BADi////4/8DAOH/AwDk/wAA5P8FAOL/AgDl/wEA5P8FAOL/AQDl/wEA4/8EAOL/AQDj/wIA4P8DAN//AADg/wIA3v8CAOD/AADh/wEA4v8AAOP/AADm/wAA6P8AAOz/AADu/wAA" ,
3120+ "UklGRiQEAABXQVZFZm10IBAAAAABAAIAgLsAAADuAgAEABAAZGF0YQAEAAD//////f/+//7///8AAP////8BAAEA/f8AAAEAAQAFAAUA9//6/x0A2f/9/xMA3P+jAE//of9HAKP//gCj/77/Z/vi/28D9/ywDJAJIvr6AsX0Xec4BhcGzf23DZP7yfZ6C1//nwBDBIHyYgob/Tf3sQ41ANoKRA/A+E7yffAa9gD5EQUBDMwMygiqAHMAqPqhAGUB2/gE+a78H/+4APT6DwIUAA0HNwMhBfL8E/90A5n7dP9cALIC+v5C/q0AOv9kAogBHv01/+3/qAQD/ub8T/4vAOUA5P6KATv+ywEYAeT+KP6i/3gCFP6h/hr/+P83ACL/VADn/8UARQJI/4MAu/8qAlj+wf4iAPb/LgFJ/8QAUABAAI4ABf+k/3X/YgFK/ij/j/9HADoAi/+WAA0BVwC/ACL/LACe//cARv9i/xgAUgA0ACj/FgBgAIj/5P9M/7z/zv8/AKz/gv8sAEQA6/+I/yYAawDL/7T/xf8qAOv/FQCu/5n/EgAyAO3/i/9LAE4A+//R//P/FgDe/8z/u/8DADIALAAZALL/TAA8ABwAo//1/xwA/P/L/z0A6P8jAN7/7v+a/zAAwf/7/3//KQAuACwA9v8RAGYAIwBNADgAKgASAF0ADgANACEAMQDH//H/LQACAB0Ay////x0APAABAAQA2v8iAAcAEgDE/+v/FQD+/+P/DAD1/97/6v/4//X/EwD4/+7/5P8cAA0ACQDH//7/CQAXAAEA/P/5//j/CwAWAAEABQD9//n/AQAWAB0A7v/k/wAACQAmAP//9/8AAPn/8/8aAO//6/8fAOv/5v8hAP//5/8PAOf/AAAGAPn/6v8JAAYABgABAOv/1//1//L/+P8DABcA6f/8/wMACgD7/xAA3v/2//z/DADu//z/5v/5/wEA/P/6//7/7v/x/wQABgD5/wAA8v/w/wkAEQD2//j/+v8EAAcAEAD3//v/+v8CAAAACQD3//v//v/9/wUADAD2//X/AgAHAAAABwD2//T/BgAKAP7/AQD4//r/BAAIAPn/AAD3//f/BQAHAPv//v/7//n/BQAJAPj/+v/9//7/AgAGAPj/+f8BAAEAAgAFAPn/+v8BAAIAAAAEAPn/+f8CAAQA/v8BAPr/+v8CAAQA/P////v//P8CAAQA+//+//3//f8CAAUA+v/9//////8AAAQA+v/8////AAD//wIA+//8/wAAAQD+/wEA+//8/wAAAgD9/////P/9/wEAAgD8//7//f/9/wAAAgD8//3//v/+////AQD8//z/////////AAD8//3///8AAP7/AAD9//7///8AAP7////+//////8AAP7////+////////////////////" ,
3121+ "UklGRiQEAABXQVZFZm10IBAAAAABAAIAgLsAAADuAgAEABAAZGF0YQAEAAD//////v8AAP///////wAAAAAAAP7/AQABAAAABwD///X/BQAjAPL/CQDb/9D/GAAb/7sAYwCW/z0BcP/X/7T/2QDW+wH8yANCCCUJ5QT++UXmhPwhA78FuAxH+p78ifudBlAG9vmu/lAK2fdlB///cfjoCa0E7Akn9Yb/zvba+AkAHPywBGEBFwUNAL8AXAAGA20DFvmR/kz+F/06Ag/+GwHl/5EEKgJd/q0AP/ym/9n6EfxY/2H+/QFtAC4C6QBDAaMCo/20/+3/3f/p/fL9rv9V/6cBhQHuAX4AcwJYAaH/IP/P/gsApP0LAe7/sQBuAI0AAgGDAE4BzACe/5X//v+v/+f+Zf+gAOv/5QBhAOIApAANASYAuP+h/8b/HQBr/9//bACWAGEAFAB5AD0AWQDU/+D/Yf/p//D/s/+R/4QAMQBvABEAkQBfABQAJgDW/wwA8/8XALz/vf8zAFAAKwD1/zEAPwDJ/x0A7/8LAOX/FwDR//H/EQAdAO//6P8QAFEA2f8WABEAMgDy/xIA+f/s/xAALgDv////HQAvAPT/+f8iAAYAEgAFABoAGgD//w0A+f/0/xsAHgDx/9f/GAACAPH/8f8JAPf/GwALABEA7/8cAPT/CgD2//j/BQD8/+3/OgAgAAYA9f8PAN7/DgD9/9r/1//3/+3/9//1//b/8//5//f/AgAJAOf/+v8OAAMACwD9/+7/5f8eAAEA9//q//7/8P8WAP7/+//4/wIA+f8TAAIA9f/5/wcA+P8iAAgA9v/n/xoA//8gAAUABwDj/wAA9v8BAAUAFQDn/wMA7v8QABAAEQDm/wwA8f8aAAAABwDu/wcACgASAAEA7//w//f/BgARAAkA6P/3/wcADgAKAAYA4f/4/wYADgAAAPr/8P/9/xQACgAHAPn/7//9/xEAAgD+//L/8v/8/xUAAwDw//H/9f8CAAsA/v/q//L/+f8FAAYA/P/r//j///8GAAkA+//o//j/AQAIAP//+v/o//v/CAAIAPv/+P/w/wEACQAHAPj/+f/0/wIACwAFAPb/+f/4/wQACwACAPP/+f/+/wYACAD///L/+/8BAAYABQD9//P//P8FAAUAAgD7//T//f8HAAQA///7//f///8IAAMA/P/6//r/AQAIAAEA+v/6//3/AgAHAAAA+f/7/wAAAwAFAP7/+P/8/wIAAgACAP3/+f/9/wMAAwAAAPz/+v/+/wQAAgD+//z/+/8AAAQAAQD8//z//f8BAAQAAAD7//3///8BAAMA///7//3/AAACAAEA/v/7//7/AQABAAAA/v/9////AQAAAP///v/+////AAD/////////////////////////////" ,
3122+ "UklGRiQEAABXQVZFZm10IBAAAAABAAIAgLsAAADuAgAEABAAZGF0YQAEAAD////////+//////8AAAAA/v/+/wAAAQD8//3/CQAJAP3/+v8PAAcApABlABkBkwCO/i//lfqa/HQAcf/3BdkCzwJcBCMC0wMN/9/9wgI7AaECYfxV/Tf83vhn/xrt8Owx/8n7cgHABYb43QcZDh4WugNrA7P74gHu/9z/zv0t/acCiQHY/iv4qQOl/ysCE/0//XT9Sf4O//j9xfupAn394gHO+rsCXAFIAxQC9wIXBgcD2AQuAnb/9gJh/6wAVfxEAI4Bvf7oAFv/bALsAMQBe/88/joAT/4dAH39/v9LAXn/gwDI//QBdABcAA0A7f4lAMn///+9/tv/iABp/13/pP/dALv/w/8MAHv//f+y/6////7U/5AAZP+Z/8r/nQDR/5r/DwDr/xAA4v+s/3z/+P9uAOv/t/82AGcAHgCb/yQAFQBGAM7/CgD3/xoAegAaAOz/CgBHAA8Adv8/AAAABQC2/xIAAAA7ABQAKgCj/z4AAQAXAJz/JAADAAcA8f/1/2AAAQAlAPD/NgDx/1wA7v/4/wMAZADv//3/HQAkAFoA8P9FAPv/FgBIAPf/WQAHAEUACQD0/xIAQwDu/wMAwP9VALn/XwCw/yEA5f8sAPj/FgDD/1YAyv8rAOX/HQDo//j/IQAQACAAHwD9/yQAHQBAABgABQAiAAUAKAD3/wkACwAKAAMABwAJAPb/+f8GAOr/JQAHABMA6P8TAA4AGgD//woA8/8ZAP//GADu/w0A9v8SAAMABwD4/wQA5P8XAAQACgDq/wUA+/8VAAcACADs/xIAAAATAPH/+v/1//T/7f///+z/+v/y/+//9/8KAAcACgAJAPT/BAAKAAAABgAIAPL/9v8KAAMABAACAPr/9v8OAAIA+P/x//v/+f8MAPb/+P/w/wQA9f8MAPn////7/woA/v8PAAEAAgD1/xAAAQAPAP//AwD//xQABwALAAAABgADABAAAgAHAAAACAABAA8ABQAFAAMABwAEAA4ABwADAAEACQAFAAoAAwD//wAACQADAAUAAQD/////CAABAAMAAAD/////BwACAAEAAAD/////BwACAP7///8BAAAABgABAP7///8CAAAABAAAAP7///8DAAAAAwAAAP3///8DAAAAAQAAAP3//v8EAAAAAAD+//////8EAP/////+/wAA/v8EAP/////+/wEA/v8EAP///v/+/wIA//8DAP///v/+/wIA//8BAP///v/+/wMA//8BAP/////+/wMA//8AAP//AAD+/wQA//8AAP7/AQD//wIA////////AQD//wIA////////AQAAAAEAAAAAAP//AQD//wEAAAAAAP//AQAAAAEAAAAAAAAA" ,
3123+ "UklGRiQEAABXQVZFZm10IBAAAAABAAIAgLsAAADuAgAEABAAZGF0YQAEAAD+/wAA+v8AAPz/AAD//wAA/f8AAAEAAAD+/wAACQAAAAQAAAAZAAAAtgAAAFsBAABW/gAAH/oAAGcBAABoBwAAlAAAAO3/AAARAQAA+wIAAEoEAACe/gAAiv4AALD0AADJ8wAAkQQAAF34AABi8QAAPQAAAAH2AAD19AAADAMAAJwGAACTEAAA0AwAAJkHAACOBwAAuQEAANcDAAC6AgAAHwUAAHEFAAB0AwAAbgEAADz+AADYAQAAGAAAAJwCAADgAAAA//0AAMn+AAAT/AAAwP8AAOn9AAAJAAAAewEAAOn+AACN/wAAOv0AAO3+AADN/gAAcP8AACj/AACq/gAA+f4AAML9AACa/wAA/f4AAN7/AABo/wAA6/4AAE//AAAC/wAAEQAAAHX/AAB0AAAA5f8AAEwAAAB3AAAA5/8AAMIAAABCAAAAzgAAAE8AAAB3AAAAKAAAADMAAACqAAAALwAAAK4AAAASAAAAVgAAACgAAAAtAAAATAAAAP3/AAA7AAAA2/8AACQAAADw/wAALQAAADEAAAAlAAAAbAAAADMAAABUAAAAEAAAACgAAAD1/wAA9v8AAPr/AADu/wAALgAAABIAAABUAAAARAAAAGUAAABGAAAAOAAAAGAAAAAuAAAARQAAACEAAAAfAAAAAAAAAAkAAAAQAAAAAwAAABIAAADs/wAAEAAAAAYAAAASAAAAIgAAABEAAAADAAAABAAAAA8AAAD4/wAAHQAAAAsAAAAIAAAADgAAAP//AAAcAAAADwAAAAYAAAASAAAAFwAAAAMAAAAYAAAAEgAAAPr/AAAQAAAADQAAAAoAAAD3/wAABgAAAPb/AADf/wAA/v8AAPL/AAD6/wAAFAAAAAQAAAAEAAAAGwAAAAEAAAAMAAAAIAAAAAIAAAAdAAAAGAAAAAIAAAAcAAAAEgAAAAcAAAAeAAAADwAAAAQAAAAeAAAABAAAAAYAAAAZAAAAAQAAAA4AAAATAAAA/v8AAAoAAAAOAAAA+/8AAAsAAAAJAAAA+f8AAAsAAAABAAAA+f8AAAoAAAD9/wAA+v8AAAcAAAD5/wAA+v8AAAUAAAD3/wAA/f8AAAQAAAD2/wAAAAAAAAEAAAD3/wAAAgAAAAAAAAD4/wAAAwAAAP7/AAD6/wAABAAAAP3/AAD8/wAABAAAAPv/AAD+/wAAAwAAAPv/AAD//wAAAQAAAPv/AAAAAAAAAAAAAPv/AAACAAAA//8AAPz/AAACAAAA/v8AAP3/AAACAAAA/f8AAP7/AAABAAAA/f8AAP//AAABAAAA/f8AAAAAAAAAAAAA/v8AAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ,
3124+ ] ;
3125+
3126+ module . exports = OmnitoneSOAHrirBase64 ;
3127+
3128+
3129+ /***/ } ) ,
3130+ /* 19 */
30973131/***/ ( function ( module , exports , __webpack_require__ ) {
30983132
30993133"use strict" ;
@@ -3172,7 +3206,7 @@ exports.patchSafari = function() {
31723206
31733207
31743208/***/ } ) ,
3175- /* 19 */
3209+ /* 20 */
31763210/***/ ( function ( module , exports , __webpack_require__ ) {
31773211
31783212"use strict" ;
@@ -3202,7 +3236,7 @@ exports.patchSafari = function() {
32023236 * Omnitone library version
32033237 * @type {String }
32043238 */
3205- module . exports = '1.0.5 ' ;
3239+ module . exports = '1.0.6 ' ;
32063240
32073241
32083242/***/ } )
0 commit comments