-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A new AudioEngine sink for sndio #11962
Conversation
xbmc/filesystem/SMBDirectory.cpp
Outdated
| @@ -31,6 +31,7 @@ | |||
|
|
|||
| #include "system.h" | |||
|
|
|||
| #ifdef HAS_FILESYSTEM_SMB | |||
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
| struct sio_hdl *m_hdl; | ||
| struct sio_par par; | ||
| ssize_t played; | ||
| ssize_t written; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
@t6 please rebase and remove the commits not needed. One thing to add: there is a currently work going on in order to remove the ugly Factory that instantiates the sink (you cannot know that). So if we would merge that one, will you help us to also port this specific sink to the upcoming factory changes? And something also clear: You will become the maintainer of that one after review is finished, right? And last but not least did you run time test it? |
|
Also please drop the first commit - the build fixes. This should go in separately after reviewed by @wsnipex - if it needs to go in prior to the sink commit, then so be it. In general for kodi we make "topic" PRs, e.g. adding one feature, doing exactly one fix and so on. So in your case: PR 1: Build fixes Thanks in advance. |
|
One thing I have forgotten: |
Sure.
Yes, of course.
Yes.
Sure, I'll open a second PR. It needs to go in after the sink though. Probably best to do it after this is in so I can properly rebase it on top of master. https://github.com/t6/xbmc/compare/patch-sndio-cmake...t6:patch-freebsd
Done. |
|
ping @fritsch |
|
@fritsch is this PR ready for a merge? |
|
In my view the changes in the sink factory are looking good. Furthermore the sink should not break other platforms as it is not build there. Jenkins build this please. |
|
jenkins build this please |
|
@t6 |
This is essentially a backport of [1] which was already merged and will hopefully be part of the next Kodi release. [1] xbmc/xbmc#11962 PR: 220231 Approved by: mickael.maillot@gmail.com (maintainer timeout, 3 months) git-svn-id: svn+ssh://svn.freebsd.org/ports/head@452024 35697150-7ecd-e111-bb59-0022644237b5
This is essentially a backport of [1] which was already merged and will hopefully be part of the next Kodi release. [1] xbmc/xbmc#11962 PR: 220231 Approved by: mickael.maillot@gmail.com (maintainer timeout, 3 months)
This is essentially a backport of [1] which was already merged and will hopefully be part of the next Kodi release. [1] xbmc/xbmc#11962 PR: 220231 Approved by: mickael.maillot@gmail.com (maintainer timeout, 3 months)
Description
A new AudioEngine sink for sndio.
Motivation and Context
Sndio is an audio framework developed by the OpenBSD project. So far
it's supports Linux, DragonFly BSD, FreeBSD, and OpenBSD.
I'm currently running a patched version of the Kodi FreeBSD port with
this sink enabled. It would be nice if this can be included properly.
The pull request includes some changes (mostly adding missing
includes) that were required for building Kodi on FreeBSD. The ALSA
backend doesn't currently compile on FreeBSD.
How Has This Been Tested?
I've tested the sink on FreeBSD HEAD and Fedora 25 with Kodi compiled
from the master branch. I've been patching the FreeBSD port with
versions of this sink for the last 6 months or so. Ubuntu/Debian have
an sndio package, but on Fedora you have to install it manually.
To test it on Linux you probably need to disable PulseAudio
temporarily to free the audio device.
sndiodwill lock it while itis running. Start
sndiod -ddso that it runs in the foreground andprints debug messages. Kodi was started with
AE_SINK=sndio ./kodi.bin -pfrom the build directory.Types of change
Checklist: