{"action":"created","issue":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1527","repository_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef","labels_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1527/labels{/name}","comments_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1527/comments","events_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1527/events","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1527","id":144781235,"number":1527,"title":"ffmpeg: enumerate all extensions supported by ffmpeg.","user":{"login":"xinyazhang","id":11429462,"avatar_url":"https://avatars.githubusercontent.com/u/11429462?v=3","gravatar_id":"","url":"https://api.github.com/users/xinyazhang","html_url":"https://github.com/xinyazhang","followers_url":"https://api.github.com/users/xinyazhang/followers","following_url":"https://api.github.com/users/xinyazhang/following{/other_user}","gists_url":"https://api.github.com/users/xinyazhang/gists{/gist_id}","starred_url":"https://api.github.com/users/xinyazhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xinyazhang/subscriptions","organizations_url":"https://api.github.com/users/xinyazhang/orgs","repos_url":"https://api.github.com/users/xinyazhang/repos","events_url":"https://api.github.com/users/xinyazhang/events{/privacy}","received_events_url":"https://api.github.com/users/xinyazhang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-31T03:45:00Z","updated_at":"2016-03-31T10:08:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/pulls/1527","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1527","diff_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1527.diff","patch_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1527.patch"},"body":"This patch lets the ffmpeg plugin enumerate all extensions supported by ffmpeg. It basically works.\r\n(tested by disabling most decoders, works for mp3, m4a, wv and flac).\r\n\r\nHowever there are some issues to solve so I send this PR mainly for comments.\r\n\r\n1. Conflicts with other plugins.\r\nAlthough ffmpeg works for most formats but it's not the best if we already support some format with specific library.\r\nFor example, I cannot play APE flawlessly with ffmpeg on my platform.\r\nCurrently I'm planning to have a \"blacklist\" that disables some extensions for ffmpeg plugin, e.g. ape and other common extensions.\r\nDoes this sound OK for you?\r\n\r\n2. GUI changes\r\nIn this patch I've already added an option to enable this feature, but I think if we are going to use the \"blacklist\", then it's better to allow users editing this list.\r\n\r\n3. What extensions do we support?\r\nErr, ffmpeg supports tons of formats. Is there an elegant way to show the list?\r\n\r\n4. Anything else I forgot?\r\n\r\nThanks."},"comment":{"url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/comments/203863313","html_url":"https://github.com/Alexey-Yakovenko/deadbeef/pull/1527#issuecomment-203863313","issue_url":"https://api.github.com/repos/Alexey-Yakovenko/deadbeef/issues/1527","id":203863313,"user":{"login":"Alexey-Yakovenko","id":1895698,"avatar_url":"https://avatars.githubusercontent.com/u/1895698?v=3","gravatar_id":"","url":"https://api.github.com/users/Alexey-Yakovenko","html_url":"https://github.com/Alexey-Yakovenko","followers_url":"https://api.github.com/users/Alexey-Yakovenko/followers","following_url":"https://api.github.com/users/Alexey-Yakovenko/following{/other_user}","gists_url":"https://api.github.com/users/Alexey-Yakovenko/gists{/gist_id}","starred_url":"https://api.github.com/users/Alexey-Yakovenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Alexey-Yakovenko/subscriptions","organizations_url":"https://api.github.com/users/Alexey-Yakovenko/orgs","repos_url":"https://api.github.com/users/Alexey-Yakovenko/repos","events_url":"https://api.github.com/users/Alexey-Yakovenko/events{/privacy}","received_events_url":"https://api.github.com/users/Alexey-Yakovenko/received_events","type":"User","site_admin":false},"created_at":"2016-03-31T10:08:54Z","updated_at":"2016-03-31T10:08:54Z","body":"I like what you did with the option \"Use all extensions\", than what I had in mind.\r\n\r\nThis way, we don't even need to show the user which extensions are supported.\r\n\r\nWe can even add a hack, to allow ffmpeg to probe ANY files, without ever generating a list.\r\n\r\nE.g. `exts = { \"*\", NULL }`, and treat the \"*\" as a special indicator, that the plugin can probe the files itself.\r\n\r\nThat should solve most of the hassle. What do you think?"}}