Fri, 16 Jan 2015 04:50:19 +0100
Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32
michael@0 | 1 | <script> |
michael@0 | 2 | Logger = {} |
michael@0 | 3 | Logger.error = function(e) {} |
michael@0 | 4 | Logger.comment = function(e) {} |
michael@0 | 5 | |
michael@0 | 6 | try { o0 = document.createElement('audio'); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 7 | try { (document.body || document.documentElement).appendChild(o0); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 8 | try { o1 = new AudioContext(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 9 | try { o2 = o1.createGain(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 10 | try { o3 = o1.createBufferSource(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 11 | try { o3.buffer = function() { o4 = o1.createBuffer(1, 3, 52970); |
michael@0 | 12 | o5 = o4.getChannelData(0); |
michael@0 | 13 | for(var i=0; i<3; ++i) { |
michael@0 | 14 | o5[i] = Math.sin(i * 63); |
michael@0 | 15 | } |
michael@0 | 16 | return o4; |
michael@0 | 17 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 18 | try { o3.buffer = function() { o6 = o1.createBuffer(1, 15, 41218); |
michael@0 | 19 | o7 = o6.getChannelData(0); |
michael@0 | 20 | for(var i=0; i<15; ++i) { |
michael@0 | 21 | o7[i] = Math.sin(i * 0); |
michael@0 | 22 | } |
michael@0 | 23 | return o6; |
michael@0 | 24 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 25 | try { o3.buffer = function() { o8 = o1.createBuffer(1, 0, 49074); |
michael@0 | 26 | o9 = o8.getChannelData(0); |
michael@0 | 27 | for(var i=0; i<0; ++i) { |
michael@0 | 28 | o9[i] = Math.sin(i * 0); |
michael@0 | 29 | } |
michael@0 | 30 | return o8; |
michael@0 | 31 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 32 | try { o3.buffer = function() { o10 = o1.createBuffer(1, 31, 86527); |
michael@0 | 33 | o11 = o10.getChannelData(0); |
michael@0 | 34 | for(var i=0; i<31; ++i) { |
michael@0 | 35 | o11[i] = Math.sin(i * 127); |
michael@0 | 36 | } |
michael@0 | 37 | return o10; |
michael@0 | 38 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 39 | try { o3.stop(-1) } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 40 | /* [Exception... "An attempt was made to use an object that is not, or is no longer, usable" code: "11" nsresult: "0x8053000b (InvalidStateError)" location: "file:///Users/cdiehl/dev/projects/peach/Peach/Utilities/JS/undefined.js Line: 602"] */ |
michael@0 | 41 | try { o3.channelCountMode = 'explicit'; } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 42 | try { o12 = o1.createBiquadFilter(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 43 | try { o3.buffer = function() { o13 = o1.createBuffer(1, 63, 28347); |
michael@0 | 44 | o14 = o13.getChannelData(0); |
michael@0 | 45 | for(var i=0; i<63; ++i) { |
michael@0 | 46 | o14[i] = Math.sin(i * 15); |
michael@0 | 47 | } |
michael@0 | 48 | return o13; |
michael@0 | 49 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 50 | try { o12.channelCount = 1; } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 51 | try { o12.connect(GainNode, 65536, 0) } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 52 | /* TypeError: Value does not implement interface AudioNode. */ |
michael@0 | 53 | try { o3.buffer = function() { o15 = o1.createBuffer(1, 1, 72540); |
michael@0 | 54 | o16 = o15.getChannelData(0); |
michael@0 | 55 | for(var i=0; i<1; ++i) { |
michael@0 | 56 | o16[i] = Math.sin(i * 7); |
michael@0 | 57 | } |
michael@0 | 58 | return o15; |
michael@0 | 59 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 60 | try { o12.getFrequencyResponse(new Float32Array(7), new Float32Array(127), new Float32Array(7)) } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 61 | try { o12.getFrequencyResponse(new Float32Array(15), new Float32Array(127), new Float32Array(7)) } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 62 | try { o17 = document.createElement('audio'); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 63 | try { (document.body || document.documentElement).appendChild(o0); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 64 | try { o3.buffer = function() { o18 = o1.createBuffer(1, 7, 91261); |
michael@0 | 65 | o19 = o18.getChannelData(0); |
michael@0 | 66 | for(var i=0; i<7; ++i) { |
michael@0 | 67 | o19[i] = Math.sin(i * 7); |
michael@0 | 68 | } |
michael@0 | 69 | return o18; |
michael@0 | 70 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 71 | try { o12.getFrequencyResponse(new Float32Array(31), new Float32Array(31), new Float32Array(127)) } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 72 | try { o20 = o1.createChannelSplitter(1, 2, 4, 16, 32); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 73 | try { o12.channelCountMode = 'explicit'; } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 74 | try { o3.buffer = function() { o21 = o1.createBuffer(1, 0, 14451); |
michael@0 | 75 | o22 = o21.getChannelData(0); |
michael@0 | 76 | for(var i=0; i<0; ++i) { |
michael@0 | 77 | o22[i] = Math.sin(i * 63); |
michael@0 | 78 | } |
michael@0 | 79 | return o21; |
michael@0 | 80 | }(); } catch(e) { Logger.error(Logger.comment(e)); } |
michael@0 | 81 | </script> |