{"action":"closed","issue":{"url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/459","labels_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/459/labels{/name}","comments_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/459/comments","events_url":"https://api.github.com/repos/WebAudio/web-audio-api/issues/459/events","html_url":"https://github.com/WebAudio/web-audio-api/issues/459","id":52072525,"number":459,"title":"ChannelMergerNode in a cycle has unspecified behaviour","user":{"login":"mark-buer","id":2610458,"avatar_url":"https://avatars.githubusercontent.com/u/2610458?v=3","gravatar_id":"","url":"https://api.github.com/users/mark-buer","html_url":"https://github.com/mark-buer","followers_url":"https://api.github.com/users/mark-buer/followers","following_url":"https://api.github.com/users/mark-buer/following{/other_user}","gists_url":"https://api.github.com/users/mark-buer/gists{/gist_id}","starred_url":"https://api.github.com/users/mark-buer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mark-buer/subscriptions","organizations_url":"https://api.github.com/users/mark-buer/orgs","repos_url":"https://api.github.com/users/mark-buer/repos","events_url":"https://api.github.com/users/mark-buer/events{/privacy}","received_events_url":"https://api.github.com/users/mark-buer/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/WebAudio/web-audio-api/milestones/5","html_url":"https://github.com/WebAudio/web-audio-api/milestones/Uncommitted","labels_url":"https://api.github.com/repos/WebAudio/web-audio-api/milestones/5/labels","id":1110352,"number":5,"title":"Uncommitted","description":"For new issues which have not yet been classified.","creator":{"login":"mdjp","id":835015,"avatar_url":"https://avatars.githubusercontent.com/u/835015?v=3","gravatar_id":"","url":"https://api.github.com/users/mdjp","html_url":"https://github.com/mdjp","followers_url":"https://api.github.com/users/mdjp/followers","following_url":"https://api.github.com/users/mdjp/following{/other_user}","gists_url":"https://api.github.com/users/mdjp/gists{/gist_id}","starred_url":"https://api.github.com/users/mdjp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdjp/subscriptions","organizations_url":"https://api.github.com/users/mdjp/orgs","repos_url":"https://api.github.com/users/mdjp/repos","events_url":"https://api.github.com/users/mdjp/events{/privacy}","received_events_url":"https://api.github.com/users/mdjp/received_events","type":"User","site_admin":false},"open_issues":33,"closed_issues":1,"state":"open","created_at":"2015-05-14T15:00:23Z","updated_at":"2015-06-01T14:58:00Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2014-12-16T04:29:25Z","updated_at":"2015-06-01T14:58:00Z","closed_at":"2015-06-01T14:58:00Z","body":"What happens if the output of a ChannelMergerNode is fed back into it's input (via a DelayNode)?\r\nThe specification does not state the expected runtime behaviour.\r\n\r\nAs an illustration, please consider the following JS snippet where a ChannelMergerNode has two connected inputs - an oscillator, and the ChannelMergerNode itself (via a DelayNode):\r\n```javascript\r\nvar audioContext;\r\nif (!audioContext) {\r\n    if (window.AudioContext) {\r\n        audioContext = new AudioContext();\r\n    } else if (window.webkitAudioContext) {\r\n        audioContext = new webkitAudioContext();  \r\n    } else {\r\n        throw new Error('AudioContext missing');\r\n    }\r\n}\r\n\r\nvar o = audioContext.createOscillator();\r\nvar m = audioContext.createChannelMerger(2);\r\nvar d = audioContext.createDelay();\r\n\r\no.connect(m, 0, 0);\r\nd.connect(m, 0, 1);\r\nm.connect(d);\r\nm.connect(audioContext.destination);\r\nd.delayTime.value = 0.5;\r\no.start(0);\r\n```\r\n\r\nThe snippet produces silence in Blink and seems to correctly produce a tone in Mozilla."}}