mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-15 06:59:58 -05:00
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
This commit is contained in:
commit
dcee888865
325 changed files with 1300 additions and 865 deletions
|
|
@ -61,6 +61,12 @@ dist-hook:
|
|||
( git-changelog.perl || echo "git-changelog.perl failed." ) > ${distdir}/ChangeLog 2>&1 ; \
|
||||
fi
|
||||
|
||||
update-shave:
|
||||
for i in shave.in shave.m4 shave-libtool.in; do \
|
||||
wget -O $$i http://git.lespiau.name/cgit/shave/blob/\?path=shave/$$i ; \
|
||||
done
|
||||
mv shave.m4 m4/
|
||||
|
||||
.PHONY: homepage distcleancheck doxygen
|
||||
|
||||
DISTCLEANFILES = \
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ else
|
|||
|
||||
rm -f Makefile.am~ configure.ac~
|
||||
# Evil, evil, evil, evil hack
|
||||
sed 's/read dummy/\#/' `which gettextize` | sh -s -- --copy --force
|
||||
sed 's/read dummy/\#/' `which gettextize` | bash -s -- --copy --force
|
||||
test -f Makefile.am~ && mv Makefile.am~ Makefile.am
|
||||
test -f configure.ac~ && mv configure.ac~ configure.ac
|
||||
|
||||
|
|
|
|||
18
configure.ac
18
configure.ac
|
|
@ -70,8 +70,7 @@ fi
|
|||
|
||||
case $host in
|
||||
*-*-solaris* )
|
||||
AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
|
||||
AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
|
||||
AC_DEFINE(_XOPEN_SOURCE, 600, Needed to get declarations for msg_control and msg_controllen on Solaris)
|
||||
AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
|
||||
;;
|
||||
esac
|
||||
|
|
@ -92,11 +91,20 @@ AC_USE_SYSTEM_EXTENSIONS
|
|||
|
||||
# M4
|
||||
|
||||
AC_PATH_PROG([M4], [m4 gm4], [no])
|
||||
AC_CHECK_PROGS([M4], gm4 m4, no)
|
||||
if test "x$M4" = xno ; then
|
||||
AC_MSG_ERROR([m4 missing])
|
||||
fi
|
||||
|
||||
# Linker
|
||||
|
||||
AC_PROG_LD
|
||||
AC_PROG_LD_GNU
|
||||
|
||||
AC_SUBST(HAVE_GNU_LD)
|
||||
AM_CONDITIONAL([HAVE_GNU_LD], [test "x$HAVE_GNU_LD" = x1])
|
||||
|
||||
|
||||
dnl Compiler flags
|
||||
DESIRED_FLAGS="-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option"
|
||||
|
||||
|
|
@ -990,7 +998,7 @@ AC_ARG_ENABLE([udev],
|
|||
],
|
||||
[udev=auto])
|
||||
if test "x${udev}" != xno -a \( "x$HAVE_OSS" = "x1" -o "x$HAVE_ALSA" = "x1" \) ; then
|
||||
PKG_CHECK_MODULES(UDEV, [ libudev ],
|
||||
PKG_CHECK_MODULES(UDEV, [ libudev >= 137 ],
|
||||
[
|
||||
HAVE_UDEV=1
|
||||
AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])
|
||||
|
|
@ -1059,7 +1067,7 @@ if test "x$HAVE_HAL" = x1 ; then
|
|||
dbus=yes
|
||||
fi
|
||||
|
||||
if test "x${dbus}" != xno || test "x${bluez}" != xno || "x${hal}" != xno ; then
|
||||
if test "x${dbus}" != xno || test "x${bluez}" != xno || test "x${hal}" != xno ; then
|
||||
|
||||
PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.0.0 ],
|
||||
[
|
||||
|
|
|
|||
50
m4/shave.m4
50
m4/shave.m4
|
|
@ -1,9 +1,12 @@
|
|||
dnl Make automake/libtool output more friendly to humans
|
||||
dnl
|
||||
dnl SHAVE_INIT([shavedir])
|
||||
dnl SHAVE_INIT([shavedir],[default_mode])
|
||||
dnl
|
||||
dnl shavedir: the directory where the shave scripts are, it defaults to
|
||||
dnl $(top_builddir)
|
||||
dnl default_mode: (enable|disable) default shave mode. This parameter
|
||||
dnl controls shave's behaviour when no option has been
|
||||
dnl given to configure. It defaults to disable.
|
||||
dnl
|
||||
dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just
|
||||
dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrites CC and
|
||||
|
|
@ -11,19 +14,26 @@ dnl LIBTOOL, you don't want the configure tests to have these variables
|
|||
dnl re-defined.
|
||||
dnl * This macro requires GNU make's -s option.
|
||||
|
||||
AC_DEFUN([_SHAVE_ARG_ENABLE],
|
||||
[
|
||||
AC_ARG_ENABLE([shave],
|
||||
AS_HELP_STRING(
|
||||
[--enable-shave],
|
||||
[use shave to make the build pretty [[default=$1]]]),,
|
||||
[enable_shave=$1]
|
||||
)
|
||||
])
|
||||
|
||||
AC_DEFUN([SHAVE_INIT],
|
||||
[
|
||||
dnl enable/disable shave
|
||||
AC_ARG_ENABLE([shave],
|
||||
AS_HELP_STRING([--enable-shave],
|
||||
[use shave to make the build pretty [[default=no]]]),,
|
||||
[enable_shave=no])
|
||||
dnl you can tweak the default value of enable_shave
|
||||
m4_if([$2], [enable], [_SHAVE_ARG_ENABLE(yes)], [_SHAVE_ARG_ENABLE(no)])
|
||||
|
||||
if test x"$enable_shave" = xyes; then
|
||||
dnl where can we find the shave scripts?
|
||||
m4_if([$1],,
|
||||
[shavedir='$(top_builddir)'],
|
||||
[shavedir='$(top_builddir)'/$1])
|
||||
[shavedir="$ac_pwd"],
|
||||
[shavedir="$ac_pwd/$1"])
|
||||
AC_SUBST(shavedir)
|
||||
|
||||
dnl make is now quiet
|
||||
|
|
@ -35,19 +45,22 @@ AC_DEFUN([SHAVE_INIT],
|
|||
|
||||
dnl substitute libtool
|
||||
SHAVE_SAVED_LIBTOOL=$LIBTOOL
|
||||
AC_SUBST(SHAVE_SAVED_LIBTOOL)
|
||||
LIBTOOL="\$(SHELL) \$(shavedir)/shave-libtool '\$(SHAVE_SAVED_LIBTOOL)'"
|
||||
LIBTOOL="${SHELL} ${shavedir}/shave-libtool '${SHAVE_SAVED_LIBTOOL}'"
|
||||
AC_SUBST(LIBTOOL)
|
||||
|
||||
dnl substitute cc/cxx
|
||||
SHAVE_SAVED_CC=$CC
|
||||
SHAVE_SAVED_CXX=$CXX
|
||||
AC_SUBST(SHAVE_SAVED_CC)
|
||||
AC_SUBST(SHAVE_SAVED_CXX)
|
||||
CC="\$(SHELL) \$(shavedir)/shave cc '\$(SHAVE_SAVED_CC)'"
|
||||
CXX="\$(SHELL) \$(shavedir)/shave cxx '\$(SHAVE_SAVED_CXX)'"
|
||||
SHAVE_SAVED_FC=$FC
|
||||
SHAVE_SAVED_F77=$F77
|
||||
CC="${SHELL} ${shavedir}/shave cc ${SHAVE_SAVED_CC}"
|
||||
CXX="${SHELL} ${shavedir}/shave cxx ${SHAVE_SAVED_CXX}"
|
||||
FC="${SHELL} ${shavedir}/shave fc ${SHAVE_SAVED_FC}"
|
||||
F77="${SHELL} ${shavedir}/shave f77 ${SHAVE_SAVED_F77}"
|
||||
AC_SUBST(CC)
|
||||
AC_SUBST(CXX)
|
||||
AC_SUBST(FC)
|
||||
AC_SUBST(F77)
|
||||
|
||||
V=@
|
||||
else
|
||||
|
|
@ -58,12 +71,3 @@ AC_DEFUN([SHAVE_INIT],
|
|||
AC_SUBST(Q)
|
||||
])
|
||||
|
||||
AC_DEFUN([SHAVE_OUTPUT],
|
||||
[
|
||||
if test x"$enable_shave" = xyes; then
|
||||
dnl small workaround to fix libtool itself
|
||||
dnl it's shokingly hard to find a better way, really! wtf...
|
||||
test -f $srcdir/libtool && (tmpfile=`mktemp` && cat $srcdir/libtool | sed "s,^LTCC=.*$,LTCC=\"$SHELL $ac_pwd/shave cc $SHAVE_SAVED_CC\"," > $tmpfile && mv $tmpfile $srcdir/libtool)
|
||||
fi
|
||||
|
||||
])
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ fi
|
|||
|
||||
lt_unmangle ()
|
||||
{
|
||||
last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_]\*_la-##'`
|
||||
last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
|
||||
}
|
||||
|
||||
# the real libtool to use
|
||||
|
|
|
|||
8
shave.in
8
shave.in
|
|
@ -8,7 +8,7 @@ fi
|
|||
|
||||
lt_unmangle ()
|
||||
{
|
||||
last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_]\*_la-##'`
|
||||
last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'`
|
||||
}
|
||||
|
||||
# the tool to wrap (cc, cxx, ar, ranlib, ..)
|
||||
|
|
@ -50,6 +50,12 @@ link,*)
|
|||
*,cc)
|
||||
Q=" CC "
|
||||
;;
|
||||
*,fc)
|
||||
Q=" FC "
|
||||
;;
|
||||
*,f77)
|
||||
Q=" F77 "
|
||||
;;
|
||||
*,*)
|
||||
# should not happen
|
||||
Q=" CC "
|
||||
|
|
|
|||
|
|
@ -713,8 +713,11 @@ libpulse_la_SOURCES = \
|
|||
pulse/xmalloc.c pulse/xmalloc.h
|
||||
|
||||
libpulse_la_CFLAGS = $(AM_CFLAGS)
|
||||
libpulse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
|
||||
libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINORMICRO@.la
|
||||
libpulse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
|
||||
if HAVE_GNU_LD
|
||||
libpulse_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
||||
endif
|
||||
|
||||
if HAVE_X11
|
||||
libpulse_la_SOURCES += pulse/client-conf-x11.c pulse/client-conf-x11.h
|
||||
|
|
@ -725,17 +728,26 @@ endif
|
|||
libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
|
||||
libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
|
||||
libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la
|
||||
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
|
||||
libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
|
||||
if HAVE_GNU_LD
|
||||
libpulse_simple_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
||||
endif
|
||||
|
||||
libpulse_browse_la_SOURCES = pulse/browser.c pulse/browser.h pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
|
||||
libpulse_browse_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
|
||||
libpulse_browse_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(AVAHI_LIBS)
|
||||
libpulse_browse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_BROWSE_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
|
||||
libpulse_browse_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_BROWSE_VERSION_INFO)
|
||||
if HAVE_GNU_LD
|
||||
libpulse_browse_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
||||
endif
|
||||
|
||||
libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
|
||||
libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
|
||||
libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINORMICRO@.la $(GLIB20_LIBS)
|
||||
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO) -Wl,-version-script=$(srcdir)/map-file
|
||||
libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
|
||||
if HAVE_GNU_LD
|
||||
libpulse_mainloop_glib_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file
|
||||
endif
|
||||
|
||||
###################################
|
||||
# OSS emulation #
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -94,8 +94,10 @@ static const pa_daemon_conf default_conf = {
|
|||
,.rlimit_fsize = { .value = 0, .is_set = FALSE },
|
||||
.rlimit_data = { .value = 0, .is_set = FALSE },
|
||||
.rlimit_stack = { .value = 0, .is_set = FALSE },
|
||||
.rlimit_core = { .value = 0, .is_set = FALSE },
|
||||
.rlimit_rss = { .value = 0, .is_set = FALSE }
|
||||
.rlimit_core = { .value = 0, .is_set = FALSE }
|
||||
#ifdef RLIMIT_RSS
|
||||
,.rlimit_rss = { .value = 0, .is_set = FALSE }
|
||||
#endif
|
||||
#ifdef RLIMIT_NPROC
|
||||
,.rlimit_nproc = { .value = 0, .is_set = FALSE }
|
||||
#endif
|
||||
|
|
@ -472,7 +474,9 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
|
|||
{ "rlimit-data", parse_rlimit, &c->rlimit_data, NULL },
|
||||
{ "rlimit-stack", parse_rlimit, &c->rlimit_stack, NULL },
|
||||
{ "rlimit-core", parse_rlimit, &c->rlimit_core, NULL },
|
||||
#ifdef RLIMIT_RSS
|
||||
{ "rlimit-rss", parse_rlimit, &c->rlimit_rss, NULL },
|
||||
#endif
|
||||
#ifdef RLIMIT_NOFILE
|
||||
{ "rlimit-nofile", parse_rlimit, &c->rlimit_nofile, NULL },
|
||||
#endif
|
||||
|
|
@ -651,7 +655,9 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {
|
|||
pa_strbuf_printf(s, "rlimit-data = %li\n", c->rlimit_data.is_set ? (long int) c->rlimit_data.value : -1);
|
||||
pa_strbuf_printf(s, "rlimit-stack = %li\n", c->rlimit_stack.is_set ? (long int) c->rlimit_stack.value : -1);
|
||||
pa_strbuf_printf(s, "rlimit-core = %li\n", c->rlimit_core.is_set ? (long int) c->rlimit_core.value : -1);
|
||||
#ifdef RLIMIT_RSS
|
||||
pa_strbuf_printf(s, "rlimit-rss = %li\n", c->rlimit_rss.is_set ? (long int) c->rlimit_rss.value : -1);
|
||||
#endif
|
||||
#ifdef RLIMIT_AS
|
||||
pa_strbuf_printf(s, "rlimit-as = %li\n", c->rlimit_as.is_set ? (long int) c->rlimit_as.value : -1);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -87,8 +87,10 @@ typedef struct pa_daemon_conf {
|
|||
char *config_file;
|
||||
|
||||
#ifdef HAVE_SYS_RESOURCE_H
|
||||
pa_rlimit rlimit_fsize, rlimit_data, rlimit_stack, rlimit_core, rlimit_rss;
|
||||
|
||||
pa_rlimit rlimit_fsize, rlimit_data, rlimit_stack, rlimit_core;
|
||||
#ifdef RLIMIT_RSS
|
||||
pa_rlimit rlimit_rss;
|
||||
#endif
|
||||
#ifdef RLIMIT_NOFILE
|
||||
pa_rlimit rlimit_nofile;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -294,7 +294,9 @@ static void set_all_rlimits(const pa_daemon_conf *conf) {
|
|||
set_one_rlimit(&conf->rlimit_data, RLIMIT_DATA, "RLIMIT_DATA");
|
||||
set_one_rlimit(&conf->rlimit_stack, RLIMIT_STACK, "RLIMIT_STACK");
|
||||
set_one_rlimit(&conf->rlimit_core, RLIMIT_CORE, "RLIMIT_CORE");
|
||||
#ifdef RLIMIT_RSS
|
||||
set_one_rlimit(&conf->rlimit_rss, RLIMIT_RSS, "RLIMIT_RSS");
|
||||
#endif
|
||||
#ifdef RLIMIT_NPROC
|
||||
set_one_rlimit(&conf->rlimit_nproc, RLIMIT_NPROC, "RLIMIT_NPROC");
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -148,7 +148,7 @@ static void reserve_update(struct userdata *u) {
|
|||
const char *description;
|
||||
pa_assert(u);
|
||||
|
||||
if (!u->sink)
|
||||
if (!u->sink || !u->reserve)
|
||||
return;
|
||||
|
||||
if ((description = pa_proplist_gets(u->sink->proplist, PA_PROP_DEVICE_DESCRIPTION)))
|
||||
|
|
@ -164,6 +164,9 @@ static int reserve_init(struct userdata *u, const char *dname) {
|
|||
if (u->reserve)
|
||||
return 0;
|
||||
|
||||
if (pa_in_system_mode())
|
||||
return 0;
|
||||
|
||||
/* We are resuming, try to lock the device */
|
||||
if (!(rname = pa_alsa_get_reserve_name(dname)))
|
||||
return 0;
|
||||
|
|
@ -1187,17 +1190,11 @@ static int process_rewind(struct userdata *u) {
|
|||
|
||||
/* Figure out how much we shall rewind and reset the counter */
|
||||
rewind_nbytes = u->sink->thread_info.rewind_nbytes;
|
||||
u->sink->thread_info.rewind_nbytes = 0;
|
||||
|
||||
if (rewind_nbytes <= 0)
|
||||
goto finish;
|
||||
|
||||
pa_assert(rewind_nbytes > 0);
|
||||
pa_log_debug("Requested to rewind %lu bytes.", (unsigned long) rewind_nbytes);
|
||||
|
||||
snd_pcm_hwsync(u->pcm_handle);
|
||||
if ((unused = snd_pcm_avail_update(u->pcm_handle)) < 0) {
|
||||
pa_log("snd_pcm_avail_update() failed: %s", snd_strerror((int) unused));
|
||||
if (PA_UNLIKELY((unused = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->sink->sample_spec)) < 0)) {
|
||||
pa_log("snd_pcm_avail() failed: %s", snd_strerror((int) unused));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -1239,12 +1236,8 @@ static int process_rewind(struct userdata *u) {
|
|||
} else
|
||||
pa_log_debug("Mhmm, actually there is nothing to rewind.");
|
||||
|
||||
finish:
|
||||
|
||||
pa_sink_process_rewind(u->sink, 0);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static void thread_func(void *userdata) {
|
||||
|
|
@ -1273,7 +1266,7 @@ static void thread_func(void *userdata) {
|
|||
int work_done;
|
||||
pa_usec_t sleep_usec = 0;
|
||||
|
||||
if (u->sink->thread_info.rewind_requested)
|
||||
if (PA_UNLIKELY(u->sink->thread_info.rewind_requested))
|
||||
if (process_rewind(u) < 0)
|
||||
goto fail;
|
||||
|
||||
|
|
@ -1699,11 +1692,10 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
|
|||
u->watermark_step = pa_usec_to_bytes(TSCHED_WATERMARK_STEP_USEC, &u->sink->sample_spec);
|
||||
}
|
||||
|
||||
u->sink->thread_info.max_rewind = use_tsched ? u->hwbuf_size : 0;
|
||||
u->sink->thread_info.max_request = u->hwbuf_size;
|
||||
|
||||
pa_sink_set_max_rewind(u->sink, use_tsched ? u->hwbuf_size : 0);
|
||||
pa_sink_set_max_request(u->sink, u->hwbuf_size);
|
||||
pa_sink_set_latency_range(u->sink,
|
||||
!use_tsched ? pa_bytes_to_usec(u->hwbuf_size, &ss) : (pa_usec_t) -1,
|
||||
use_tsched ? (pa_usec_t) -1 : pa_bytes_to_usec(u->hwbuf_size, &ss),
|
||||
pa_bytes_to_usec(u->hwbuf_size, &ss));
|
||||
|
||||
pa_log_info("Using %u fragments of size %lu bytes, buffer time is %0.2fms",
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -146,7 +146,7 @@ static void reserve_update(struct userdata *u) {
|
|||
const char *description;
|
||||
pa_assert(u);
|
||||
|
||||
if (!u->source)
|
||||
if (!u->source || !u->reserve)
|
||||
return;
|
||||
|
||||
if ((description = pa_proplist_gets(u->source->proplist, PA_PROP_DEVICE_DESCRIPTION)))
|
||||
|
|
@ -162,6 +162,9 @@ static int reserve_init(struct userdata *u, const char *dname) {
|
|||
if (u->reserve)
|
||||
return 0;
|
||||
|
||||
if (pa_in_system_mode())
|
||||
return 0;
|
||||
|
||||
/* We are resuming, try to lock the device */
|
||||
if (!(rname = pa_alsa_get_reserve_name(dname)))
|
||||
return 0;
|
||||
|
|
@ -1542,7 +1545,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
|
|||
}
|
||||
|
||||
pa_source_set_latency_range(u->source,
|
||||
!use_tsched ? pa_bytes_to_usec(u->hwbuf_size, &ss) : (pa_usec_t) -1,
|
||||
use_tsched ? (pa_usec_t) -1 : pa_bytes_to_usec(u->hwbuf_size, &ss),
|
||||
pa_bytes_to_usec(u->hwbuf_size, &ss));
|
||||
|
||||
pa_log_info("Using %u fragments of size %lu bytes, buffer time is %0.2fms",
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -310,8 +310,9 @@ int pa__init(pa_module *m) {
|
|||
|
||||
pa_snprintf(rname, sizeof(rname), "Audio%i", alsa_card_index);
|
||||
|
||||
if (!(reserve = pa_reserve_wrapper_get(m->core, rname)))
|
||||
goto fail;
|
||||
if (!pa_in_system_mode())
|
||||
if (!(reserve = pa_reserve_wrapper_get(m->core, rname)))
|
||||
goto fail;
|
||||
|
||||
pa_card_new_data_init(&data);
|
||||
data.driver = __FILE__;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ struct bt_get_capabilities_req {
|
|||
|
||||
#define BT_HFP_CODEC_PCM 0x00
|
||||
|
||||
#define BT_PCM_FLAG_NREC 1
|
||||
#define BT_PCM_FLAG_NREC 0x01
|
||||
#define BT_PCM_FLAG_PCM_ROUTING 0x02
|
||||
|
||||
typedef struct {
|
||||
uint8_t transport;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -487,7 +487,7 @@ static void sink_input_kill_cb(pa_sink_input *i) {
|
|||
struct output *o;
|
||||
|
||||
pa_sink_input_assert_ref(i);
|
||||
pa_assert(o = i->userdata);
|
||||
pa_assert_se(o = i->userdata);
|
||||
|
||||
pa_module_unload_request(o->userdata->module, TRUE);
|
||||
output_free(o);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -163,7 +163,7 @@ static int jack_process(jack_nframes_t nframes, void *arg) {
|
|||
pa_assert(u);
|
||||
|
||||
for (c = 0; c < u->channels; c++)
|
||||
pa_assert(buffer[c] = jack_port_get_buffer(u->port[c], nframes));
|
||||
pa_assert_se(buffer[c] = jack_port_get_buffer(u->port[c], nframes));
|
||||
|
||||
/* We interleave the data and pass it on to the other RT thread */
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -152,11 +152,18 @@ static void resolver_cb(
|
|||
if (event != AVAHI_RESOLVER_FOUND)
|
||||
pa_log("Resolving of '%s' failed: %s", name, avahi_strerror(avahi_client_errno(u->client)));
|
||||
else {
|
||||
char *device = NULL, *dname, *vname, *args;
|
||||
char *device = NULL, *nicename, *dname, *vname, *args;
|
||||
char at[AVAHI_ADDRESS_STR_MAX];
|
||||
AvahiStringList *l;
|
||||
pa_module *m;
|
||||
|
||||
if ((nicename = strstr(name, "@"))) {
|
||||
++nicename;
|
||||
if (strlen(nicename) > 0) {
|
||||
pa_log_debug("Found RAOP: %s", nicename);
|
||||
}
|
||||
}
|
||||
|
||||
for (l = txt; l; l = l->next) {
|
||||
char *key, *value;
|
||||
pa_assert_se(avahi_string_list_get_pair(l, &key, &value, NULL) == 0);
|
||||
|
|
@ -190,10 +197,20 @@ static void resolver_cb(
|
|||
"sink_name=%s",
|
||||
avahi_address_snprint(at, sizeof(at), a), port,
|
||||
vname);*/
|
||||
args = pa_sprintf_malloc("server=%s "
|
||||
"sink_name=%s",
|
||||
avahi_address_snprint(at, sizeof(at), a),
|
||||
vname);
|
||||
if (nicename) {
|
||||
args = pa_sprintf_malloc("server=%s "
|
||||
"sink_name=%s "
|
||||
"description=\"%s\"",
|
||||
avahi_address_snprint(at, sizeof(at), a),
|
||||
vname,
|
||||
nicename);
|
||||
|
||||
} else {
|
||||
args = pa_sprintf_malloc("server=%s "
|
||||
"sink_name=%s",
|
||||
avahi_address_snprint(at, sizeof(at), a),
|
||||
vname);
|
||||
}
|
||||
|
||||
pa_log_debug("Loading module-raop-sink with arguments '%s'", args);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -72,6 +72,7 @@ PA_MODULE_VERSION(PACKAGE_VERSION);
|
|||
PA_MODULE_LOAD_ONCE(FALSE);
|
||||
PA_MODULE_USAGE(
|
||||
"sink_name=<name for the sink> "
|
||||
"description=<description for the sink> "
|
||||
"server=<address> "
|
||||
"format=<sample format> "
|
||||
"channels=<number of channels> "
|
||||
|
|
@ -122,6 +123,7 @@ static const char* const valid_modargs[] = {
|
|||
"format",
|
||||
"channels",
|
||||
"sink_name",
|
||||
"description",
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
@ -502,7 +504,7 @@ int pa__init(pa_module*m) {
|
|||
struct userdata *u = NULL;
|
||||
pa_sample_spec ss;
|
||||
pa_modargs *ma = NULL;
|
||||
const char *server;
|
||||
const char *server, *desc;
|
||||
pa_sink_new_data data;
|
||||
|
||||
pa_assert(m);
|
||||
|
|
@ -564,7 +566,10 @@ int pa__init(pa_module*m) {
|
|||
pa_sink_new_data_set_name(&data, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME));
|
||||
pa_sink_new_data_set_sample_spec(&data, &ss);
|
||||
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, server);
|
||||
pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "RAOP sink '%s'", server);
|
||||
if ((desc = pa_modargs_get_value(ma, "description", NULL)))
|
||||
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, desc);
|
||||
else
|
||||
pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "RAOP sink '%s'", server);
|
||||
|
||||
u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY|PA_SINK_NETWORK);
|
||||
pa_sink_new_data_done(&data);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -149,7 +149,12 @@ static pa_hook_result_t source_output_fixate_hook_cb(pa_core *c, pa_source_outpu
|
|||
pa_assert(data);
|
||||
pa_assert(u);
|
||||
|
||||
if ((d = pa_hashmap_get(u->device_infos, data->source)))
|
||||
if (data->source->monitor_of)
|
||||
d = pa_hashmap_get(u->device_infos, data->source->monitor_of);
|
||||
else
|
||||
d = pa_hashmap_get(u->device_infos, data->source);
|
||||
|
||||
if (d)
|
||||
resume(d);
|
||||
|
||||
return PA_HOOK_OK;
|
||||
|
|
@ -173,6 +178,8 @@ static pa_hook_result_t sink_input_unlink_hook_cb(pa_core *c, pa_sink_input *s,
|
|||
}
|
||||
|
||||
static pa_hook_result_t source_output_unlink_hook_cb(pa_core *c, pa_source_output *s, struct userdata *u) {
|
||||
struct device_info *d = NULL;
|
||||
|
||||
pa_assert(c);
|
||||
pa_source_output_assert_ref(s);
|
||||
pa_assert(u);
|
||||
|
|
@ -180,12 +187,17 @@ static pa_hook_result_t source_output_unlink_hook_cb(pa_core *c, pa_source_outpu
|
|||
if (!s->source)
|
||||
return PA_HOOK_OK;
|
||||
|
||||
if (pa_source_check_suspend(s->source) <= 0) {
|
||||
struct device_info *d;
|
||||
if ((d = pa_hashmap_get(u->device_infos, s->source)))
|
||||
restart(d);
|
||||
if (s->source->monitor_of) {
|
||||
if (pa_sink_check_suspend(s->source->monitor_of) <= 0)
|
||||
d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
|
||||
} else {
|
||||
if (pa_source_check_suspend(s->source) <= 0)
|
||||
d = pa_hashmap_get(u->device_infos, s->source);
|
||||
}
|
||||
|
||||
if (d)
|
||||
restart(d);
|
||||
|
||||
return PA_HOOK_OK;
|
||||
}
|
||||
|
||||
|
|
@ -217,15 +229,22 @@ static pa_hook_result_t sink_input_move_finish_hook_cb(pa_core *c, pa_sink_input
|
|||
}
|
||||
|
||||
static pa_hook_result_t source_output_move_start_hook_cb(pa_core *c, pa_source_output *s, struct userdata *u) {
|
||||
struct device_info *d;
|
||||
struct device_info *d = NULL;
|
||||
|
||||
pa_assert(c);
|
||||
pa_source_output_assert_ref(s);
|
||||
pa_assert(u);
|
||||
|
||||
if (pa_source_check_suspend(s->source) <= 1)
|
||||
if ((d = pa_hashmap_get(u->device_infos, s->source)))
|
||||
restart(d);
|
||||
if (s->source->monitor_of) {
|
||||
if (pa_sink_check_suspend(s->source->monitor_of) <= 1)
|
||||
d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
|
||||
} else {
|
||||
if (pa_source_check_suspend(s->source) <= 1)
|
||||
d = pa_hashmap_get(u->device_infos, s->source);
|
||||
}
|
||||
|
||||
if (d)
|
||||
restart(d);
|
||||
|
||||
return PA_HOOK_OK;
|
||||
}
|
||||
|
|
@ -237,7 +256,12 @@ static pa_hook_result_t source_output_move_finish_hook_cb(pa_core *c, pa_source_
|
|||
pa_source_output_assert_ref(s);
|
||||
pa_assert(u);
|
||||
|
||||
if ((d = pa_hashmap_get(u->device_infos, s->source)))
|
||||
if (s->source->monitor_of)
|
||||
d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
|
||||
else
|
||||
d = pa_hashmap_get(u->device_infos, s->source);
|
||||
|
||||
if (d)
|
||||
resume(d);
|
||||
|
||||
return PA_HOOK_OK;
|
||||
|
|
@ -259,16 +283,25 @@ static pa_hook_result_t sink_input_state_changed_hook_cb(pa_core *c, pa_sink_inp
|
|||
}
|
||||
|
||||
static pa_hook_result_t source_output_state_changed_hook_cb(pa_core *c, pa_source_output *s, struct userdata *u) {
|
||||
struct device_info *d;
|
||||
pa_source_output_state_t state;
|
||||
|
||||
pa_assert(c);
|
||||
pa_source_output_assert_ref(s);
|
||||
pa_assert(u);
|
||||
|
||||
state = pa_source_output_get_state(s);
|
||||
if (state == PA_SOURCE_OUTPUT_RUNNING)
|
||||
if ((d = pa_hashmap_get(u->device_infos, s->source)))
|
||||
|
||||
if (state == PA_SOURCE_OUTPUT_RUNNING) {
|
||||
struct device_info *d;
|
||||
|
||||
if (s->source->monitor_of)
|
||||
d = pa_hashmap_get(u->device_infos, s->source->monitor_of);
|
||||
else
|
||||
d = pa_hashmap_get(u->device_infos, s->source);
|
||||
|
||||
if (d)
|
||||
resume(d);
|
||||
}
|
||||
|
||||
return PA_HOOK_OK;
|
||||
}
|
||||
|
|
@ -285,6 +318,10 @@ static pa_hook_result_t device_new_hook_cb(pa_core *c, pa_object *o, struct user
|
|||
source = pa_source_isinstance(o) ? PA_SOURCE(o) : NULL;
|
||||
sink = pa_sink_isinstance(o) ? PA_SINK(o) : NULL;
|
||||
|
||||
/* Never suspend monitors */
|
||||
if (source && source->monitor_of)
|
||||
return PA_HOOK_OK;
|
||||
|
||||
pa_assert(source || sink);
|
||||
|
||||
d = pa_xnew(struct device_info, 1);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
@ -51,7 +51,12 @@
|
|||
#include <pulsecore/macro.h>
|
||||
#include <pulsecore/strbuf.h>
|
||||
#include <pulsecore/random.h>
|
||||
|
||||
#ifdef HAVE_POLL_H
|
||||
#include <poll.h>
|
||||
#else
|
||||
#include <pulsecore/poll.h>
|
||||
#endif
|
||||
|
||||
#include "raop_client.h"
|
||||
#include "rtsp_client.h"
|
||||
|
|
@ -339,9 +344,13 @@ static void rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist* he
|
|||
break;
|
||||
|
||||
case STATE_TEARDOWN:
|
||||
pa_log_debug("RAOP: TEARDOWN");
|
||||
break;
|
||||
|
||||
case STATE_SET_PARAMETER:
|
||||
pa_log_debug("RAOP: SET_PARAMETER");
|
||||
break;
|
||||
|
||||
case STATE_DISCONNECTED:
|
||||
pa_assert(c->closed_callback);
|
||||
pa_assert(c->rtsp);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -31,10 +31,11 @@
|
|||
typedef struct rd_device rd_device;
|
||||
|
||||
/* Prototype for a function that is called whenever someone else wants
|
||||
* your app to release the device you having locked. A return value <=
|
||||
* 0 denies the request, a positive return value agrees to it. Before
|
||||
* returning your application should close the device in question
|
||||
* completely to make sure the new application may acceess it. */
|
||||
* your application to release the device it has locked. A return
|
||||
* value <= 0 denies the request, a positive return value agrees to
|
||||
* it. Before returning your application should close the device in
|
||||
* question completely to make sure the new application may access
|
||||
* it. */
|
||||
typedef int (*rd_request_cb_t)(
|
||||
rd_device *d,
|
||||
int forced); /* Non-zero if an application forcibly took the lock away without asking. If this is the case then the return value of this call is ignored. */
|
||||
|
|
@ -48,20 +49,20 @@ int rd_acquire(
|
|||
const char *device_name, /* The device to lock, e.g. "Audio0" */
|
||||
const char *application_name, /* A human readable name of the application, e.g. "PulseAudio Sound Server" */
|
||||
int32_t priority, /* The priority for this application. If unsure use 0 */
|
||||
rd_request_cb_t request_cb, /* Will be called whenever someone asks that this device shall be released. May be NULL if priority is INT32_MAX */
|
||||
rd_request_cb_t request_cb, /* Will be called whenever someone requests that this device shall be released. May be NULL if priority is INT32_MAX */
|
||||
DBusError *error); /* If we fail due to a D-Bus related issue the error will be filled in here. May be NULL. */
|
||||
|
||||
/* Unlock (if needed) and destroy a rd_device object again */
|
||||
/* Unlock (if needed) and destroy an rd_device object again */
|
||||
void rd_release(rd_device *d);
|
||||
|
||||
/* Set the application device name for a rd_device object Returns 0 on
|
||||
* success, a negative errno style return value on error. */
|
||||
/* Set the application device name for an rd_device object. Returns 0
|
||||
* on success, a negative errno style return value on error. */
|
||||
int rd_set_application_device_name(rd_device *d, const char *name);
|
||||
|
||||
/* Attach a userdata pointer to a rd_device */
|
||||
/* Attach a userdata pointer to an rd_device */
|
||||
void rd_set_userdata(rd_device *d, void *userdata);
|
||||
|
||||
/* Query the userdata pointer from a rd_device. Returns NULL if no
|
||||
/* Query the userdata pointer from an rd_device. Returns NULL if no
|
||||
* userdata was set. */
|
||||
void* rd_get_userdata(rd_device *d);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License,
|
||||
by the Free Software Foundation; either version 2.1 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue