{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/4402","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/4402/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/4402/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/4402/events","html_url":"https://github.com/xbmc/xbmc/pull/4402","id":29227163,"number":4402,"title":"Audio dsp addon handling","user":{"login":"AlwinEsch","id":6879739,"avatar_url":"https://avatars.githubusercontent.com/u/6879739?v=3","gravatar_id":"","url":"https://api.github.com/users/AlwinEsch","html_url":"https://github.com/AlwinEsch","followers_url":"https://api.github.com/users/AlwinEsch/followers","following_url":"https://api.github.com/users/AlwinEsch/following{/other_user}","gists_url":"https://api.github.com/users/AlwinEsch/gists{/gist_id}","starred_url":"https://api.github.com/users/AlwinEsch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlwinEsch/subscriptions","organizations_url":"https://api.github.com/users/AlwinEsch/orgs","repos_url":"https://api.github.com/users/AlwinEsch/repos","events_url":"https://api.github.com/users/AlwinEsch/events{/privacy}","received_events_url":"https://api.github.com/users/AlwinEsch/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/J*****","name":"J*****","color":"fad8c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":133,"created_at":"2014-03-12T00:20:09Z","updated_at":"2015-07-07T23:05:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/4402","html_url":"https://github.com/xbmc/xbmc/pull/4402","diff_url":"https://github.com/xbmc/xbmc/pull/4402.diff","patch_url":"https://github.com/xbmc/xbmc/pull/4402.patch"},"body":"Attached a audio DSP processing system over add-ons.\r\n\r\nThis is my first version and not complete finished. Can you have a look over it and any ideas for things which must be improved or are wrong.\r\n\r\n<b>The current system in steps:</b>\r\n- Data is passed from CActiveAEBufferPoolResample to the DSP processing system if DSP enabled and minimum one add-on is available.\r\n- All Add-ons are asked about the requested stream type to find available addons and modes, e.g. 5.1 Audio not need a stereo up mix.\r\n- The system makes a list of master processing modes which are selectable from user.\r\n- The system makes also a list of pre and post processing modes which are selectable and process point moveable inside Settings->System->Audio->Audio DSP Settings\r\n- On data processing it goes over following steps:\r\n  1. Input processing - Unmodified input stream and is send to all enabled add-ons for detection and error correction\r\n  2. Input re-sample - Re sample of the input signal for the master processing, only one add-on is allowed for it.\r\n  3. Pre processing - Used for any steps before master processing. All enabled add-ons functions are called to make this.\r\n  4. Master processing - The main processing like, surround up mix or sound modification processes. Only one from user over menu selectable mode is allowed. Add-ons can pass multiple selectable modes to KODI. If input channel alignment on it is higher as requested output and the master mode does not perform a down mix it becomes handled from ffmpeg re sample after return of master function.\r\n  5. Post processing - Used for any other steps like, volume correction, equalizer and much more. All enabled add-ons functions are called to make this.\r\n  6. Output re-sample - Re sampling of the processing signal to KODI audio output processing.\r\n \r\nThe pre and post processing modes can be selected and moved within processing chain on audio dsp settings inside Settings->System->Audio.\r\n\r\n<b>Things to do or finished:</b>\r\n- The first version of dsp add-on headers and the basic system is finished.\r\n- Things for me which missing and are to-do:\r\n  1. Code cleanup\r\n  2. Faults removal\r\n  3. Create a helper documentation about a DSP add-on programming\r\n  4. Code re check\r\n\r\nAddon position\r\n![audiodsp1](https://f.cloud.github.com/assets/6879739/2392569/ed697c82-a97a-11e3-897a-accbe46ea1ae.png)\r\nThe DSP enable position\r\n![audiodsp - addon setting6](https://cloud.githubusercontent.com/assets/6879739/2752969/f1b56d86-c924-11e3-95b7-bd723ac63615.png)\r\nThe button position to select streaming DSP settings dialogue\r\n![audiodsp - addon setting4](https://cloud.githubusercontent.com/assets/6879739/2752939/25c64204-c924-11e3-9424-109462f119ad.png)\r\nThe basic settings dialogue, separated in sub menus\r\n![audiodsp - addon setting5](https://cloud.githubusercontent.com/assets/6879739/2752961/a3d2bc72-c924-11e3-9f1f-37eddecd9c78.png)\r\nA add-on master mode settings dialogue\r\n![audiodsp - addon setting](https://f.cloud.github.com/assets/6879739/2427662/a7117aec-abfe-11e3-90b3-670f6e94d22b.png)\r\nProcess chain information dialog (with CPU usage)\r\n![audiodsp - addon setting2](https://cloud.githubusercontent.com/assets/6879739/2571813/d2d6db0e-b90a-11e3-9a8d-bf928e26956a.png)\r\nAdd-on mode process chain selection dialogue\r\n![audiodsp - addon setting3](https://cloud.githubusercontent.com/assets/6879739/2571814/d2dfc69c-b90a-11e3-8b04-2e618e3cb3f9.png)\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/119370076","html_url":"https://github.com/xbmc/xbmc/pull/4402#issuecomment-119370076","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/4402","id":119370076,"user":{"login":"AchimTuran","id":6927011,"avatar_url":"https://avatars.githubusercontent.com/u/6927011?v=3","gravatar_id":"","url":"https://api.github.com/users/AchimTuran","html_url":"https://github.com/AchimTuran","followers_url":"https://api.github.com/users/AchimTuran/followers","following_url":"https://api.github.com/users/AchimTuran/following{/other_user}","gists_url":"https://api.github.com/users/AchimTuran/gists{/gist_id}","starred_url":"https://api.github.com/users/AchimTuran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AchimTuran/subscriptions","organizations_url":"https://api.github.com/users/AchimTuran/orgs","repos_url":"https://api.github.com/users/AchimTuran/repos","events_url":"https://api.github.com/users/AchimTuran/events{/privacy}","received_events_url":"https://api.github.com/users/AchimTuran/received_events","type":"User","site_admin":false},"created_at":"2015-07-07T23:05:07Z","updated_at":"2015-07-07T23:05:07Z","body":"Hi guys,\r\n\r\nI rebased Alwins fork. @FernetMenta, @AlwinEsch, @fritsch and others can we merge ADSP in the next days?\r\nAt the moment Add-ons are not tested and I hope I find some time on the weekend.\r\n\r\nAnd jenkins build this please (my first try) ;)"}}