{"action":"created","issue":{"url":"https://api.github.com/repos/mono/MonoGame/issues/4359","labels_url":"https://api.github.com/repos/mono/MonoGame/issues/4359/labels{/name}","comments_url":"https://api.github.com/repos/mono/MonoGame/issues/4359/comments","events_url":"https://api.github.com/repos/mono/MonoGame/issues/4359/events","html_url":"https://github.com/mono/MonoGame/pull/4359","id":123792130,"number":4359,"title":"Fix for OS X OpenAL implementation when accessing a disposed source","user":{"login":"mrhelmut","id":3427451,"avatar_url":"https://avatars.githubusercontent.com/u/3427451?v=3","gravatar_id":"","url":"https://api.github.com/users/mrhelmut","html_url":"https://github.com/mrhelmut","followers_url":"https://api.github.com/users/mrhelmut/followers","following_url":"https://api.github.com/users/mrhelmut/following{/other_user}","gists_url":"https://api.github.com/users/mrhelmut/gists{/gist_id}","starred_url":"https://api.github.com/users/mrhelmut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrhelmut/subscriptions","organizations_url":"https://api.github.com/users/mrhelmut/orgs","repos_url":"https://api.github.com/users/mrhelmut/repos","events_url":"https://api.github.com/users/mrhelmut/events{/privacy}","received_events_url":"https://api.github.com/users/mrhelmut/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-12-24T11:08:42Z","updated_at":"2015-12-24T12:22:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mono/MonoGame/pulls/4359","html_url":"https://github.com/mono/MonoGame/pull/4359","diff_url":"https://github.com/mono/MonoGame/pull/4359.diff","patch_url":"https://github.com/mono/MonoGame/pull/4359.patch"},"body":"It looks like OS X OpenAL implementation handles ```AL.GetSourceState``` differently. It raises an error flag if ```alSourceId``` is disposed, while on other systems it returns ```ALSourceState.Stopped``` with no error. Hence, calling ```OggStream.Stop()``` should be prevented if the stream has already been disposed, otherwise it just crash on OS X.\r\n\r\nFixes #4346 \r\n\r\nMore details in the issue report.\r\n\r\n@cra0zy Mind reviewing this one?"},"comment":{"url":"https://api.github.com/repos/mono/MonoGame/issues/comments/167103972","html_url":"https://github.com/mono/MonoGame/pull/4359#issuecomment-167103972","issue_url":"https://api.github.com/repos/mono/MonoGame/issues/4359","id":167103972,"user":{"login":"mrhelmut","id":3427451,"avatar_url":"https://avatars.githubusercontent.com/u/3427451?v=3","gravatar_id":"","url":"https://api.github.com/users/mrhelmut","html_url":"https://github.com/mrhelmut","followers_url":"https://api.github.com/users/mrhelmut/followers","following_url":"https://api.github.com/users/mrhelmut/following{/other_user}","gists_url":"https://api.github.com/users/mrhelmut/gists{/gist_id}","starred_url":"https://api.github.com/users/mrhelmut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrhelmut/subscriptions","organizations_url":"https://api.github.com/users/mrhelmut/orgs","repos_url":"https://api.github.com/users/mrhelmut/repos","events_url":"https://api.github.com/users/mrhelmut/events{/privacy}","received_events_url":"https://api.github.com/users/mrhelmut/received_events","type":"User","site_admin":false},"created_at":"2015-12-24T12:22:18Z","updated_at":"2015-12-24T12:22:18Z","body":"```MediaPlayer.Play()``` tries to clear any queued ```Song```. The problem is that ```OggStream.Stop()``` is called even if the previous ```Song``` has been disposed (```Content.Unload()```) before playing the new one."}}