| Summary: | Add JACK backend to SDL | ||
|---|---|---|---|
| Product: | SDL | Reporter: | le.businessman |
| Component: | audio | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Ryan C. Gordon <icculus> |
| Severity: | enhancement | ||
| Priority: | P2 | CC: | jakemsr, philipp.wiesemann, pshirkey, slouken, stormbyte |
| Version: | HG 2.0 | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Attachments: | Patch for JACK support in SDL | ||
|
Description
le.businessman
2013-10-19 03:39:33 UTC
SDL is currently distributed under the zlib license which is more permissive then the LPGL license used for the files in the patch. In most cases it will not matter match but maybe it would be useful to have only similar licenses in SDL. (In reply to Philipp Wiesemann from comment #1) > SDL is currently distributed under the zlib license which is more permissive > then the LPGL license used for the files in the patch. > > In most cases it will not matter match but maybe it would be useful to have > only similar licenses in SDL. Fine by me since it's likely that the license was just copy-pasted from another SDL file when SDL was still LGPL. However, it's my understanding that Jacob Meuser and Sam Lantinga would have to give the ok as well. Reference: http://www.paritynews.com/2013/08/13/2298/sdl-2-0-released-does-away-with-gpllgpl-to-adopt-zlib-licensing/ (In reply to le.businessman from comment #2) > (In reply to Philipp Wiesemann from comment #1) > > SDL is currently distributed under the zlib license which is more permissive > > then the LPGL license used for the files in the patch. > > > > In most cases it will not matter match but maybe it would be useful to have > > only similar licenses in SDL. > > Fine by me since it's likely that the license was just copy-pasted from > another SDL file when SDL was still LGPL. However, it's my understanding > that Jacob Meuser and Sam Lantinga would have to give the ok as well. I've cc'd Jacob and Sam to see if they're ok with changing the license from LGPL to zlib. I can confirm this patch is working. Tested with simplemixer and tesseract on Linux. export SDL_AUDIODRIVER=jack; ./simplemixer (In reply to le.businessman from comment #3) > I've cc'd Jacob and Sam to see if they're ok with changing the license from > LGPL to zlib. I assume Sam would be okay with it, but we'd need to hear back from Jacob before going further with this patch. Let me know if he responds, and where I can read a copy of his response. Thanks, --ryan. (In reply to Ryan C. Gordon from comment #5) > (In reply to le.businessman from comment #3) > > I've cc'd Jacob and Sam to see if they're ok with changing the license from > > LGPL to zlib. > > I assume Sam would be okay with it, but we'd need to hear back from Jacob > before going further with this patch. Let me know if he responds, and where > I can read a copy of his response. For sure, may be easier said than done though: http://linux-unix-open-source.1053819.n5.nabble.com/Kinda-OT-Whereabouts-of-Jacob-Meuser-td5570016.html Any news on this? I think this is really useful, specially since Steam, for example, uses libSDL2 as part of its runtime, and its support for jack could be very useful, (In reply to David Carlos Manuelda from comment #7) > Any news on this? I think this is really useful, specially since Steam, for > example, uses libSDL2 as part of its runtime, and its support for jack could > be very useful, Maybe we can change the license of the patch to zlib instead of the other way around? Is the LGPL permissive enough for that? > Maybe we can change the license of the patch to zlib instead of the other > way around? Is the LGPL permissive enough for that? No, but I've now written a JACK target from scratch to replace it. I did not use Jacob's code for a reference (this used the existing PulseAudio target as a template--though it doesn't look much like it now--and the API docs at http://jackaudio.org/ ). As of https://hg.libsdl.org/SDL/rev/5da1c02714b0, JACK should work, but you'll likely have to force it on, since SDL will currently favor ALSA, OSS, Pulse, etc first and probably find _one_ of those. So be sure to: export SDL_AUDIODRIVER=jack This might change at some point (chances are if you're running a JACK server you probably want JACK, so maybe SDL should try it first at some point). This code supports capture devices, so not only can you play audio, but you can also read in data from a JACK port (record audio from a microphone) and receive it via SDL. The source code is in src/audio/jack ... https://hg.libsdl.org/SDL/file/tip/src/audio/jack/SDL_jackaudio.c There are likely improvements to make to this code, but it already works pretty well here. So I'm resolving this bug. --ryan. |