diff options
-rw-r--r-- | configure.ac | 22 | ||||
-rw-r--r-- | m4/attributes.m4 | 2 | ||||
-rw-r--r-- | po/ca.po | 758 | ||||
-rw-r--r-- | po/cs.po | 189 | ||||
-rw-r--r-- | po/de.po | 189 | ||||
-rw-r--r-- | po/el.po | 188 | ||||
-rw-r--r-- | po/es.po | 189 | ||||
-rw-r--r-- | po/fi.po | 189 | ||||
-rw-r--r-- | po/fr.po | 189 | ||||
-rw-r--r-- | po/it.po | 189 | ||||
-rw-r--r-- | po/pl.po | 277 | ||||
-rw-r--r-- | po/pt_BR.po | 189 | ||||
-rw-r--r-- | po/sv.po | 189 | ||||
-rw-r--r-- | po/zh_CN.po | 189 | ||||
-rw-r--r-- | src/Makefile.am | 25 | ||||
-rw-r--r-- | src/modules/bluetooth/module-bluetooth-device.c | 23 | ||||
-rw-r--r-- | src/modules/bluetooth/sbc.c | 14 | ||||
-rw-r--r-- | src/modules/bluetooth/sbc.h | 22 | ||||
-rw-r--r-- | src/pulse/context.c | 29 | ||||
-rw-r--r-- | src/pulse/def.h | 2 | ||||
-rw-r--r-- | src/pulse/error.c | 3 | ||||
-rw-r--r-- | src/pulse/ext-stream-restore.c | 9 | ||||
-rw-r--r-- | src/pulse/fork-detect.c | 59 | ||||
-rw-r--r-- | src/pulse/fork-detect.h | 27 | ||||
-rw-r--r-- | src/pulse/introspect.c | 35 | ||||
-rw-r--r-- | src/pulse/stream.c | 65 | ||||
-rw-r--r-- | src/pulsecore/sink.c | 15 | ||||
-rw-r--r-- | src/tests/interpol-test.c | 17 |
28 files changed, 1976 insertions, 1317 deletions
diff --git a/configure.ac b/configure.ac index 049589d4..029899c4 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ m4_define(pa_major, [0]) m4_define(pa_minor, [9]) m4_define(pa_micro, [15]) -AC_INIT([pulseaudio],[pa_major.pa_minor.pa_micro-test3],[mzchyfrnhqvb (at) 0pointer (dot) net]) +AC_INIT([pulseaudio],[pa_major.pa_minor.pa_micro-test5],[mzchyfrnhqvb (at) 0pointer (dot) net]) AC_CONFIG_SRCDIR([src/daemon/main.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) @@ -96,15 +96,6 @@ 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" @@ -112,6 +103,17 @@ for flag in $DESIRED_FLAGS ; do CC_CHECK_CFLAGS([$flag], [CFLAGS="$CFLAGS $flag"]) done +dnl Linker flags. +dnl Check whether the linker supports the -version-script option. + +dnl This variable is used to make sure ${srcdir} is expanded and not +dnl passed to the CC_CHECK_LDFLAGS macro as a name. +tmp_ldflag="-Wl,-version-script=${srcdir}/src/map-file" + +CC_CHECK_LDFLAGS([${tmp_ldflag}], + [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file']) +AC_SUBST([VERSIONING_LDFLAGS]) + dnl Check whether to build tests by default (as compile-test) or not AC_ARG_ENABLE([default-build-tests], AS_HELP_STRING([--disable-default-build-tests], [Build test programs only during make check])) diff --git a/m4/attributes.m4 b/m4/attributes.m4 index 9c4a0c89..65f83788 100644 --- a/m4/attributes.m4 +++ b/m4/attributes.m4 @@ -63,7 +63,7 @@ AC_DEFUN([CC_CHECK_LDFLAGS], [ LDFLAGS="$LDFLAGS $1" AC_LINK_IFELSE([int main() { return 1; }], [eval "AS_TR_SH([cc_cv_ldflags_$1])='yes'"], - [eval "AS_TR_SH([cc_cv_ldflags_$1])="]) + [eval "AS_TR_SH([cc_cv_ldflags_$1])='no'"]) LDFLAGS="$ac_save_LDFLAGS" ]) @@ -19,59 +19,59 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" -"PO-Revision-Date: 2009-02-13 23:27+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" +"PO-Revision-Date: 2009-02-15 20:53+0100\n" "Last-Translator: Agusti Grau <fletxa@gmail.com>\n" "Language-Team: Catalan <fedora@softcatala.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -80,7 +80,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -89,7 +89,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -98,6 +98,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "S'ha produït un error intern" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -233,40 +242,40 @@ msgstr "El mode de sistema ampli no està suportat en aquesta plataforma." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "S'ha produït un error en setrlimit(%s, (%u, %u)): %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "S'ha produït un error en interpretar la línia de comandes." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" "Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" "Aquesta aplicació està en el grup '%s', s'està establint la prioritat en " "temps real." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit ha permés el permís acquire-high-priority." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit ha rebutjat el permís acquire-high-priority." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit h permés el permís acquire-real-time." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit ha rebutjat el permís acquire-real-time." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -279,48 +288,48 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "La prioritat alta està habilitada en la configuració però no està permesa " "per la política." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit." -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Es deixa CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "La prioritat temps real està habilitada en la configuració però no està " "permesa per la política." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "El dimoni no s'està executant." -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "El dimoni s'està executant amb PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "S'ha produït un error en matar el dimoni: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -328,149 +337,149 @@ msgstr "" "No és necessari executar aquesta aplicació com a root (excepte si " "s'especifica --system)" -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Es requereixen permísos de root." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "La opció --start no està suportada per a instàncies de sistema." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" "S'està executant en mode sistema, però no s'ha especificat la opció --" "disallow-exit." -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "S'està executant en mode sistema, però no s'ha especificat la opció --" "disallow-module-loading." -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" "S'està executant en mode sistema, es deshabilitarà el mode SHM forçosament." -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "S'està executant en mode sistema, la sortida per temps d'inactivitat es " "deshabilita." -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "S'ha produït un error en adquirir stdio." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "Ha fallat la canonada: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "Ha fallat fork(): %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "Ha fallat read(): %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "S'ha produït un error en iniciar el dimoni." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "S'ha iniciat el dimoni." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Aquest és el PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Host de compilació: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS de compilació: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "S'està executant en el host: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "La mida de pàgina és de %lu bytes." -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Compilat amb suport per a Valgrind: sí" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Compilat amb suport per a Valgrind: no" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "S'està executant amb el mode valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Construcció optimitzada: sí" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Construcció optmitzada: no" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "S'ha produït un error en obtenir la ID de la màquina" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "La ID de la màquina és %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "S'esta utilitzant el directori d'execució %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "S'està utilitzant el directori d'estat %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "S'està executant en mode sistema: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "S'ha produït un error en pa_pid_file_create()." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Estàn disponibles els temporitzadors frescos de alta resolució." -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -478,27 +487,27 @@ msgstr "" "Es recomana la utilització d'un kernel amb els temporitzadors d'alta " "resolució habilitats." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "S'ha produït un error en pa_core_new()." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "S'ha produït un error en inicialitzar el dimoni." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Com el dimoni s'ha iniciat sense cap mòdul carregat, no funciona." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "S'ha completat la inicialització del dimoni." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "S'ha iniciat l'aturada del dimoni." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "S'ha aturat el dimoni." @@ -575,7 +584,7 @@ msgid "" "\n" " -n Don't load default script file\n" msgstr "" -"%s [options]\n" +"%s [opcions]\n" "\n" "COMANDES:\n" " -h, --help Mostra aquesta ajuda\n" @@ -586,7 +595,7 @@ msgstr "" " --dump-resample-methods Volca els mètodes " "disponibles de remostratge\n" " --cleanup-shm Neteja els segments de " -"memòria compartia rancis\n" +"memòria compartida sense emprar\n" " --start Inicia el dimoni si aquest no està " "corrent\n" " -k --kill Mata el dimoni en execució\n" @@ -598,53 +607,62 @@ msgstr "" " -D, --daemonize[=BOOL] Converteix en dimoni després de la " "inicialització\n" " --fail[=BOOL] Surt quan falli la inicialització\n" -" --high-priority[=BOOL] Prova de establir un nivell\n" -" nice alt(només disponivle com a " -"root,\n" -" amb SUID o amb un elevat " -"RLIMIT_NICE)\n" -" --realtime[=BOOL] Try to enable realtime scheduling\n" -" (only available as root, when SUID " -"or\n" -" with elevated RLIMIT_RTPRIO)\n" -" --disallow-module-loading[=BOOL] Disallow module user requested " -"module\n" -" loading/unloading after startup\n" -" --disallow-exit[=BOOL] Disallow user requested exit\n" -" --exit-idle-time=SECS Terminate the daemon when idle and " -"this\n" -" time passed\n" -" --module-idle-time=SECS Unload autoloaded modules when idle " -"and\n" -" this time passed\n" -" --scache-idle-time=SECS Unload autoloaded samples when idle " -"and\n" -" this time passed\n" -" --log-level[=LEVEL] Increase or set verbosity level\n" -" -v Increase the verbosity level\n" -" --log-target={auto,syslog,stderr} Specify the log target\n" -" -p, --dl-search-path=PATH Set the search path for dynamic " -"shared\n" -" objects (plugins)\n" -" --resample-method=METHOD Use the specified resampling method\n" -" (See --dump-resample-methods for\n" -" possible values)\n" -" --use-pid-file[=BOOL] Create a PID file\n" -" --no-cpu-limit[=BOOL] Do not install CPU load limiter on\n" -" platforms that support it.\n" -" --disable-shm[=BOOL] Disable shared memory support.\n" +" --high-priority[=BOOL] Prova d'establir un nivell de \n" +" prioritat alt (només disponible com " +"a root,\n" +" amb SUID o amb un RLIMIT_NICE " +"elevat)\n" +" --realtime[=BOOL] Intenta habilitar la programació en\n" +" en temps real (només disponible com " +"a root,\n" +" amb SUID o amb un RLIMIT_RTPRIO " +"elevat)\n" +" --disallow-module-loading[=BOOL] Inhabilita el mòdul de carrega/" +"descarrega \n" +" de mòduls demanats per l'usuari " +"després de l'inici\n" +" --disallow-exit[=BOOL] Inhabilita la petició de l'usuari de " +"sortida\n" +" --exit-idle-time=SEGS Mata el dimoni quan estigui inactiu " +"i hagi passat\n" +" aquest temps\n" +" --module-idle-time=SEGS Descarrega els mòduls carregats " +"automàticament\n" +" quan estigui inactiu o hagi passat " +"aquest temps\n" +" --scache-idle-time=SEGS Descarrega les mostres carregades " +"automàticament\n" +" després que hagi passat aquest " +"temps\n" +" --log-level[=NIVELL] Incrementa o especifica el nivell de " +"detall\n" +" -v Incrementa el nivell de detall\n" +" --log-target={auto,syslog,stderr} Especifica el destí del log\n" +" -p, --dl-search-path=CAMI Estableix el camí de cerca " +"d'objectes dinàmics\n" +" compartits (plugins)\n" +" --resample-method=METODE Utilitza el mètode de remostreig\n" +" (Per veure els valors possibles " +"utilitza --dump-resample-methods)\n" +" --use-pid-file[=BOOL] Crea un fitxer PID\n" +" --no-cpu-limit[=BOOL] No instal·lis un limitador de " +"càrrega de CPU\n" +" en plataformes que ho suportin.\n" +" --disable-shm[=BOOL] Inhabilita el suport de memòria " +"compartida.\n" "\n" -"STARTUP SCRIPT:\n" -" -L, --load=\"MODULE ARGUMENTS\" Load the specified plugin module " -"with\n" -" the specified argument\n" -" -F, --file=FILENAME Run the specified script\n" -" -C Open a command line on the running " -"TTY\n" -" after startup\n" +"SCRIPT D'INICI:\n" +" -L, --load=\"ARGUMENTS MODUL\" Carrega el mòdul especificat amb\n" +" els arguments especificats\n" +" -F, --file=NOMFITXER Executa l'script especificat\n" +" -C Obre una línia d'ordres en la TTY " +"actual després\n" +" de l'inici\n" "\n" -" -n Don't load default script file\n" +" -n No carreguis el fitxer de " +"configuració per omissió\n" +# xc #: ../src/daemon/cmdline.c:252 msgid "--daemonize expects boolean argument" msgstr "--daemonize necessita un argument booleà" @@ -694,7 +712,7 @@ msgstr "--realtime necessita un argument booleà" #: ../src/daemon/cmdline.c:340 #, fuzzy msgid "--log-meta expects boolean argument" -msgstr "--disallow-exit necessita un argument booleà" +msgstr "--realtime necessita un argument booleà" #: ../src/daemon/cmdline.c:359 #, c-format @@ -731,7 +749,7 @@ msgstr "Versió: %s\n" #: ../src/daemon/dumpmodules.c:68 #, c-format msgid "Description: %s\n" -msgstr "" +msgstr "Descripció: %s\n" #: ../src/daemon/dumpmodules.c:70 #, c-format @@ -753,78 +771,78 @@ msgstr "Càrrega: %s\n" msgid "Path: %s\n" msgstr "Ruta: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." -msgstr "[%s:%u] Destí de registre incorrecte '%s'" +msgstr "[%s:%u] Destí de log incorrecte '%s'" -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." -msgstr "[%s:%u] Nivell de registre incorrecte '%s'." +msgstr "[%s:%u] Nivell de log incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Mètode de remostreig incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit no disponible en aquesta plataforma." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Format de mostra incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Velocitat de mostreig '%s'." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canals de mostreig incorrectes '%s'." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Canals de mostreig incorrectes '%s'." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nombre de fragments incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Mida de fragment incorrecta '%s'." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nivell de prioritat incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Error en obrir el fitxer de configuració: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lectura del fitxer de configuració: %s ###\n" @@ -832,11 +850,11 @@ msgstr "### Lectura del fitxer de configuració: %s ###\n" #: ../src/daemon/caps.c:63 #, fuzzy msgid "Dropping root privileges." -msgstr "Alliberant privilegis de root." +msgstr "Lliberant privilegis de root." #: ../src/daemon/caps.c:103 msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "S'han limitat les capacitats a CAP_SYS_NICE correctament." +msgstr "S'han limitat les capacitats cap a CAP_SYS_NICE." #: ../src/daemon/pulseaudio.desktop.in.h:1 msgid "PulseAudio Sound System" @@ -852,8 +870,9 @@ msgid "" msgstr "" #: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "" +msgstr "Ha fallat en matar el dimoni PulseAudio." #: ../src/daemon/org.pulseaudio.policy.in.h:3 #, fuzzy @@ -896,7 +915,7 @@ msgstr "Posterior dreta" #: ../src/pulse/channelmap.c:113 msgid "Low Frequency Emmiter" -msgstr "Emisor de baixa freqüència" +msgstr "Emissor de baixa freqüència" #: ../src/pulse/channelmap.c:115 msgid "Front Left-of-center" @@ -1178,7 +1197,7 @@ msgstr "Massa gran" #: ../src/pulse/error.c:62 msgid "Not supported" -msgstr "No disponible" +msgstr "No suportat" #: ../src/pulse/error.c:63 msgid "Unknown error code" @@ -1196,6 +1215,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1234,21 +1257,21 @@ msgstr "Ha fallat el parseig de les dades de la cookie" msgid "Failed to open configuration file '%s': %s" msgstr "S'ha produït un error en obrir el fitxer de configuració '%s': %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "No s'ha carregat cap cookie. S'està intentant connectar sense aquesta." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "S'ha rebut un missatge per a l'extensió desconeguda '%s'" @@ -1266,7 +1289,7 @@ msgstr "Ha fallat pa_stream_peek(): %s\n" #: ../src/utils/pacat.c:169 #, c-format msgid "Stream successfully created.\n" -msgstr "Flux creat amb éxit.\n" +msgstr "Flux creat correctament.\n" #: ../src/utils/pacat.c:172 #, c-format @@ -1276,18 +1299,18 @@ msgstr "Ha fallat pa_stream_get_buffer_attr(): %s\n" #: ../src/utils/pacat.c:176 #, c-format msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -msgstr "Mètriques del buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgstr "Mètriques del búffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" #: ../src/utils/pacat.c:179 #, c-format msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" -msgstr "Mètriques del buffer: maxlength=%u, fragsize=%u\n" +msgstr "Mètriques del búffer: maxlength=%u, fragsize=%u\n" #: ../src/utils/pacat.c:183 #, c-format msgid "Using sample spec '%s', channel map '%s'.\n" msgstr "" -"S'estan utilitzant les especificacions de mostreig '%s', mapeig del canal '%" +"S'estan utilitzant les especificacions de mostreig '%s', mapejat del canal '%" "s'.\n" #: ../src/utils/pacat.c:187 @@ -1298,7 +1321,7 @@ msgstr "S'ha connectat al dispositiu %s (%u, %s suspés).\n" #: ../src/utils/pacat.c:197 #, c-format msgid "Stream error: %s\n" -msgstr "S'ha produït un error en el flux: %s\n" +msgstr "S'ha produït un error en l'stream: %s\n" #: ../src/utils/pacat.c:207 #, c-format @@ -1313,7 +1336,7 @@ msgstr "Flux del dispositiu représ.%s\n" #: ../src/utils/pacat.c:217 #, c-format msgid "Stream underrun.%s \n" -msgstr "Dades insuficients al flux.%s\n" +msgstr "Dades insuficients al flux .%s\n" #: ../src/utils/pacat.c:224 #, c-format @@ -1323,7 +1346,7 @@ msgstr "Desbordament de flux.%s\n" #: ../src/utils/pacat.c:231 #, c-format msgid "Stream started.%s \n" -msgstr "S'ha iniciat el flux.%s\n" +msgstr "S'ha iniciat l'stream.%s\n" #: ../src/utils/pacat.c:238 #, c-format @@ -1368,7 +1391,7 @@ msgstr "S'ha produït un error en drenar l'stream: %s\n" #: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80 #, c-format msgid "Playback stream drained.\n" -msgstr "Flux de reproducció drenat.\n" +msgstr "Stream de reproducció drenat.\n" #: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92 #, c-format @@ -1403,17 +1426,17 @@ msgstr "S'ha rebut una signal, s'està sortint.\n" #: ../src/utils/pacat.c:465 #, c-format msgid "Failed to get latency: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir la latència: %s\n" #: ../src/utils/pacat.c:470 #, c-format msgid "Time: %0.3f sec; Latency: %0.0f usec. \r" -msgstr "" +msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs.\r" #: ../src/utils/pacat.c:490 #, c-format msgid "pa_stream_update_timing_info() failed: %s\n" -msgstr "" +msgstr "Ha fallat pa_stream_update_timing_info(): %s\n" #: ../src/utils/pacat.c:503 #, c-format @@ -1467,6 +1490,53 @@ msgid "" " --process-time=BYTES Request the specified process time " "per request in bytes.\n" msgstr "" +"%s [opcions]\n" +"\n" +" -h, --help Mostra aquesta ajuda\n" +" --version Mostra la versió\n" +"\n" +" -r, --record Crea una connexió per a " +"l'enregistrament\n" +" -p, --playback Crea una connexió per a la " +"reproducció\n" +"\n" +" -v, --verbose Habilita les operacions detallades\n" +"\n" +" -s, --server=SERVIDOR Nom del servidor al qual connectar-" +"se\n" +" -d, --device=DISPOSITIU Nom del conducte/font al qual " +"connectar-se\n" +" -n, --client-name=NOM Com cridar aquest client al " +"servidor\n" +" --stream-name=NOM Com cridar aquest flux al servidor\n" +" --volume=VOLUM Especifica el volum inicial lineal " +"dins el rang 0...65536\n" +" --rate=VELOCITATMOSTREIG La velocitat de mostreig en Hz (per " +"omissió, 44100)\n" +" --format=FORMATMOSTRA El tipus de mostra, una de s16le, " +"s16be, u8, float32le,\n" +" float32be, ulaw, alaw, s32le, s32be " +"(per omissió, s16ne)\n" +" --channels=CANALS Número de canals, 1 per a mono, 2 " +"per a estèreo\n" +" (per omissió, 2)\n" +" --channel-map=MAPACANAL Mapa de canals a utilitzar\n" +" --fix-format Pren el format de mostra del " +"conducte al qual s'està connectant\n" +" el flux.\n" +" --fix-rate Pren la velocitat de mostreig del " +"conducte al qual\n" +" s'està connectant el flux.\n" +" --fix-channels Pren el número de canals i el mapa " +"de canals del\n" +" conducte al qual s'està connectant " +"el flux.\n" +" --no-remix No mesclar els canals.\n" +" --no-remap Mapeja els canals per índex enlloc " +"de per nom .\n" +" --latency=BYTES Especifica la latència en bytes.\n" +" --process-time=BYTES Especifica el temps de procés per " +"peticio en bytes.\n" #: ../src/utils/pacat.c:604 #, c-format @@ -1475,129 +1545,132 @@ msgid "" "Compiled with libpulse %s\n" "Linked with libpulse %s\n" msgstr "" +"pacat %s\n" +"Compil·lat amb libpulse %s\n" +"Enllaçat amb libpulse %s\n" #: ../src/utils/pacat.c:661 #, c-format msgid "Invalid channel map '%s'\n" -msgstr "" +msgstr "Mapa de canals invàlid '%s'\n" #: ../src/utils/pacat.c:690 #, c-format msgid "Invalid latency specification '%s'\n" -msgstr "" +msgstr "Especificació de latència invàlida '%s'\n" #: ../src/utils/pacat.c:697 #, c-format msgid "Invalid process time specification '%s'\n" -msgstr "" +msgstr "Especificació de temps de procés invàlida '%s'\n" #: ../src/utils/pacat.c:708 #, c-format msgid "Invalid sample specification\n" -msgstr "" +msgstr "Especificació de mostra invàlida\n" #: ../src/utils/pacat.c:713 #, c-format msgid "Channel map doesn't match sample specification\n" -msgstr "" +msgstr "El mapa de canals no coincideix amb l'especificació de mostra\n" #: ../src/utils/pacat.c:720 #, c-format msgid "Opening a %s stream with sample specification '%s'.\n" -msgstr "" +msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n" #: ../src/utils/pacat.c:720 msgid "recording" -msgstr "" +msgstr "enregistrant" #: ../src/utils/pacat.c:720 msgid "playback" -msgstr "" +msgstr "reproducció" #: ../src/utils/pacat.c:728 #, c-format msgid "open(): %s\n" -msgstr "" +msgstr "open(): %s\n" #: ../src/utils/pacat.c:733 #, c-format msgid "dup2(): %s\n" -msgstr "" +msgstr "dup2(): %s\n" #: ../src/utils/pacat.c:743 #, c-format msgid "Too many arguments.\n" -msgstr "" +msgstr "Hi han massa arguments.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 #: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" -msgstr "" +msgstr "Ha fallat pa_mainloop_new().\n" #: ../src/utils/pacat.c:777 #, c-format msgid "io_new() failed.\n" -msgstr "" +msgstr "Ha fallat io_new().\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 #: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" -msgstr "" +msgstr "Ha fallat pa_context_new().\n" #: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" -msgstr "" +msgstr "Ha fallat pa_context_connect(): %s" #: ../src/utils/pacat.c:802 #, c-format msgid "time_new() failed.\n" -msgstr "" +msgstr "Ha fallat time_new().\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 #: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" -msgstr "" +msgstr "Ha fallat pa_mainloop_run().\n" #: ../src/utils/pasuspender.c:81 #, c-format msgid "fork(): %s\n" -msgstr "" +msgstr "fork(): %s\n" #: ../src/utils/pasuspender.c:92 #, c-format msgid "execvp(): %s\n" -msgstr "" +msgstr "execvp(): %s\n" #: ../src/utils/pasuspender.c:109 #, c-format msgid "Failure to suspend: %s\n" -msgstr "" +msgstr "Ha fallat en susprendre: %s\n" #: ../src/utils/pasuspender.c:124 #, c-format msgid "Failure to resume: %s\n" -msgstr "" +msgstr "Ha fallat en reprendre: %s\n" #: ../src/utils/pasuspender.c:147 #, c-format msgid "WARNING: Sound server is not local, not suspending.\n" -msgstr "" +msgstr "ADVERTÈNCIA: el sevidor de so no és local, no s'està suspenent.\n" #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" -msgstr "" +msgstr "S'ha rebut SIGINT, s'està sortint.\n" #: ../src/utils/pasuspender.c:194 #, c-format msgid "WARNING: Child process terminated by signal %u\n" -msgstr "" +msgstr "ADVERTÈNCIA: Procés fill acabat per senyal %u\n" #: ../src/utils/pasuspender.c:212 #, c-format @@ -1610,6 +1683,13 @@ msgid "" "to\n" "\n" msgstr "" +"%s [opcions] ... \n" +"\n" +" -h, --help Mostra aquesta ajuda\n" +" --version Mostra la versió\n" +" -s, --server=SERVIDOR Nom del servidor al qual connectar-" +"se\n" +"\n" #: ../src/utils/pasuspender.c:251 #, c-format @@ -1618,34 +1698,38 @@ msgid "" "Compiled with libpulse %s\n" "Linked with libpulse %s\n" msgstr "" +"pasuspender %s\n" +"Compil·lat amb libpulse %s\n" +"Enllaçat amb libpulse %s\n" #: ../src/utils/pactl.c:108 #, c-format msgid "Failed to get statistics: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir les estadístiques: %s\n" #: ../src/utils/pactl.c:114 #, c-format msgid "Currently in use: %u blocks containing %s bytes total.\n" -msgstr "" +msgstr "Actualment s'estan utilitzant: %u blocs contenent %s bytes en total.\n" #: ../src/utils/pactl.c:117 #, c-format msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n" msgstr "" +"Allotjats durant el temps de vida: %u blocs contenent %s bytes en total.\n" #: ../src/utils/pactl.c:120 #, c-format msgid "Sample cache size: %s\n" -msgstr "" +msgstr "Mida de caché de mostra: %s\n" #: ../src/utils/pactl.c:129 #, c-format msgid "Failed to get server information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir la informació del servidor: %s\n" #: ../src/utils/pactl.c:137 -#, c-format +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" @@ -1657,14 +1741,22 @@ msgid "" "Default Source: %s\n" "Cookie: %08x\n" msgstr "" +"Nom d'usuari: %s\n" +"Nom del host: %s\n" +"Nom del servidor: %s\n" +"Versió del servidor: %s\n" +"Especificació per omissió de la mostra: %s\n" +"Conducte per omissió: %s\n" +"Font per omissió: %s\n" +"Cookie: %08x\n" #: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir la informació del conducte: %s\n" #: ../src/utils/pactl.c:194 -#, c-format +#, fuzzy, c-format msgid "" "Sink #%u\n" "\tState: %s\n" @@ -1684,14 +1776,26 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Conducte #%u ***\n" +"Nom: %s\n" +"Controlador: %s\n" +"Especificació de mostra: %s\n" +"Mapa de canals: %s\n" +"Propietari del mòdul: %u\n" +"Volum: %s\n" +"Font del monitor: %s\n" +"Latència: %0.0f microsegs., configurat %0.0f microsegs\n" +"Flags: %s%s%s%s%s%s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir la informació de la font: %s\n" #: ../src/utils/pactl.c:274 -#, c-format +#, fuzzy, c-format msgid "" "Source #%u\n" "\tState: %s\n" @@ -1711,6 +1815,18 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Font #%u ***\n" +"Nom: %s\n" +"Controlador: %s\n" +"Especificació de mostra: %s\n" +"Mapa de canals: %s\n" +"Propietari del mòdul: %u\n" +"Volum: %s\n" +"Monitor del conducte: %s\n" +"Latència: %0.0f microsegs., configurat %0.0f microsegs.\n" +"Flags: %s%s%s%s%s%s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:306 ../src/utils/pactl.c:350 ../src/utils/pactl.c:385 #: ../src/utils/pactl.c:422 ../src/utils/pactl.c:481 ../src/utils/pactl.c:482 @@ -1718,15 +1834,15 @@ msgstr "" #: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 #: ../src/utils/pactl.c:594 msgid "n/a" -msgstr "" +msgstr "n/d" #: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir informació del mòdul: %s\n" #: ../src/utils/pactl.c:342 -#, c-format +#, fuzzy, c-format msgid "" "Module #%u\n" "\tName: %s\n" @@ -1735,14 +1851,19 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Mòdul #%u ***\n" +"Nom: %s\n" +"Arguments: %s\n" +"Contador d'utilització: %s\n" +"Auto descàrrega: %s\n" #: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir informació: %s\n" #: ../src/utils/pactl.c:379 -#, c-format +#, fuzzy, c-format msgid "" "Client #%u\n" "\tDriver: %s\n" @@ -1750,14 +1871,19 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Client #%u ***\n" +"Controlador: %s\n" +"Propietari del mòdul: %s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" -msgstr "Error en obrir el fitxer de configuració: %s" +msgstr "Ha fallat en obtenir la informació de la càrrega automàtica: %s\n" #: ../src/utils/pactl.c:414 -#, c-format +#, fuzzy, c-format msgid "" "Card #%u\n" "\tName: %s\n" @@ -1766,6 +1892,11 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Client #%u ***\n" +"Controlador: %s\n" +"Propietari del mòdul: %s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:428 #, c-format @@ -1780,10 +1911,10 @@ msgstr "Ha fallat la canonada: %s" #: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir informació del conducte d'entrada: %s\n" #: ../src/utils/pactl.c:464 -#, c-format +#, fuzzy, c-format msgid "" "Sink Input #%u\n" "\tDriver: %s\n" @@ -1802,14 +1933,27 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Conducte d'entrada #%u ***\n" +"Controlador: %s\n" +"Propietari del mòdul: %s\n" +"Client: %s\n" +"Conducte: %u\n" +"Especificació de mostra: %s\n" +"Mapa de canals: %s\n" +"Volum: %s\n" +"Latència de búffer: %0.0f microsegs.\n" +"Latència del conducte: %0.0f microsegs.\n" +"Mètode de remostreig: %s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" -msgstr "" +msgstr "Ha fallat en obtenir la informació del conducte de sortida: %s\n" #: ../src/utils/pactl.c:523 -#, c-format +#, fuzzy, c-format msgid "" "Source Output #%u\n" "\tDriver: %s\n" @@ -1824,14 +1968,26 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Sortida de la font #%u ***\n" +"Driver: %s\n" +"Propietari del mòdul: %s\n" +"Client: %s\n" +"Font: %u\n" +"Especificació de mostra: %s\n" +"Mapa de canals: %s\n" +"Latència de búffer: %0.0f microsegs.\n" +"Latència de la font: %0.0f microsegs.\n" +"Mètode de remostreig: %s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" -msgstr "" +msgstr "Ha fallat en obteinr informació de la mostra: %s\n" #: ../src/utils/pactl.c:572 -#, c-format +#, fuzzy, c-format msgid "" "Sample #%u\n" "\tName: %s\n" @@ -1847,24 +2003,35 @@ msgid "" "\tProperties:\n" "\t\t%s\n" msgstr "" +"*** Mostra #%u ***\n" +"Nom: %s\n" +"Volum: %s\n" +"Especificació de mostra: %s\n" +"Mapa de canals: %s\n" +"Duració: %0.1fs\n" +"Mida: %s\n" +"Lazy: %s\n" +"Nom de fitxer: %s\n" +"Propietats:\n" +"%s" #: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" -msgstr "" +msgstr "Ha fallat: %s\n" #: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" -msgstr "" +msgstr "Ha fallat en pujar la mostra: %s\n" #: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" -msgstr "" +msgstr "S'ha trobat un fi de fitxer prematurament\n" #: ../src/utils/pactl.c:774 -#, c-format +#, fuzzy, c-format msgid "" "%s [options] stat\n" "%s [options] list\n" @@ -1888,6 +2055,26 @@ msgid "" " -n, --client-name=NAME How to call this client on the " "server\n" msgstr "" +"%s [opcions] stat\n" +"%s [opcions] list\n" +"%s [opcions] exit\n" +"%s [opcions] upload-sample NOMFITXER [NOM]\n" +"%s [opcions] play-sample NOM [CONDUCTE]\n" +"%s [opcions] remove-sample NOM\n" +"%s [opcions] move-sink-input ID CONDUCTE\n" +"%s [opcions] move-source-output ID FONT\n" +"%s [opcions] load-module NOM [ARGS ...]\n" +"%s [opcions] unload-module ID\n" +"%s [opcions] suspend-sink [CONDUCTE] 1|0\n" +"%s [opcions] suspend-source [FONT] 1|0\n" +"\n" +" -h, --help Mostra aquesta ajuda\n" +" --version Mostra la versió\n" +" -s, --server=SERVIDOR Nom del servidor al qual connectar-" +"se\n" +" -n, --client-name=NOM Com cridar aquest client al " +"servidor\n" +"\n" #: ../src/utils/pactl.c:826 #, c-format @@ -1896,70 +2083,77 @@ msgid "" "Compiled with libpulse %s\n" "Linked with libpulse %s\n" msgstr "" +"pactl %s\n" +"Compil·lat amb libpulse %s\n" +"Enllaçat amb libpulse %s\n" #: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" -msgstr "" +msgstr "Especifiqueu un fitxer de mostra per a carregar\n" #: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" -msgstr "" +msgstr "Ha fallat en obrir el fitxer de so.\n" #: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" -msgstr "" +msgstr "Heu d'especificar un nom de mostra a reproduir\n" #: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" -msgstr "" +msgstr "Heu d'especificar un nom de mostra a esborrar\n" #: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" -msgstr "" +msgstr "Heu d'especificar una entrada del conducte i un conducte\n" #: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" -msgstr "" +msgstr "Heu d'especificar una font de sortida i una font\n" #: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" -msgstr "" +msgstr "Heu d'especificar un nom de mòdul i els seus arguments.\n" #: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" -msgstr "" +msgstr "Heu d'especificar un índex de mòdul\n" #: ../src/utils/pactl.c:972 -#, c-format +#, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "" +"No haríeu d'especificar més d'un conducte. Heu d'especifcar com a mínim un " +"valor booleà.\n" #: ../src/utils/pactl.c:985 -#, c-format +#, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "" +"No haríeu d'especificar més d'una font. Heu d'especificar com a mínim un " +"valor booleà.\n" #: ../src/utils/pactl.c:997 -#, c-format +#, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" -msgstr "" +msgstr "Heu d'especificar una entrada del conducte i un conducte\n" #: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" -msgstr "" +msgstr "S'ha especificat una ordre invàlida.\n" #: ../src/utils/pax11publish.c:61 #, c-format @@ -1972,66 +2166,75 @@ msgid "" "variables and cookie file.\n" " -r Remove PulseAudio data from X11 display\n" msgstr "" +"%s [-D pantalla] [-S servidor] [-O conducte] [-I font] [-c fitxer] [-d|-e|-" +"i|-r]\n" +"\n" +" -d Mostra les dades actuals de PulseAudio vinculat a una pantalla X11 " +"(per omissió)\n" +" -e Exporta les dades locals de PulseAudio a una pantalla X11\n" +" -i Importa les dades de PulseAudio de una pantalla X11 a les variables " +"d'entorn locals i a un fitxer cookie\n" +" -r Esborra les dades de PulseAudio de una pantalla X11\n" #: ../src/utils/pax11publish.c:94 #, c-format msgid "Failed to parse command line.\n" -msgstr "" +msgstr "Ha fallat en parsejar la línia de comandes.\n" #: ../src/utils/pax11publish.c:108 #, c-format msgid "Server: %s\n" -msgstr "" +msgstr "Servidor: %s\n" #: ../src/utils/pax11publish.c:110 #, c-format msgid "Source: %s\n" -msgstr "" +msgstr "Font: %s\n" #: ../src/utils/pax11publish.c:112 #, c-format msgid "Sink: %s\n" -msgstr "" +msgstr "Conducte: %s\n" #: ../src/utils/pax11publish.c:114 #, c-format msgid "Cookie: %s\n" -msgstr "" +msgstr "Cookie: %s\n" #: ../src/utils/pax11publish.c:132 #, c-format msgid "Failed to parse cookie data\n" -msgstr "" +msgstr "Ha fallat en parsejar les dades de la cookie\n" #: ../src/utils/pax11publish.c:137 #, c-format msgid "Failed to save cookie data\n" -msgstr "" +msgstr "Ha fallat en desar les dades de la cookie\n" #: ../src/utils/pax11publish.c:152 #, c-format msgid "Failed to load client configuration file.\n" -msgstr "" +msgstr "Ha fallat en carregar el fitxer de configuració del client.\n" #: ../src/utils/pax11publish.c:157 #, c-format msgid "Failed to read environment configuration data.\n" -msgstr "" +msgstr "Ha fallat en llegir les dades de configuració de l'entorn.\n" #: ../src/utils/pax11publish.c:174 #, c-format msgid "Failed to get FQDN.\n" -msgstr "" +msgstr "Ha fallat en obtenir FQDN.\n" #: ../src/utils/pax11publish.c:194 #, c-format msgid "Failed to load cookie data\n" -msgstr "" +msgstr "Ha fallat en carregar les dades de la cookie\n" #: ../src/utils/pax11publish.c:211 #, c-format msgid "Not yet implemented.\n" -msgstr "" +msgstr "No s'ha implementat encara.\n" #: ../src/utils/pacmd.c:64 #, c-format @@ -2045,11 +2248,11 @@ msgstr "connect(): %s" #: ../src/utils/pacmd.c:89 msgid "Failed to kill PulseAudio daemon." -msgstr "" +msgstr "Ha fallat en matar el dimoni PulseAudio." #: ../src/utils/pacmd.c:97 msgid "Daemon not responding." -msgstr "" +msgstr "El dimoni no respon." #: ../src/utils/pacmd.c:144 #, c-format @@ -2069,17 +2272,17 @@ msgstr "write(): %s" #: ../src/utils/paplay.c:139 #, c-format msgid "Stream successfully created\n" -msgstr "" +msgstr "Flux creat amb èxit\n" #: ../src/utils/paplay.c:144 #, c-format msgid "Stream errror: %s\n" -msgstr "" +msgstr "S'ha produït un error en el flux: %s\n" #: ../src/utils/paplay.c:165 #, c-format msgid "Connection established.\n" -msgstr "" +msgstr "S'ha establert la connexió.\n" #: ../src/utils/paplay.c:198 #, c-format @@ -2102,6 +2305,48 @@ msgid "" "in range 0...65536\n" " --channel-map=CHANNELMAP Set the channel map to the use\n" msgstr "" +"%s [opcions] [FITXER]\n" +"\n" +" -h, --help Mostra aquesta ajuda\n" +" --version Mostra la versió\n" +"\n" +" -v, --verbose Habilita les operacions detallades\n" +"\n" +" -s, --server=SERVIDOR Nom del servidor al qual connectar-" +"se\n" +" -d, --device=DISPOSITIU Nom del conducte/font al qual " +"connectar-se\n" +" -n, --client-name=NOM Com cridar aquest client al " +"servidor\n" +" --stream-name=NOM Com cridar aquest flux al servidor\n" +" --volume=VOLUM Especifica el volum inicial lineal " +"dins el rang 0...65536\n" +" --rate=VELOCITATMOSTREIG La velocitat de mostreig en Hz (per " +"omissió, 44100)\n" +" --format=FORMATMOSTRA El tipus de mostra, una de s16le, " +"s16be, u8, float32le,\n" +" float32be, ulaw, alaw, s32le, s32be " +"(per omissió, s16ne)\n" +" --channels=CANALS Número de canals, 1 per a mono, 2 " +"per a estèreo\n" +" (per omissió, 2)\n" +" --channel-map=MAPACANAL Mapa de canals a utilitzar\n" +" --fix-format Pren el format de mostra del " +"conducte al qual s'està connectant\n" +" el flux.\n" +" --fix-rate Pren la velocitat de mostreig del " +"conducte al qual\n" +" s'està connectant el flux.\n" +" --fix-channels Pren el número de canals i el mapa " +"de canals del\n" +" conducte al qual s'està connectant " +"el flux.\n" +" --no-remix No mesclar els canals.\n" +" --no-remap Mapeja els canals per índex enlloc " +"de per nom .\n" +" --latency=BYTES Especifica la latència en bytes.\n" +" --process-time=BYTES Especifica el temps de procés per " +"petició en bytes.\n" #: ../src/utils/paplay.c:255 #, c-format @@ -2110,6 +2355,9 @@ msgid "" "Compiled with libpulse %s\n" "Linked with libpulse %s\n" msgstr "" +"paplay %s\n" +"Compil·lat amb libpulse %s\n" +"Enllaçat amb libpulse %s\n" #: ../src/utils/paplay.c:292 #, c-format @@ -2119,37 +2367,31 @@ msgstr "Mapa de canals invàlid\n" #: ../src/utils/paplay.c:314 #, c-format msgid "Failed to open file '%s'\n" -msgstr "" +msgstr "Ha fallat en obrir el fitxer '%s'\n" #: ../src/utils/paplay.c:350 #, c-format msgid "Channel map doesn't match file.\n" -msgstr "" +msgstr "El mapa de canals no coincideix amb el fitxer.\n" #: ../src/utils/paplay.c:376 #, c-format msgid "Using sample spec '%s'\n" -msgstr "" +msgstr "S'estan utilitzant les especificacions de mostra '%s'\n" #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 msgid "Cannot access autospawn lock." -msgstr "" +msgstr "No s'ha pogut accedir al bloqueig d'autospawn." -#, fuzzy #~ msgid "" -#~ "Called SUID root and real-time and/or high-priority scheduling was " -#~ "requested in the configuration. However, we lack the necessary " -#~ "privileges:\n" +#~ "Called SUID root and real-time/high-priority scheduling was requested in " +#~ "the configuration. However, we lack the necessary priviliges:\n" #~ "We are not in group '" #~ msgstr "" #~ "La crida de la SUID de root i la prioritat alta/temps real estàn " #~ "especificades en la configuració, però no té els permissos necessaris:\n" #~ "No es pertany al grup '" -#, fuzzy -#~ msgid "--log-time boolean argument" -#~ msgstr "--disallow-exit necessita un argument booleà" - #~ msgid "" #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n" #~ "For enabling real-time scheduling please acquire the appropriate " @@ -2176,3 +2418,25 @@ msgstr "" #~ msgid "pa_stream_drop() failed: %s\n" #~ msgstr "Ha fallat pa_stream_drop(): %s\n" + +#~ msgid "muted" +#~ msgstr "silenciat" + +#~ msgid "" +#~ "*** Autoload Entry #%u ***\n" +#~ "Name: %s\n" +#~ "Type: %s\n" +#~ "Module: %s\n" +#~ "Argument: %s\n" +#~ msgstr "" +#~ "*** Entrada de càrrega automàtica #%u ***\n" +#~ "Nom: %s\n" +#~ "Tipus: %s\n" +#~ "Mòdul: %s\n" +#~ "Arguments: %s\n" + +#~ msgid "sink" +#~ msgstr "conducte" + +#~ msgid "source" +#~ msgstr "font" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2008-10-19 22:31+0200\n" "Last-Translator: Petr Kovar <pknbe@volny.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" @@ -17,51 +17,51 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -70,7 +70,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -79,7 +79,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -88,6 +88,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Vnitřní chyba" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -223,38 +232,38 @@ msgstr "Režim celého systému není na této platformě podporován." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) selhalo: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Nezdařila se analýza příkazového řádku." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" "Nacházíme se ve skupině \"%s\", což umožňuje plánování o vysoké prioritě." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "Nacházíme se ve skupině \"%s\", což umožňuje plánování v reálném čase." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit nám udělil oprávnění acquire-high-priority." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit nám neudělil oprávnění acquire-high-priority." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit nám udělil oprávnění acquire-real-time." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit nám neudělil oprávnění acquire-real-time." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -267,46 +276,46 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "Plánování o vysoké prioritě v konfiguraci zapnuto, ale nepovoleno pravidly." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Úspěšně zvýšeno RLIMIT_RTPRIO" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO selhalo: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Vzdávání se CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "Plánování v reálném čase v konfiguraci zapnuto, ale nepovoleno pravidly." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Démon neběží" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Démon běží jako PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Zabití démona se nezdařilo: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -314,143 +323,143 @@ msgstr "" "Tento program není určen ke spuštění pod superuživatelem (není-li zadáno --" "system)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Jsou vyžadována oprávnění superuživatele." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start nepodporováno u systémových instancí." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-exit!" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "Běží v systémovém režimu, ale nenastaveno --disallow-module-loading!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Běží v systémovém režimu, vynuceně se vypíná režim SHM!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "Běží v systémovém režimu, vynuceně se vypíná čas nečinnosti ukončení!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Nezdařilo se získání stdio." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "pipe selhalo: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork() selhalo: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read() selhalo: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Spuštění démona selhalo." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Spuštění démona bylo úspěšné." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Toto je PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Překladový počítač: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Překladové CFLAGS: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Běží na počítači: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "Velikost stránky je %lu bajtů" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Přeloženo s podporou Valgrind: ano" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Přeloženo s podporou Valgrind: ne" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Běží v režimu valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Optimalizované sestavení: ano" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Optimalizované sestavení: ne" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Nezdařilo se získání ID počítače" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "ID počítače je %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Používán běhový adresář %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Používán stavový adresář %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Běží v systémovém režimu: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() selhalo." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" "Jsou dostupné výtečné časovače o vysokém rozlišení. Tak s chutí do toho!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -458,27 +467,27 @@ msgstr "" "Sorry, vole, kernel error! Tip šéfkuchaře na dnešní den zní: Linux se " "zapnutými časovači o vysokém rozlišení." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() selhalo." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Selhalo spuštění démona." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Spuštění démona bez jakýchkoliv nahraných modulů, běh bude odmítnut." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Spuštění démona dokončeno." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Vypínání démona spuštěno." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Démon ukončen." @@ -711,78 +720,78 @@ msgstr "Načíst Jednou s n" msgid "Path: %s\n" msgstr "Cesta: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Neplatný protokolovací cíl \"%s\"." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Neplatná protokolovací úroveň \"%s\"." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Neplatná metoda převzorkování \"%s\"." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Neplatné rlimit \"%s\"." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit na této platformě není podporováno." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Neplatný vzorkovací formát \"%s\"." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Neplatná vzorkovací frekvence \"%s\"." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Neplatné vzorkovací kanály \"%s\"." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Neplatné vzorkovací kanály \"%s\"." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Neplatný počet fragmentů \"%s\"." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Neplatná velikost fragmentu \"%s\"." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Neplatná úroveň nice \"%s\"." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Nezdařilo se otevřít konfigurační soubor: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Čtení z konfiguračního souboru: %s ###\n" @@ -1156,6 +1165,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1194,21 +1207,21 @@ msgstr "Selhala analýza dat cookie" msgid "Failed to open configuration file '%s': %s" msgstr "Selhalo otevření konfiguračního souboru \"%s\": %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Žádný soubor cookie nenahrán. Pokus o spojení bez tohoto kroku." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Přijata zpráva pro neznámé rozšíření \"%s\"" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2009-02-19 12:04+0100\n" "Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n" "Language-Team: German <fedora-trans-de@redhat.com>\n" @@ -18,57 +18,57 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: German\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 #, fuzzy msgid "Analog Stereo" msgstr "Stereo" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 #, fuzzy msgid "Analog Surround 4.0" msgstr "Surround 4.0" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 #, fuzzy msgid "Analog Surround 4.1" msgstr "Surround 4.1" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 #, fuzzy msgid "Analog Surround 5.0" msgstr "Surround 5.0" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 #, fuzzy msgid "Analog Surround 5.1" msgstr "Surround 5.1" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 #, fuzzy msgid "Analog Surround 7.1" msgstr "Surround 7.1" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -77,7 +77,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -86,7 +86,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -95,6 +95,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Interner Fehler" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." msgstr "Ursprünglicher dlopen-Loader konnte nicht gefunden werden." @@ -228,40 +237,40 @@ msgstr "System-Modus auf dieser Plattform nicht unterstützt." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Parsen der Kommandzeile fehlgeschlagen." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" "Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität " "ermöglicht." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "Richtlinien gewähren das Recht aquire-high-priority." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "Richtlinien verweigern das Recht acquire-high-priority." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "Richtlinien gewähren das Recht aquire-real-time." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "Richtlinien verweigern das Recht acquire-real-time." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, fuzzy, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -277,44 +286,44 @@ msgstr "" "Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-" "Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO erfolgreich erhöht" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Verwerfe CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Daemon läuft nicht" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Daemon läuft als PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Konnte Prozess nicht abbrechen: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -322,167 +331,167 @@ msgstr "" "Dieses Programm sollte ohne die Option --system nicht als Administrator " "ausgeführt werden." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 msgid "Root privileges required." msgstr "Root-Berechtigungen benötigt." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start nicht unterstützt für System-Instanzen." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "System-Modus aktiv, jedoch --disallow-module-loading nicht gesetzt!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "System-Modus aktiv, SHM-Modus gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Reservieren von STDIO fehlgeschlagen." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "pipe fehlgeschlagen: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork() fehlgeschlagen: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read() fehlgeschlagen: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Start des Daemons fehlgeschlagen." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Start des Daemons erfolgreich." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Dies ist PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Kompilier-Host: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Kompilier-CFLAGS: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Laufe auf Host: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "%u CPUs gefunden." -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "Seitengröße ist %lu Bytes." -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Kompiliere mit Valgrind-Unterstützung: ja" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Kompiliere mit Valgrind-Unterstützung: nein" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Läuft im Valgrind-Modus: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Optimiertes Build: ja" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Optimiertes Build: nein" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Beziehen der Maschinen-ID fehlgeschlagen" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "System- ID ist %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Nutze Laufzeit-Verzeichnis %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Nutze Zustands-Verzeichnis %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Laufe im System-Modus: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() fehlgeschlagen." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" msgstr "Der Chefkoch empfiehlt: Linux mit aktivierten hochauslösenden Timern!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() fehlgeschlagen." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Konnte Daemon nicht initialisieren." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Daemon verweigert Ausführung, da keine Module geladen." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Start des Daemons abgeschlossen." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Herunterfahren des Daemon gestartet." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Daemon beendet." @@ -734,78 +743,78 @@ msgstr "Lade einmalig: %s\n" msgid "Path: %s\n" msgstr "Pfad: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Ungültiges Log-Ziel '%s'." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Ungültige Log-Stufe '%s'." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Ungültige Resample-Methode '%s'." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Ungültiges rlimit '%s'." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit auf dieser Plattform nicht unterstützt." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Ungültiges Sample-Format '%s'." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Ungültige Sample-Rate '%s'." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Ungültige Sample-Kanäle '%s'." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Ungültige Sample-Kanäle '%s'." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Ungültige Anzahl von Fragmenten '%s'." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Ungültige Fragmentgröße '%s'." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Ungültige Nice-Stufe '%s'." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Öffnen der Konfigurationsdatei fehlgeschlagen : %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lese von Konfigurationsdatei: %s ###\n" @@ -1178,6 +1187,10 @@ msgstr "Veraltete Funktion" msgid "Missing implementation" msgstr "Fehlende Implementation" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1216,21 +1229,21 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen" msgid "Failed to open configuration file '%s': %s" msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Verbindungsversuch ohne Cookie, da keines geladen." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2008-08-22 19:40+0300\n" "Last-Translator: Dimitris Glezos <dimitris@glezos.com>\n" "Language-Team: Greek <fedora-trans-el@redhat.com>\n" @@ -16,51 +16,51 @@ msgstr "" "X-Generator: KAider 0.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -69,7 +69,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -78,7 +78,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -87,6 +87,14 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +msgid "Internal Audio" +msgstr "" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." msgstr "" @@ -220,37 +228,37 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -263,184 +271,184 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." msgstr "" -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 msgid "Root privileges required." msgstr "" -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "" -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "" -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "" -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Αυτό είναι το PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "" -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "" -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "" -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -448,27 +456,27 @@ msgstr "" "Δικέ μου, ο πυρήνας σου είναι για τα μπάζα! Η πρόταση του σεφ σήμερα είναι " "Linux με ενεργοποιημένα τα high-resolution timers!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "" -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "" -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "" -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "" @@ -649,78 +657,78 @@ msgstr "" msgid "Path: %s\n" msgstr "" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "" @@ -1089,6 +1097,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1127,21 +1139,21 @@ msgstr "" msgid "Failed to open configuration file '%s': %s" msgstr "" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "" -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PulseAudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2009-01-16 09:25-0300\n" "Last-Translator: daniel cabrera <h.daniel.cabrera@gmail.com>\n" "Language-Team: Spanish <fedora-trans-es@redhat.com>\n" @@ -16,51 +16,51 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -69,7 +69,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -78,7 +78,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -87,6 +87,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Error interno" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -222,37 +231,37 @@ msgstr "El modo a nivel de sistema no es soportado en esta plataforma." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) falló: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Falló al analizar la línea de comando." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "Estamos en el grupo '%s', permitiendo planificación de prioridad alta." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "Estamos en el grupo '%s', permitiendo planificación en tiempo real." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -265,48 +274,48 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "Está habilitadada la planificación de prioridad alta, pero no están " "permitidas por la política." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO incrementado en forma exitosa" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "Fallo en RLIMIT_RTPRIO: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Abandonando CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "Está habilitada la planificación en tiempo real, pero no está permitido por " "la política." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "El demonio no está funcionando" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "El demonio está funcionando como PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "No se ha podido detener el demonio: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -314,149 +323,149 @@ msgstr "" "Este programa no tiene por qué ser ejecutado como root (a menos que --system " "sea especificado)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Se necesitan privilegios de usuario root." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start no está soportado para las instancias del sistema." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! " -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-" "module-loading!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" "Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Fallo al intentar adquirir stdio." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "Falló el pipe: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "Falló el fork(): %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "Falló la operación read(): %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Falló el inicio del demonio. " -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "El demonio se inició exitosamente." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Esto es PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Host de compilación: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Compilación CFLAGS: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Ejecutándose en el host: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "El tamaño de la página es de %lu bytes" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Soporte para compilar con Valgrind: si" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Soporte para compilar con Valgrind: no" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Ejecutándose en modo valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Build optimizado: si" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Build optimizado: no" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Fallo al intentar obtener el ID de la máquina" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "El ID de la máquina es %s" -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Utilizando directorio de tiempo de ejecución %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Utilizando directorio de estado %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Ejecutándose en modo de sistema: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "Ha fallado pa_pid_file_create()." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" "¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon " "appetit!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -464,29 +473,29 @@ msgstr "" "¡Amigo, su kernel deja mucho que desear! ¡El plato que hoy recomienda el " "chef es Linux con cronómetros de alta resolución activados! " -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "Falló pa_core_new()." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Fallo al intentar iniciar el demonio." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" "El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a " "funcionar." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "El demonio se inició completamente." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Comienza a apagarse el demonio." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "El demonio se ha apagado." @@ -754,78 +763,78 @@ msgstr "Carga una vez: %s\n" msgid "Path: %s\n" msgstr "Ruta: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Destino de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nivel de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Método de remuestreo inválido '%s'." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Rlimit inválido '%s'." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] Rlimit no soportado en esta plataforma." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Formato de muestra inválido '%s'." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Tasa de muestra inválida '%s'." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canales de muestra inválidos '%s'." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Canales de muestra inválidos '%s'." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Cantidad de fragmentoa inválidos '%s'." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Tamaño inválido de fragmento '%s'." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nivel de nice inválido '%s'." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "No se pudo abrir el archivo de configuración: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Leyendo desde el archivo de confioguración: %s ###\n" @@ -1197,6 +1206,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1235,21 +1248,21 @@ msgstr "Fallo al analizar los datos de la cookie" msgid "Failed to open configuration file '%s': %s" msgstr "Fallo al abrir el archivo de configuración '%s': %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "No se ha cargado ninguna cookie. Intentando conectar de todos modos." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(:) %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Se ha recibido un mensaje para una extensión desconocida '%s'" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git trunk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2009-02-13 08:57+0200\n" "Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n" "Language-Team: Finnish <laatu@lokalisointi.org>\n" @@ -15,51 +15,51 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -68,7 +68,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -77,7 +77,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -86,6 +86,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Sisäinen virhe" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." msgstr "Alkuperäisen ld_dlopen-lataimen löytäminen epäonnistui." @@ -219,37 +228,37 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -262,46 +271,46 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "Tosiaikainen ajoitus otettu käyttöön asetuksissa, mutta käytännöt eivät " "salli sitä." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Taustaprosessi ei ole käynnissä" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Taustaprosessi käynnissä prosessitunnisteella %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Taustaprosessin lopettaminen epäonnistui: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -309,144 +318,144 @@ msgstr "" "Tätä ohjelmaa ei ole tarkoitettu suoritettavaksi pääkäyttäjänä (ellei --" "system ole määritelty)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 msgid "Root privileges required." msgstr "Pääkäyttäjän (root) oikeudet vaaditaan." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "" -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" "Suoritetaan järjestelmätilassa, otetaan SHM-tila pakotetusti pois käytöstä." -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "Suoritetaan järjestelmätilassa, otetaan poistumisen joutenoloaika " "pakotetusti pois käytöstä." -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Taustaprosessin käynnistys epäonnistui." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Taustaprosessin käynnistys onnistui." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Tämä on PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Käännöksen isäntäkone: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Käännösaikaiset C-liput (CFLAGS): %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Käynnissä isäntäkoneella: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "Löydettiin %u CPU:ta." -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "Sivun koko on %lu tavua" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Käännetty Valgrind-tuella: kyllä" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Käännetty Valgrind-tuella: ei" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Käynnissä valgrind-tilassa: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Optimoitu rakentaminen: kyllä" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Optimoitu rakentaminen: ei" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Konetunnisteen nouto epäonnistui" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "Konetunniste on %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Käytetään ajonaikaista hakemistoa %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Käytetään tilahakemistoa %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Suoritetaan järjestelmätilassa: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Korkean tarkkuuden ajastimet käytettävissä." -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -454,29 +463,29 @@ msgstr "" "Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin " "suositeltava!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Taustaprosessin alustus epäonnistui." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" "Taustaprosessin käynnistys ilman ladattavia moduuleita, kieltäydytään " "toiminnasta." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Taustaprosessin käynnistys valmis." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Taustaprosessin sulkeminen käynnistetty." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Taustaprosessi lopetettu." @@ -657,78 +666,78 @@ msgstr "Lataa kerran: %s\n" msgid "Path: %s\n" msgstr "Polku: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "Epäkelpo kanavakartta\n" -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Asetustiedoston avaaminen epäonnistui: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Luettu asetustiedostosta: %s ###\n" @@ -1098,6 +1107,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1136,21 +1149,21 @@ msgstr "Evästetietojen jäsennys epäonnistui" msgid "Failed to open configuration file '%s': %s" msgstr "" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Ei ladattua evästettä. Yritetään yhdistämistä ilman." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio trunk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2008-10-18 20:34+0200\n" "Last-Translator: Pablo Martin-Gomez <pablo.martin-gomez@laposte.net>\n" "Language-Team: Français <fedora-trans-fr@redhat.com>\n" @@ -19,51 +19,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -72,7 +72,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -81,7 +81,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -90,6 +90,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Erreur interne" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -226,40 +235,40 @@ msgstr "Mode système étendu non pris en charge sur cette plateforme." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) a échoué : %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Échec lors de l'analyse de la ligne de commande" -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" "Nous sommes dans le groupe « %s », permettant une planification à haute " "priorité." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" "Nous sommes dans le groupe « %s », permettant une planification en temps réel." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit a accordé l'acquisition des permissions de haute priorité." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -272,48 +281,48 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "La planification à haute priorité est activée dans la configuration mais " "n'est pas permise par la politique." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Augmentation de RLIMIT_RTPRIO réussie" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO a échoué : %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Abandon de CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "La planification en temps réel est activée mais n'est pas permise par la " "politique." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Lé démon n'est pas lancé" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Le démon est lancé avec le PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Impossible de tuer le démon : %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -321,148 +330,148 @@ msgstr "" "Le programme n'est pas conçu pour être lancé en tant que root (sauf si --" "system est renseigné)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Les permissions root sont nécessaires." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start n'est pas pris en charge pour les instances système." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" "Le démon s'exécute en mode système, mais --disallow-exit n'est pas défini." -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "Le démon s'exécute en mode système, mais --disallow-module-loading n'est pas " "défini." -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Le démon s'exécute en mode système, désactivation forcée du mode SHM." -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "Le démon s'exécute en mode système, désactivation forcée de la fermeture " "après délai d'inactivité." -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Échec lors de l'acquisition de stdio." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "Échec du tube : %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "Échec de fork() : %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "Échec de read() : %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Échec lors du démarrage du démon." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Démarrage du démon réussi." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Pulseaudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Hôte de compilation : %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS de compilation : %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Exécution sur l'hôte : %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "La taille de la page est de %lu octets" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Compilé avec la prise en charge Valgrind : oui" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Compilé avec la prise en charge Valgrind : non" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Exécution en mode valgrind : %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Construction optimisée : oui" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Construction optimisée : non" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Échec lors de l'obtention de l'ID de la machine" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "L'ID de la machine est %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Utilisation du répertoire d'exécution %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Utilisation du répertoire d'état %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Exécution en mode système : %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "Échec de pa_pid_file_create()." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" "De nouvelles horloges à haute résolution sont disponibles ! Bon appétit !" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -470,27 +479,27 @@ msgstr "" "Eh mec, ton noyau il pue ! La recommandation d'aujourd'hui du patron est " "d'activer les horloges à haute résolution sur ton Linux." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "Échec de pa_core_new()." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Échec lors de l'initialisation du démon" -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Démarrage du démon sans aucun module chargé : refus de fonctionner." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Démarrage du démon effectué." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Fermeture du démon initiée." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Démon terminé." @@ -758,78 +767,78 @@ msgid "Path: %s\n" msgstr "Chemin : %s\n" # dans les lignes suivantes [%s = nom de fichier: %u = ligne dans celui-ci] -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Cible du journal « %s » invalide." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Niveau du journal « %s » invalide." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Méthode de rééchantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit « %s » invalide." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit n'est pas pris en charge sur cette plateforme." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Format d'échantillon « %s » invalide." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Taux d'échantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canaux d'échantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Canaux d'échantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nombre de fragments « %s » invalide." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Taille du fragment « %s » invalide." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Niveau de priorité (nice) « %s » invalide." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Échec lors de l'ouverture du fichier de configuration : %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lecture à partir du fichier de configuration : %s ###\n" @@ -1203,6 +1212,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1241,21 +1254,21 @@ msgstr "Échec lors de l'analyse des données du cookie" msgid "Failed to open configuration file '%s': %s" msgstr "Échec lors de l'ouverture du fichier de configuration « %s » :%s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Aucun cookie chargé. Tentative de connexion sans celui-ci." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork() : %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid() : %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Message reçu pour une extension inconnue « %s »" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2009-02-23 19:19+0100\n" "Last-Translator: Luca Ferretti <elle.uca@libero.it>\n" "Language-Team: Italiano <tp@lists.linux.it>\n" @@ -15,57 +15,57 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 #, fuzzy msgid "Analog Stereo" msgstr "Stereo" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 #, fuzzy msgid "Analog Surround 4.0" msgstr "Surround 4.0" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 #, fuzzy msgid "Analog Surround 4.1" msgstr "Surround 4.1" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 #, fuzzy msgid "Analog Surround 5.0" msgstr "Surround 5.0" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 #, fuzzy msgid "Analog Surround 5.1" msgstr "Surround 5.1" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 #, fuzzy msgid "Analog Surround 7.1" msgstr "Surround 7.1" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -74,7 +74,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -83,7 +83,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -92,6 +92,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Errore interno" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." msgstr "Ricerca del loader lt_dlopen originale non riuscita." @@ -226,37 +235,37 @@ msgstr "Modalità \"system wide\" non supportata su questa piattaforma." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) non riuscita: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Analisi della riga di comando non riuscita." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "Attualmente nel gruppo \"%s\", che consente scheduling high-priority." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "Attualmente nel gruppo \"%s\", che consente scheduling real-time." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "Privilegi acquire-high-priority assegnati da PolicyKit." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "Privilegi acquire-real-time assegnati da PolicyKit." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "Privilegi acquire-real-time rifiutati da PolicyKit." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -269,49 +278,49 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "Scheduling high-priority abilitato nella configurazione, ma non ammesso " "dalla politica." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Incremento di RLIMIT_RTPRIO riuscito" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO non riuscito: %s" # abbandono?? -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Abbandono del CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "Scheduling real-time abilitato nella configurazione, ma non ammesso dalla " "politica." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Demone non in esecuzione" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Demone in esecuzione con PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Terminazione del demone non riuscita: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -319,150 +328,150 @@ msgstr "" "Questo programma non è pensato per essere eseguito come root (a meno di " "specificare --system)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 msgid "Root privileges required." msgstr "Richiesti privilegi di root." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start non supportato per le istanze di sistema." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "In esecuzione in modalità sistema, ma --disallow-exit non impostato." -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "In esecuzione in modalità sistema, ma --disallow-module-loading non " "impostato." -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" "In esecuzione in modalità sistema, disabilitata modalità SHM in modo forzoso." # tempo idle???? -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "In esecuzione in modalità sistema, disabilitato il tempo idle di uscita in " "modo forzoso." -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Acquisizione di STDIO non riuscita." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "pipe non riuscita: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork() non riuscita: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read() non riuscita: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Avvio del demone non riuscito." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Avvio del demone riuscito." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Questo è PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Host di compilazione: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS di compilazione: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "In esecuzione sull'host: %s" # evviva il rispetto della l10n!!! -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "Trovate %u CPU." -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "La dimensione di pagina è %lu byte" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Compilato con supporto a Valgrind: sì" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Compilato con supporto a Valgrind: no" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "In esecuzione in modalità valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Build ottimizzata: sì" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Build ottimizzata: no" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Recupero dell'ID della macchina non riuscito" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "L'ID della macchina è %s" -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "In uso directory di runtime %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "In uso directory di stato %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "In esecuzione in modalità sistema: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() non riuscita." # io mi domando e dico..... mah! -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Disponibili timer high-resolution freschi freschi! Buon appetito!" # $REPEAT_PREVIOUS_COMMENT_HERE -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -470,27 +479,27 @@ msgstr "" "Hey, questo kernel è andato a male! Lo chef oggi raccomanda Linux con i " "timer high-resolution abilitati!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() non riuscita." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Inizializzazione del demone non riuscita." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Avvio del demone senza alcun modulo caricato, rifiuta di lavorare." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Completato l'avvio del demone." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Iniziato l'arresto del demone." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Demone terminato." @@ -783,79 +792,79 @@ msgstr "Caricato una sola volta: %s\n" msgid "Path: %s\n" msgstr "Percorso: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Destinazione di registro \"%s\" non valida." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Livello di registro \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Metodo di ricampionamento \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit non supportato su questa piattaforma." # o campionamento?? ma campionamento non è sampling? -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Formato di campionamento \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Frequenza di campionamento '%s' non valida." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canali di campionamento \"%s\" non validi." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Canali di campionamento \"%s\" non validi." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Numero di frammenti \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Dimensione dei frammenti \"%s\" non valida." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Livello di nice \"%s\" non valido." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Apertura del file di configurazione non riuscita: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lettura dal file di configurazione: %s ###\n" @@ -1228,6 +1237,10 @@ msgstr "Funzionalità obsoleta" msgid "Missing implementation" msgstr "Implementazione mancante" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1266,21 +1279,21 @@ msgstr "Analisi dei dati cookie non riuscita" msgid "Failed to open configuration file '%s': %s" msgstr "Apertura del file di configurazione \"%s\" non riuscita: %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Nessun cookie caricato. Tentativo di connettersi senza." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Ricevuto messaggio per l'estensione sconosciuta \"%s\"" @@ -5,92 +5,102 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" -"PO-Revision-Date: 2009-02-20 18:42+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" +"PO-Revision-Date: 2009-02-25 00:31+0100\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "Analogowe mono" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "Analogowe stereo" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "Cyfrowe stereo (IEC958)" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "Cyfrowe stereo (HDMI)" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "Analogowe surround 4.0" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "Cyfrowe surround 4.0 (IEC958/AC3)" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "Analogowe surround 4.1" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "Analogowe surround 5.0" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "Analogowe surround 5.1" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "Cyfrowe surround 5.1 (IEC958/AC3)" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "Analogowe surround 7.1" -#: ../src/modules/alsa/alsa-util.c:1582 -#, fuzzy, c-format +#: ../src/modules/alsa/alsa-util.c:1602 +#, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " "ms).\n" "Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" -"snd_pcm_avail_update() zwróciło wyjątkowo dużą wartość: %lu bajty (%lu ms). " -"Prawdopodobnie jest to błąd sterownika ALSA. Proszę zgłosić ten problem " -"programistom ALSA." +"snd_pcm_avail() zwróciło wyjątkowo dużą wartość: %lu bajty (%lu ms).\n" +"Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten " +"problem programistom ALSA." -#: ../src/modules/alsa/alsa-util.c:1622 -#, fuzzy, c-format +#: ../src/modules/alsa/alsa-util.c:1642 +#, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" "lu ms).\n" "Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" -"snd_pcm_avail_update() zwróciło wyjątkowo dużą wartość: %lu bajty (%lu ms). " -"Prawdopodobnie jest to błąd sterownika ALSA. Proszę zgłosić ten problem " -"programistom ALSA." +"snd_pcm_delay() zwróciło wyjątkowo dużą wartość: %li bajty (%s%lu ms).\n" +"Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten " +"problem programistom ALSA." -#: ../src/modules/alsa/alsa-util.c:1668 -#, fuzzy, c-format +#: ../src/modules/alsa/alsa-util.c:1688 +#, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " "(%lu ms).\n" "Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" -"snd_pcm_mmap_begin() zwróciło wyjątkowo dużą wartość: %lu bajty (%lu ms). " -"Proszę zgłosić ten problem programistom ALSA." +"snd_pcm_mmap_begin() zwróciło wyjątkowo dużą wartość: %lu bajty (%lu ms).\n" +"Prawdopodobnie jest to błąd sterownika ALSA \"%s\". Proszę zgłosić ten " +"problem programistom ALSA." + +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Wewnętrzny błąd" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." @@ -226,39 +236,39 @@ msgstr "Tryb systemowy nie jest obsługiwany na tej platformie." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) nie powiodło się: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Analiza wiersza poleceń nie powiodła się." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" "Jesteśmy w grupie \"%s\", co umożliwia szeregowanie o wysokim priorytecie." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" "Jesteśmy w grupie \"%s\", co umożliwia szeregowanie w czasie rzeczywistym." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit nadał uprawnienie \"acquire-high-priority\"." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-high-priority\"." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit nadał uprawnienie \"acquire-real-time\"." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-real-time\"." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -270,196 +280,204 @@ msgid "" "appropriate PolicyKit privileges, or become a member of '%s', or increase " "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" - -#: ../src/daemon/main.c:536 +"W konfiguracji zażądano SUID roota i szeregowanie w czasie rzeczywistym i/" +"lub o wysokim priorytecie. Brak wymaganych uprawnień:\n" +"Nie jesteśmy w grupie \"%s\", PolicyKit odmawia przyznania żądanych " +"uprawnień i brak ograniczeń zwiększania zasobów RLIMIT_NICE/RLIMIT_RTPRIO.\n" +"Aby włączyć szeregowanie w czasie rzeczywistym i/lub o wysokim priorytecie, " +"należy uzyskać odpowiednie uprawnienia PolicyKit, zostać członkiem grupy \"%s" +"\" lub zwiększyć ograniczenia zasobów RLIMIT_NICE/RLIMIT_RTPRIO dla tego " +"użytkownika." + +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "Szeregowanie o wysokim priorytecie jest włączone w konfiguracji, ale nie " "jest zezwolone przez politykę." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Pomyślnie zwiększono RLIMIT_RTPRIO" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO nie powiodło się: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Oddawanie CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "Szeregowanie w czasie rzeczywistym jest włączone w konfiguracji, ale nie " "jest zezwolone przez politykę." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "Demon nie jest uruchomiony" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Demon jest uruchomiony jako PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Zniszczenie demona nie powiodło się: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." msgstr "" "Ten program nie powinien być uruchomiany jako root (chyba, że podano --" -"system)" +"system)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 msgid "Root privileges required." msgstr "Wymagane są uprawnienia roota." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start nie jest obsługiwane przy uruchamianiu systemowym." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" "Uruchamianie w trybie systemowym, ale --disallow-exit nie jest ustawione!" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "Uruchamianie w trybie systemowym, ale --disallow-module-loading nie jest " "ustawione!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Uruchamianie w trybie systemowym, wymuszanie wyłączenia trybu SHM!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "Uruchamianie w trybie systemowym, wymuszanie wyłączenia czasu oczekiwania na " "zakończenie!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." -msgstr "Uzyskanie standardowego wejścia/wyjścia nie powiodło się" +msgstr "Uzyskanie standardowego wejścia/wyjścia nie powiodło się." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "potok nie powiódł się: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork() nie powiodło się: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read() nie powiodło się: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Uruchomienie demona nie powiodło się." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Pomyślnie uruchomiono demona." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "To jest PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Komputer kompilacji: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS kompilacji: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Uruchamianie na komputerze: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "Znaleziono %u procesorów." -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "Rozmiar strony to %lu bajtów" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Skompilowano z obsługą Valgrind: tak" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Skompilowano z obsługą Valgrind: nie" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Uruchamianie w trybie Valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Budowanie optymalizowane: tak" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Budowanie optymalizowane: nie" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Uzyskanie identyfikatora komputera nie powiodło się" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "Identyfikator komputera to %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Używanie folderu wykonywania %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Używanie folderu stanu %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Uruchamianie w trybie systemowym: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() nie powiodło się." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Świeże zegary o wysokiej rozdzielczości! Smacznego!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -467,27 +485,27 @@ msgstr "" "Koleś, twoje jądro śmierdzi! Szef kuchni poleca dzisiaj Linuksa w włączonymi " "zegarami o wysokiej rozdzielczości!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() nie powiodło się." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Zainicjowanie demona nie powiodło się." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Uruchamianie demona bez żadnych wczytanych modułów, odmawianie pracy." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "Zakończono uruchamianie demona." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "Zainicjowano wyłączenie demona." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Demon został zniszczony." @@ -663,16 +681,15 @@ msgstr "--high-priority oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:288 msgid "--realtime expects boolean argument" -msgstr "-realtime oczekuje parametru zmiennej logicznej" +msgstr "--realtime oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:295 msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:302 -#, fuzzy msgid "--disallow-exit expects boolean argument" -msgstr "--disallow-exit zmienna logiczna" +msgstr "--disallow-exit oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:309 msgid "--use-pid-file expects boolean argument" @@ -685,14 +702,12 @@ msgstr "" "\"auto\"." #: ../src/daemon/cmdline.c:333 -#, fuzzy msgid "--log-time expects boolean argument" -msgstr "-realtime oczekuje parametru zmiennej logicznej" +msgstr "--log-time oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:340 -#, fuzzy msgid "--log-meta expects boolean argument" -msgstr "--log-meta parametr zmiennej logicznej" +msgstr "--log-meta oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:359 #, c-format @@ -751,78 +766,80 @@ msgstr "Wczytanie jednorazowe: %s\n" msgid "Path: %s\n" msgstr "Ścieżka: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Nieprawidłowy dziennik docelowy \"%s\"." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nieprawidłowy poziom dziennika \"%s\"." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Nieprawidłowa metoda resamplingu \"%s\"." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Nieprawidłowy rlimit \"%s\"." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit nie jest obsługiwany na tej platformie." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Nieprawidłowy format próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Nieprawidłowa częstotliwość próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Nieprawidłowe kanały próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:351 -#, fuzzy, c-format +#: ../src/daemon/daemon-conf.c:353 +#, c-format msgid "[%s:%u] Invalid channel map '%s'." -msgstr "[%s:%u] Nieprawidłowe kanały próbki \"%s\"." +msgstr "[%s:%u] Nieprawidłowa mapa kanałów \"%s\"." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nieprawidłowa liczba fragmentów \"%s\"." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Nieprawidłowy rozmiar fragmentu \"%s\"." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nieprawidłowy poziom nice \"%s\"." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Otwarcie pliku konfiguracji nie powiodło się: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" +"Podana domyślna mapa kanałów ma inną liczbę kanałów niż podana domyślna " +"liczba kanałów." -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Odczytano z pliku konfiguracji: %s ###\n" @@ -837,32 +854,35 @@ msgstr "Pomyślnie ograniczono możliwości do CAP_SYS_NICE." #: ../src/daemon/pulseaudio.desktop.in.h:1 msgid "PulseAudio Sound System" -msgstr "" +msgstr "System dźwięku PulseAudio" #: ../src/daemon/pulseaudio.desktop.in.h:2 msgid "Start the PulseAudio Sound System" -msgstr "" +msgstr "Uruchomienie systemu dźwięku PulseAudio" #: ../src/daemon/org.pulseaudio.policy.in.h:1 msgid "" "High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" msgstr "" +"Szeregowanie o wysokim priorytecie (ujemny poziom nice Uniksa) dla demona " +"PulseAudio" #: ../src/daemon/org.pulseaudio.policy.in.h:2 -#, fuzzy msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Zniszczenie demona PulseAudio nie powiodło się." +msgstr "Szeregowanie w czasie rzeczywistym dla demona PulseAudio" #: ../src/daemon/org.pulseaudio.policy.in.h:3 -#, fuzzy msgid "" "System policy prevents PulseAudio from acquiring high-priority scheduling." msgstr "" -"Jesteśmy w grupie \"%s\", co umożliwia szeregowanie o wysokim priorytecie." +"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania o wysokim " +"priorytecie." #: ../src/daemon/org.pulseaudio.policy.in.h:4 msgid "System policy prevents PulseAudio from acquiring real-time scheduling." msgstr "" +"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania w czasie " +"rzeczywistym." #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" @@ -1194,6 +1214,10 @@ msgstr "Przestarzała funkcjonalność" msgid "Missing implementation" msgstr "Brak implementacji" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1232,21 +1256,21 @@ msgstr "Analiza danych ciasteczka nie powiodło się" msgid "Failed to open configuration file '%s': %s" msgstr "Otwarcie pliku konfiguracji \"%s\" nie powiodło się: %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Nie wczytano ciasteczka. Próbowanie połączenia się bez niego." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Otrzymano komunikat z nieznanego powodu \"%s\"" @@ -1703,7 +1727,7 @@ msgid "Failed to get server information: %s\n" msgstr "Uzyskanie informacji o serwerze nie powiodło się: %s\n" #: ../src/utils/pactl.c:137 -#, fuzzy, c-format +#, c-format msgid "" "User name: %s\n" "Host Name: %s\n" @@ -1720,6 +1744,7 @@ msgstr "" "Nazwa serwera: %s\n" "Wersja serwera: %s\n" "Domyślne określenie próbki: %s\n" +"Domyślna mapa kanałów: %s\n" "Domyślny odpływ: %s\n" "Domyślne źródło: %s\n" "Ciasteczko: %08x\n" @@ -2341,17 +2366,3 @@ msgstr "Używanie przykładowej specyfikacji \"%s\"\n" #: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 msgid "Cannot access autospawn lock." msgstr "Nie można uzyskać dostępu do blokady automatycznego wznawiania." - -#~ msgid "" -#~ "Called SUID root and real-time and/or high-priority scheduling was " -#~ "requested in the configuration. However, we lack the necessary " -#~ "privileges:\n" -#~ "We are not in group '" -#~ msgstr "" -#~ "Wywołane SUID roota i szeregowanie w czasie rzeczywistym i/lub o wysokim " -#~ "priorytecie zostało zażądane w konfiguracji. Mimo to brak niezbędnych " -#~ "uprawnień:\n" -#~ "Nie jesteśmy w grupie \"" - -#~ msgid "--log-time boolean argument" -#~ msgstr "--log-time parametr zmiennej logicznej" diff --git a/po/pt_BR.po b/po/pt_BR.po index c6d4c11c..6bb158c9 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2008-11-21 01:21-0300\n" "Last-Translator: Henrique (LonelySpooky) Junior <lspooky@fedoraproject.org>\n" "Language-Team: Brazilian-Portuguese <fedora-trans-pt_br@redhat.com>\n" @@ -18,51 +18,51 @@ msgstr "" "X-Poedit-Language: Brazilian Portuguese\n" "X-Poedit-Country: Brazil\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -71,7 +71,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -80,7 +80,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -89,6 +89,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Erro interno" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -224,37 +233,37 @@ msgstr "O modo ampliado do sistema não tem suporte nessa plataforma." msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) falhou: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "Falha em interpretar a linha de comando." -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade." -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "O PolicyKit assegura-nos a aquisição de privilégio de alta prioridade." -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "O PolicyKit assegura-nos a aquisição de privilégios de tempo-real." -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real." -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -267,48 +276,48 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" "O escalonamento de alta prioridade foi habilitado para esta configuração, " "mas não é permitida pela política." -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO aumentado com sucesso" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO falhou: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "Abandonando CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" "O escalonamento de tempo real foi habilitado pela configuração, mas não é " "permitido pela política." -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "O daemon não está em execução" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "Daemon executando como PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "Falha em encerrar o daemon: %s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -316,144 +325,144 @@ msgstr "" "Este programa não é para ser executado como root (a não ser que --system " "seja especificado)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Privilégios de rot são requeridos." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start não tem suporte para instâncias de sistemas." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "Executando em no modo system, mas --disallow-exit não foi configurado!" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" "Executando no modo system, mas --disallow-module-loading não foi configurado!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Executando no modo system, desabilitando forçadamente o modo SHM!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" "Executando no modo system, desabilitando forçadamente o exit idle time!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "Falha em adquirir o stdio." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "O pipe falhou: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "O fork() falhou: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "A operação read() falhou: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "Falha na partida do daemon." -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "Os daemons foram iniciados com sucesso." -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Este é o PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "Host de compilação: %s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Compilação CFLAGS: %s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "Executando no host: %s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "O tamanho da página é %lu bytes" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "Compilado com suporte do Valgrind: sim" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "Compilado com suporte do Valgrind: não" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "Executando em modo valgrind: %s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "Build otimizado: sim" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "Build otimizado: não" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "Falha em obter o ID da máquina" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "A ID da máquina é %s." -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "Usando o diretório de runtime %s." -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "Usando o diretório de estado %s." -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "Executando em modo do sistema: %s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() falhou." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Timers de alta resolução frequinhos disponíveis! Bon appetit!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -461,28 +470,28 @@ msgstr "" "Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de " "alta resolução habilitados!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() falhou." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "Falha em iniciar o daemon." -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" "O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar." -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "A partida dos Daemon está completa." -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "O encerramento do Daemon foi iniciado." -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "Daemon terminado." @@ -742,78 +751,78 @@ msgstr "Carrega uma vez: %s\n" msgid "Path: %s\n" msgstr "Caminho: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Alvo do log inválido '%s'." -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nível de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Método de reamostragem inválido '%s'." -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit inválido '%s'." -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] rlimit não tem suporte nessa plataforma." -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Formato de amostragem inválido '%s'." -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Taxa de amostragem inválida '%s'." -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canais de amostragem inválidos'%s'." -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] Canais de amostragem inválidos'%s'." -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Números de fragmentos inválidos '%s'." -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Tamanho de fragmentos inválido '%s'." -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Número de nice inválido'%s'." -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Falha em abrir o arquivo de configuração: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lido do arquivo de configuração: %s ###\n" @@ -1185,6 +1194,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1223,21 +1236,21 @@ msgstr "Falhou ao analisar os dados do cookie" msgid "Failed to open configuration file '%s': %s" msgstr "Falha em abrir o arquivo de configuração '%s': %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "Nenhum cookie foi carregado. Tentativa de conexão sem eles." -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "Foi recebida uma mensagem para uma extensão desconhecida '%s'" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2008-09-05 18:24+0100\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" @@ -15,51 +15,51 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -68,7 +68,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -77,7 +77,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -86,6 +86,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "Internt fel" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." msgstr "" @@ -220,37 +229,37 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) misslyckades: %s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -263,44 +272,44 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO misslyckades: %s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -308,168 +317,168 @@ msgstr "" "Detta program är inte tänkt att köras som root (såvida inte --system har " "angivits)." -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "Root-behörighet krävs." -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "--start stöds inte för systeminstanser." -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "pipe misslyckades: %s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork() misslyckades: %s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read() misslyckades: %s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "" -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "" -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "Detta är PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "" -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "" -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "" -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() misslyckades." -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" msgstr "" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new() misslyckades." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "" -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "" -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "" -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "" @@ -653,78 +662,78 @@ msgstr "" msgid "Path: %s\n" msgstr "Sökväg: %s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "Misslyckades med att öppna konfigurationsfil: %s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "" @@ -1095,6 +1104,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1133,21 +1146,21 @@ msgstr "" msgid "Failed to open configuration file '%s': %s" msgstr "Misslyckades med att öppna konfigurationsfilen \"%s\": %s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "" -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork(): %s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 96fdeb7a..cbf4eaf8 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PulseAudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"POT-Creation-Date: 2009-03-05 12:27+0100\n" "PO-Revision-Date: 2009-01-24 12:47+0800\n" "Last-Translator: 王泽国 <zak.zeguo.wang@gmail.com>\n" "Language-Team: Chinese/Simplified\n" @@ -17,51 +17,51 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:526 +#: ../src/modules/alsa/alsa-util.c:530 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:532 +#: ../src/modules/alsa/alsa-util.c:536 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:538 +#: ../src/modules/alsa/alsa-util.c:542 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:544 +#: ../src/modules/alsa/alsa-util.c:548 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:551 +#: ../src/modules/alsa/alsa-util.c:555 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:558 +#: ../src/modules/alsa/alsa-util.c:562 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:566 +#: ../src/modules/alsa/alsa-util.c:570 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:574 +#: ../src/modules/alsa/alsa-util.c:578 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:582 +#: ../src/modules/alsa/alsa-util.c:586 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:590 +#: ../src/modules/alsa/alsa-util.c:594 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:599 +#: ../src/modules/alsa/alsa-util.c:603 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1582 +#: ../src/modules/alsa/alsa-util.c:1602 #, c-format msgid "" "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -70,7 +70,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1622 +#: ../src/modules/alsa/alsa-util.c:1642 #, c-format msgid "" "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -79,7 +79,7 @@ msgid "" "to the ALSA developers." msgstr "" -#: ../src/modules/alsa/alsa-util.c:1668 +#: ../src/modules/alsa/alsa-util.c:1688 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -88,6 +88,15 @@ msgid "" "to the ALSA developers." msgstr "" +#: ../src/pulsecore/sink.c:1963 +#, fuzzy +msgid "Internal Audio" +msgstr "内部错误" + +#: ../src/pulsecore/sink.c:1969 +msgid "Modem" +msgstr "" + #: ../src/daemon/ltdl-bind-now.c:124 #, fuzzy msgid "Failed to find original lt_dlopen loader." @@ -223,37 +232,37 @@ msgstr "此平台不支持system-wide模式。" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) 失败:%s" -#: ../src/daemon/main.c:432 +#: ../src/daemon/main.c:434 msgid "Failed to parse command line." msgstr "分析命令行失败。" -#: ../src/daemon/main.c:456 +#: ../src/daemon/main.c:458 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "我们在'%s'组中,允许高优先级调度。" -#: ../src/daemon/main.c:463 +#: ../src/daemon/main.c:465 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "我们在'%s'组中,允许实时调度。" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:473 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit授予我们“获取高优先级”权限。" -#: ../src/daemon/main.c:474 +#: ../src/daemon/main.c:476 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit拒绝“获取高优先级”权限。" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:481 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit授予我们“获取实时”权限。" -#: ../src/daemon/main.c:482 +#: ../src/daemon/main.c:484 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit拒绝我们“获取实时”权限。" -#: ../src/daemon/main.c:511 +#: ../src/daemon/main.c:513 #, c-format msgid "" "Called SUID root and real-time and/or high-priority scheduling was requested " @@ -266,211 +275,211 @@ msgid "" "the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -#: ../src/daemon/main.c:536 +#: ../src/daemon/main.c:538 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "配置中已启用高优先级调度,但策略未允许。" -#: ../src/daemon/main.c:565 +#: ../src/daemon/main.c:567 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "提高RLIMIT_RTPRIO成功。" -#: ../src/daemon/main.c:568 +#: ../src/daemon/main.c:570 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO失败:%s" -#: ../src/daemon/main.c:575 +#: ../src/daemon/main.c:577 msgid "Giving up CAP_NICE" msgstr "正在放弃CAP_NICE" -#: ../src/daemon/main.c:582 +#: ../src/daemon/main.c:584 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "配置中已启用实时调度,但策略未允许。" -#: ../src/daemon/main.c:643 +#: ../src/daemon/main.c:645 msgid "Daemon not running" msgstr "后台程序没有运行" -#: ../src/daemon/main.c:645 +#: ../src/daemon/main.c:647 #, c-format msgid "Daemon running as PID %u" msgstr "后台程序正在运行,PID %u" -#: ../src/daemon/main.c:655 +#: ../src/daemon/main.c:657 #, c-format msgid "Failed to kill daemon: %s" msgstr "杀死后台程序失败:%s" -#: ../src/daemon/main.c:673 +#: ../src/daemon/main.c:675 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." msgstr "不应以root身份运行本程序(除非指定 --system)。" -#: ../src/daemon/main.c:675 +#: ../src/daemon/main.c:677 #, fuzzy msgid "Root privileges required." msgstr "需要root权限。" -#: ../src/daemon/main.c:680 +#: ../src/daemon/main.c:682 msgid "--start not supported for system instances." msgstr "系统实例不支持 --start。" -#: ../src/daemon/main.c:685 +#: ../src/daemon/main.c:687 msgid "Running in system mode, but --disallow-exit not set!" msgstr "正在以系统模式运行,但是 --disallow-exit 未设定!" -#: ../src/daemon/main.c:688 +#: ../src/daemon/main.c:690 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "正在以系统模式运行,但是 --disallow-module-loading 未设定!" -#: ../src/daemon/main.c:691 +#: ../src/daemon/main.c:693 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "正在以系统模式运行,强制禁用SHM模式!" -#: ../src/daemon/main.c:696 +#: ../src/daemon/main.c:698 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "正在以系统模式运行,强制禁用退出空闲时间!" -#: ../src/daemon/main.c:723 +#: ../src/daemon/main.c:725 msgid "Failed to acquire stdio." msgstr "获取stdio失败。" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:731 #, c-format msgid "pipe failed: %s" msgstr "管道失败:%s" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:736 #, c-format msgid "fork() failed: %s" msgstr "fork()失败:%s" -#: ../src/daemon/main.c:748 +#: ../src/daemon/main.c:750 #, c-format msgid "read() failed: %s" msgstr "read()失败:%s" -#: ../src/daemon/main.c:754 +#: ../src/daemon/main.c:756 msgid "Daemon startup failed." msgstr "后台程序启动失败。" -#: ../src/daemon/main.c:756 +#: ../src/daemon/main.c:758 msgid "Daemon startup successful." msgstr "后台程序启动成功。" -#: ../src/daemon/main.c:826 +#: ../src/daemon/main.c:828 #, c-format msgid "This is PulseAudio %s" msgstr "这是 PulseAudio %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:829 #, c-format msgid "Compilation host: %s" msgstr "编译主机:%s" -#: ../src/daemon/main.c:828 +#: ../src/daemon/main.c:830 #, c-format msgid "Compilation CFLAGS: %s" msgstr "编译CFLAGS:%s" -#: ../src/daemon/main.c:831 +#: ../src/daemon/main.c:833 #, c-format msgid "Running on host: %s" msgstr "正在主机上运行:%s" -#: ../src/daemon/main.c:834 +#: ../src/daemon/main.c:836 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:836 +#: ../src/daemon/main.c:838 #, c-format msgid "Page size is %lu bytes" msgstr "页面大小为%lu字节" -#: ../src/daemon/main.c:839 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: yes" msgstr "编译启用Valgrind支持:是" -#: ../src/daemon/main.c:841 +#: ../src/daemon/main.c:843 msgid "Compiled with Valgrind support: no" msgstr "编译启用Valgrind支持:否" -#: ../src/daemon/main.c:844 +#: ../src/daemon/main.c:846 #, c-format msgid "Running in valgrind mode: %s" msgstr "正在以valgrind模式运行:%s" -#: ../src/daemon/main.c:847 +#: ../src/daemon/main.c:849 msgid "Optimized build: yes" msgstr "优化生成:是" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:851 msgid "Optimized build: no" msgstr "优化生成:否" -#: ../src/daemon/main.c:853 +#: ../src/daemon/main.c:855 msgid "Failed to get machine ID" msgstr "获取machine ID失败" -#: ../src/daemon/main.c:856 +#: ../src/daemon/main.c:858 #, c-format msgid "Machine ID is %s." msgstr "machine ID是%s。" -#: ../src/daemon/main.c:861 +#: ../src/daemon/main.c:863 #, c-format msgid "Using runtime directory %s." msgstr "正在使用运行时文件夹%s。" -#: ../src/daemon/main.c:866 +#: ../src/daemon/main.c:868 #, c-format msgid "Using state directory %s." msgstr "正在使用状态文件夹%s。" -#: ../src/daemon/main.c:869 +#: ../src/daemon/main.c:871 #, c-format msgid "Running in system mode: %s" msgstr "正在以系统模式运行:%s" -#: ../src/daemon/main.c:884 +#: ../src/daemon/main.c:886 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create()失败。" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:898 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "新鲜的高分辨率计时器开锅了!吃个饱!" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:900 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" msgstr "老兄,你的内核真臭!现在流行的是启用了高分辩率计分器的Linux!" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:912 msgid "pa_core_new() failed." msgstr "pa_core_new()失败。" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:974 msgid "Failed to initialize daemon." msgstr "后台程序初始化失败。" -#: ../src/daemon/main.c:977 +#: ../src/daemon/main.c:979 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "后台程序启动未加载任何模块,拒绝工作。" -#: ../src/daemon/main.c:990 +#: ../src/daemon/main.c:992 msgid "Daemon startup complete." msgstr "后台程序启动完成。" -#: ../src/daemon/main.c:996 +#: ../src/daemon/main.c:998 msgid "Daemon shutdown initiated." msgstr "开始关闭后台程序。" -#: ../src/daemon/main.c:1014 +#: ../src/daemon/main.c:1016 msgid "Daemon terminated." msgstr "后台程序已终止。" @@ -708,78 +717,78 @@ msgstr "加载一次:%s\n" msgid "Path: %s\n" msgstr "路径:%s\n" -#: ../src/daemon/daemon-conf.c:213 +#: ../src/daemon/daemon-conf.c:215 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] 无效的日志目标'%s'。" -#: ../src/daemon/daemon-conf.c:229 +#: ../src/daemon/daemon-conf.c:231 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] 无效的日志级别'%s'。" -#: ../src/daemon/daemon-conf.c:245 +#: ../src/daemon/daemon-conf.c:247 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] 无效的重采样方法'%s'。" -#: ../src/daemon/daemon-conf.c:268 +#: ../src/daemon/daemon-conf.c:270 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] 无效的rlimit '%s'。" -#: ../src/daemon/daemon-conf.c:275 +#: ../src/daemon/daemon-conf.c:277 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] 此平台不支持rlimit。" -#: ../src/daemon/daemon-conf.c:291 +#: ../src/daemon/daemon-conf.c:293 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] 无效的样品格式'%s'。" -#: ../src/daemon/daemon-conf.c:309 +#: ../src/daemon/daemon-conf.c:311 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] 无效的样品率'%s'。" -#: ../src/daemon/daemon-conf.c:333 +#: ../src/daemon/daemon-conf.c:335 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] 无效的样品通道'%s'。" -#: ../src/daemon/daemon-conf.c:351 +#: ../src/daemon/daemon-conf.c:353 #, fuzzy, c-format msgid "[%s:%u] Invalid channel map '%s'." msgstr "[%s:%u] 无效的样品通道'%s'。" -#: ../src/daemon/daemon-conf.c:369 +#: ../src/daemon/daemon-conf.c:371 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] 无效的分段数'%s'。" -#: ../src/daemon/daemon-conf.c:387 +#: ../src/daemon/daemon-conf.c:389 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] 无效的分段大小'%s'。" -#: ../src/daemon/daemon-conf.c:405 +#: ../src/daemon/daemon-conf.c:407 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] 无效的nice level '%s'。" -#: ../src/daemon/daemon-conf.c:518 +#: ../src/daemon/daemon-conf.c:522 #, c-format msgid "Failed to open configuration file: %s" msgstr "打开配置文件失败:%s" -#: ../src/daemon/daemon-conf.c:534 +#: ../src/daemon/daemon-conf.c:538 msgid "" "The specified default channel map has a different number of channels than " "the specified default number of channels." msgstr "" -#: ../src/daemon/daemon-conf.c:612 +#: ../src/daemon/daemon-conf.c:616 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### 从配置文件读取:%s ###\n" @@ -1151,6 +1160,10 @@ msgstr "" msgid "Missing implementation" msgstr "" +#: ../src/pulse/error.c:67 +msgid "Client forked" +msgstr "" + #: ../src/pulse/sample.c:169 #, c-format msgid "%s %uch %uHz" @@ -1189,21 +1202,21 @@ msgstr "cookie数据分析失败" msgid "Failed to open configuration file '%s': %s" msgstr "打开配置文件'%s'失败:%s" -#: ../src/pulse/context.c:519 +#: ../src/pulse/context.c:523 msgid "No cookie loaded. Attempting to connect without." msgstr "没有加载cookie。尝试不加载cookie进行连接。" -#: ../src/pulse/context.c:649 +#: ../src/pulse/context.c:653 #, c-format msgid "fork(): %s" msgstr "fork():%s" -#: ../src/pulse/context.c:702 +#: ../src/pulse/context.c:706 #, c-format msgid "waitpid(): %s" msgstr "waitpid():%s" -#: ../src/pulse/context.c:1279 +#: ../src/pulse/context.c:1304 #, c-format msgid "Received message for unknown extension '%s'" msgstr "收到未知扩展'%s'的信息" diff --git a/src/Makefile.am b/src/Makefile.am index aa190a45..a99e2756 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -86,7 +86,7 @@ AM_LDFLAGS+=-Wl,--export-all-symbols WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet endif -FOREIGN_CLFGAS = -w +FOREIGN_CFLAGS = -w MODULE_LDFLAGS = -module -disable-static -avoid-version ################################### @@ -540,6 +540,7 @@ lib_LTLIBRARIES = \ libpulsecommon_@PA_MAJORMINORMICRO@_la_SOURCES = \ pulse/client-conf.c pulse/client-conf.h \ pulse/i18n.c pulse/i18n.h \ + pulse/fork-detect.c pulse/fork-detect.h \ pulsecore/atomic.h \ pulsecore/authkey.c pulsecore/authkey.h \ pulsecore/conf-parser.c pulsecore/conf-parser.h \ @@ -714,10 +715,7 @@ libpulse_la_SOURCES = \ libpulse_la_CFLAGS = $(AM_CFLAGS) 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 +libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO) if HAVE_X11 libpulse_la_SOURCES += pulse/client-conf-x11.c pulse/client-conf-x11.h @@ -728,26 +726,17 @@ 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) -if HAVE_GNU_LD -libpulse_simple_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file -endif +libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO) 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) -if HAVE_GNU_LD -libpulse_browse_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file -endif +libpulse_browse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_BROWSE_VERSION_INFO) 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) -if HAVE_GNU_LD -libpulse_mainloop_glib_la_LDFLAGS += -Wl,-version-script=$(srcdir)/map-file -endif +libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO) ################################### # OSS emulation # @@ -830,7 +819,7 @@ noinst_LTLIBRARIES = libpulsecore-foreign.la libpulsecore_foreign_la_SOURCES = \ pulsecore/ffmpeg/resample2.c pulsecore/ffmpeg/avcodec.h pulsecore/ffmpeg/dsputil.h -libpulsecore_foreign_la_CFLAGS = $(AM_CFLAGS) -w +libpulsecore_foreign_la_CFLAGS = $(AM_CFLAGS) $(FOREIGN_CFLAGS) ################################### # Plug-in support libraries # diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c index 4df2ca4d..1b61a6fc 100644 --- a/src/modules/bluetooth/module-bluetooth-device.c +++ b/src/modules/bluetooth/module-bluetooth-device.c @@ -57,9 +57,6 @@ #define MAX_BITPOOL 64 #define MIN_BITPOOL 2U -#define SOL_SCO 17 -#define SCO_TXBUFS 0x03 -#define SCO_RXBUFS 0x04 PA_MODULE_AUTHOR("Joao Paulo Rechi Vita"); PA_MODULE_DESCRIPTION("Bluetooth audio sink and source"); @@ -78,6 +75,10 @@ PA_MODULE_USAGE( "sco_sink=<SCO over PCM sink name> " "sco_source=<SCO over PCM source name>"); +/* TODO: not close fd when entering suspend mode in a2dp */ + +/* TODO: BT_PCM_FLAG_NREC */ + static const char* const valid_modargs[] = { "name", "card_name", @@ -691,9 +692,6 @@ static int start_stream_fd(struct userdata *u) { return -1; } -/* setsockopt(u->stream_fd, SOL_SCO, SCO_TXBUFS, &period_count, sizeof(period_count)); */ -/* setsockopt(u->stream_fd, SOL_SCO, SCO_SNDBUF, &period_count, sizeof(period_count)); */ - pa_make_fd_nonblock(u->stream_fd); pa_make_socket_low_delay(u->stream_fd); @@ -953,7 +951,7 @@ static int a2dp_process_render(struct userdata *u) { void *d; const void *p; unsigned frame_count; - int written; + size_t written; uint64_t writing_at; pa_assert(u); @@ -979,14 +977,14 @@ static int a2dp_process_render(struct userdata *u) { writing_at = u->write_index; do { - int encoded; + ssize_t encoded; if (!u->write_memchunk.memblock) pa_sink_render_full(u->sink, u->block_size, &u->write_memchunk); p = (const uint8_t*) pa_memblock_acquire(u->write_memchunk.memblock) + u->write_memchunk.index; encoded = sbc_encode(&a2dp->sbc, - (void*) p, u->write_memchunk.length, + p, u->write_memchunk.length, d, left, &written); @@ -1001,10 +999,11 @@ static int a2dp_process_render(struct userdata *u) { return -1; } - pa_assert(written >= 0); - pa_assert((size_t) encoded <= u->write_memchunk.length); + pa_assert((size_t) encoded == sbc_get_codesize(&a2dp->sbc)); + pa_assert((size_t) written <= left); + pa_assert((size_t) written == sbc_get_frame_length(&a2dp->sbc)); /* pa_log_debug("SBC: encoded: %d; written: %d", encoded, written); */ @@ -1023,7 +1022,7 @@ static int a2dp_process_render(struct userdata *u) { frame_count++; - } while ((uint8_t*) d - (uint8_t*) a2dp->buffer + written < (ptrdiff_t) u->link_mtu); + } while (((uint8_t*) d - ((uint8_t*) a2dp->buffer + sbc_get_frame_length(&a2dp->sbc))) < (ptrdiff_t) u->link_mtu); /* write it to the fifo */ memset(a2dp->buffer, 0, sizeof(*header) + sizeof(*payload)); diff --git a/src/modules/bluetooth/sbc.c b/src/modules/bluetooth/sbc.c index a33ed571..6fa54796 100644 --- a/src/modules/bluetooth/sbc.c +++ b/src/modules/bluetooth/sbc.c @@ -1044,8 +1044,10 @@ int sbc_decode(sbc_t *sbc, void *input, int input_len, void *output, return framelen; } -int sbc_encode(sbc_t *sbc, void *input, int input_len, void *output, - int output_len, int *written) +ssize_t sbc_encode(sbc_t *sbc, + const void *input, size_t input_len, + void *output, size_t output_len, + size_t *written) { struct sbc_priv *priv; int framelen, samples; @@ -1133,9 +1135,9 @@ void sbc_finish(sbc_t *sbc) memset(sbc, 0, sizeof(sbc_t)); } -int sbc_get_frame_length(sbc_t *sbc) +size_t sbc_get_frame_length(sbc_t *sbc) { - int ret; + size_t ret; uint8_t subbands, channels, blocks, joint; struct sbc_priv *priv; @@ -1164,7 +1166,7 @@ int sbc_get_frame_length(sbc_t *sbc) return ret; } -int sbc_get_frame_duration(sbc_t *sbc) +unsigned sbc_get_frame_duration(sbc_t *sbc) { uint8_t subbands, blocks; uint16_t frequency; @@ -1202,7 +1204,7 @@ int sbc_get_frame_duration(sbc_t *sbc) return (1000000 * blocks * subbands) / frequency; } -uint16_t sbc_get_codesize(sbc_t *sbc) +size_t sbc_get_codesize(sbc_t *sbc) { uint16_t subbands, channels, blocks; struct sbc_priv *priv; diff --git a/src/modules/bluetooth/sbc.h b/src/modules/bluetooth/sbc.h index f9d506bc..25a12885 100644 --- a/src/modules/bluetooth/sbc.h +++ b/src/modules/bluetooth/sbc.h @@ -31,6 +31,7 @@ extern "C" { #endif #include <stdint.h> +#include <sys/types.h> /* sampling frequency */ #define SBC_FREQ_16000 0x00 @@ -84,11 +85,22 @@ int sbc_reinit(sbc_t *sbc, unsigned long flags); int sbc_parse(sbc_t *sbc, void *input, int input_len); int sbc_decode(sbc_t *sbc, void *input, int input_len, void *output, int output_len, int *len); -int sbc_encode(sbc_t *sbc, void *input, int input_len, void *output, - int output_len, int *written); -int sbc_get_frame_length(sbc_t *sbc); -int sbc_get_frame_duration(sbc_t *sbc); -uint16_t sbc_get_codesize(sbc_t *sbc); + +/* Encodes ONE input block into ONE output block */ +ssize_t sbc_encode(sbc_t *sbc, + const void *input, size_t input_len, + void *output, size_t output_len, + size_t *written); + +/* Returns the output block size in bytes */ +size_t sbc_get_frame_length(sbc_t *sbc); + +/* Returns the time one input/output block takes to play in msec*/ +unsigned sbc_get_frame_duration(sbc_t *sbc); + +/* Returns the input block size in bytes */ +size_t sbc_get_codesize(sbc_t *sbc); + const char *sbc_get_implementation_info(sbc_t *sbc); void sbc_finish(sbc_t *sbc); diff --git a/src/pulse/context.c b/src/pulse/context.c index 1284153f..00dffc25 100644 --- a/src/pulse/context.c +++ b/src/pulse/context.c @@ -74,6 +74,7 @@ #include "internal.h" #include "client-conf.h" +#include "fork-detect.h" #ifdef HAVE_X11 #include "client-conf-x11.h" @@ -127,6 +128,9 @@ pa_context *pa_context_new_with_proplist(pa_mainloop_api *mainloop, const char * pa_assert(mainloop); + if (pa_detect_fork()) + return NULL; + pa_init_i18n(); c = pa_xnew(pa_context, 1); @@ -822,6 +826,7 @@ int pa_context_connect( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(c, c->state == PA_CONTEXT_UNCONNECTED, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(c, !(flags & ~PA_CONTEXT_NOAUTOSPAWN), PA_ERR_INVALID); PA_CHECK_VALIDITY(c, !server || *server, PA_ERR_INVALID); @@ -894,6 +899,9 @@ void pa_context_disconnect(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + if (pa_detect_fork()) + return; + if (PA_CONTEXT_IS_GOOD(c->state)) pa_context_set_state(c, PA_CONTEXT_TERMINATED); } @@ -916,6 +924,9 @@ void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, voi pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + if (pa_detect_fork()) + return; + if (c->state == PA_CONTEXT_TERMINATED || c->state == PA_CONTEXT_FAILED) return; @@ -927,6 +938,9 @@ void pa_context_set_event_callback(pa_context *c, pa_context_event_cb_t cb, void pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + if (pa_detect_fork()) + return; + if (c->state == PA_CONTEXT_TERMINATED || c->state == PA_CONTEXT_FAILED) return; @@ -938,6 +952,7 @@ int pa_context_is_pending(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(c, PA_CONTEXT_IS_GOOD(c->state), PA_ERR_BADSTATE); return (c->pstream && pa_pstream_is_pending(c->pstream)) || @@ -994,6 +1009,7 @@ pa_operation* pa_context_drain(pa_context *c, pa_context_notify_cb_t cb, void *u pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_context_is_pending(c), PA_ERR_BADSTATE); @@ -1042,6 +1058,7 @@ pa_operation* pa_context_send_simple_command(pa_context *c, uint32_t command, pa pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, cb, userdata); @@ -1068,6 +1085,7 @@ pa_operation* pa_context_set_default_sink(pa_context *c, const char *name, pa_co pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -1087,6 +1105,7 @@ pa_operation* pa_context_set_default_source(pa_context *c, const char *name, pa_ pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -1102,6 +1121,7 @@ int pa_context_is_local(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(c, !pa_detect_fork(), PA_ERR_FORKED, -1); PA_CHECK_VALIDITY_RETURN_ANY(c, PA_CONTEXT_IS_GOOD(c->state), PA_ERR_BADSTATE, -1); return !!c->is_local; @@ -1114,6 +1134,7 @@ pa_operation* pa_context_set_name(pa_context *c, const char *name, pa_context_su pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(name); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); if (c->version >= 13) { @@ -1144,8 +1165,8 @@ const char* pa_context_get_server(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); - if (!c->server) - return NULL; + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); + PA_CHECK_VALIDITY_RETURN_NULL(c, c->server, PA_ERR_NOENTITY); if (*c->server == '{') { char *e = strchr(c->server+1, '}'); @@ -1163,6 +1184,7 @@ uint32_t pa_context_get_server_protocol_version(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(c, !pa_detect_fork(), PA_ERR_FORKED, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(c, PA_CONTEXT_IS_GOOD(c->state), PA_ERR_BADSTATE, PA_INVALID_INDEX); return c->version; @@ -1185,6 +1207,7 @@ uint32_t pa_context_get_index(pa_context *c) { pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(c, !pa_detect_fork(), PA_ERR_FORKED, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(c, c->version >= 13, PA_ERR_NOTSUPPORTED, PA_INVALID_INDEX); @@ -1199,6 +1222,7 @@ pa_operation *pa_context_proplist_update(pa_context *c, pa_update_mode_t mode, p pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, mode == PA_UPDATE_SET || mode == PA_UPDATE_MERGE || mode == PA_UPDATE_REPLACE, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 13, PA_ERR_NOTSUPPORTED); @@ -1227,6 +1251,7 @@ pa_operation *pa_context_proplist_remove(pa_context *c, const char *const keys[] pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, keys && keys[0], PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 13, PA_ERR_NOTSUPPORTED); diff --git a/src/pulse/def.h b/src/pulse/def.h index 7f3a0c5d..3629aabc 100644 --- a/src/pulse/def.h +++ b/src/pulse/def.h @@ -389,6 +389,7 @@ enum { PA_ERR_NOEXTENSION, /**< Extension does not exist. \since 0.9.12 */ PA_ERR_OBSOLETE, /**< Obsolete functionality. \since 0.9.15 */ PA_ERR_NOTIMPLEMENTED, /**< Missing implementation. \since 0.9.15 */ + PA_ERR_FORKED, /**< The caler forked without calling execve() and tried to reuse the context. \since 0.9.15 */ PA_ERR_MAX /**< Not really an error but the first invalid error code */ }; @@ -417,6 +418,7 @@ enum { #define PA_ERR_NOEXTENSION PA_ERR_NOEXTENSION #define PA_ERR_OBSOLETE PA_ERR_OBSOLETE #define PA_ERR_NOTIMPLEMENTED PA_ERR_NOTIMPLEMENTED +#define PA_ERR_FORKED PA_ERR_FORKED #define PA_ERR_MAX PA_ERR_MAX /** \endcond */ diff --git a/src/pulse/error.c b/src/pulse/error.c index 9551d98e..93a13fc6 100644 --- a/src/pulse/error.c +++ b/src/pulse/error.c @@ -63,7 +63,8 @@ const char*pa_strerror(int error) { [PA_ERR_UNKNOWN] = N_("Unknown error code"), [PA_ERR_NOEXTENSION] = N_("No such extension"), [PA_ERR_OBSOLETE] = N_("Obsolete functionality"), - [PA_ERR_NOTIMPLEMENTED] = N_("Missing implementation") + [PA_ERR_NOTIMPLEMENTED] = N_("Missing implementation"), + [PA_ERR_FORKED] = N_("Client forked") }; pa_init_i18n(); diff --git a/src/pulse/ext-stream-restore.c b/src/pulse/ext-stream-restore.c index 809c6a4c..63c911f8 100644 --- a/src/pulse/ext-stream-restore.c +++ b/src/pulse/ext-stream-restore.c @@ -31,6 +31,7 @@ #include "internal.h" #include "operation.h" +#include "fork-detect.h" #include "ext-stream-restore.h" @@ -87,6 +88,7 @@ pa_operation *pa_ext_stream_restore_test( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 14, PA_ERR_NOTSUPPORTED); @@ -167,6 +169,7 @@ pa_operation *pa_ext_stream_restore_read( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 14, PA_ERR_NOTSUPPORTED); @@ -200,6 +203,7 @@ pa_operation *pa_ext_stream_restore_write( pa_assert(mode == PA_UPDATE_MERGE || mode == PA_UPDATE_REPLACE || mode == PA_UPDATE_SET); pa_assert(data); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 14, PA_ERR_NOTSUPPORTED); @@ -262,6 +266,7 @@ pa_operation *pa_ext_stream_restore_delete( pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(s); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 14, PA_ERR_NOTSUPPORTED); @@ -310,6 +315,7 @@ pa_operation *pa_ext_stream_restore_subscribe( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 14, PA_ERR_NOTSUPPORTED); @@ -334,6 +340,9 @@ void pa_ext_stream_restore_set_subscribe_cb( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + if (pa_detect_fork()) + return; + c->ext_stream_restore.callback = cb; c->ext_stream_restore.userdata = userdata; } diff --git a/src/pulse/fork-detect.c b/src/pulse/fork-detect.c new file mode 100644 index 00000000..f10fc029 --- /dev/null +++ b/src/pulse/fork-detect.c @@ -0,0 +1,59 @@ +/*** + This file is part of PulseAudio. + + Copyright 2009 Lennart Poettering + + 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.1 of the License, + or (at your option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with PulseAudio; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <unistd.h> + +#include <pulsecore/atomic.h> +#include <pulsecore/macro.h> + +#include "fork-detect.h" + +int pa_detect_fork(void) { + static pa_atomic_t pid = PA_ATOMIC_INIT((int) -1); + + /* Some really stupid applications (Hey, vim, that means you!) + * love to fork after initializing + * gtk/libcanberra/pulseaudio. This is really bad style. We + * however have to deal with this cleanly, so we try to detect the + * forks making sure all our calls fail cleanly after the fork. */ + + pa_assert(sizeof(pa_atomic_t) >= sizeof(pid_t)); + + for (;;) { + pid_t stored_pid = (pid_t) pa_atomic_load(&pid); + + /* First let's check whether the current pid matches the stored one */ + if (stored_pid == getpid()) + return FALSE; + + /* Does it contain a different PID than ours? Then the process got forked. */ + if ((int) stored_pid != (int) -1) + return TRUE; + + /* Ok, it still contains no PID, then store it */ + if (pa_atomic_cmpxchg(&pid, (int) -1, (int) getpid())) + return FALSE; + } +} diff --git a/src/pulse/fork-detect.h b/src/pulse/fork-detect.h new file mode 100644 index 00000000..649d9818 --- /dev/null +++ b/src/pulse/fork-detect.h @@ -0,0 +1,27 @@ +#ifndef fooforkdetecthfoo +#define fooforkdetecthfoo + +/*** + This file is part of PulseAudio. + + Copyright 2009 Lennart Poettering + + 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.1 of the License, + or (at your option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with PulseAudio; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + +int pa_detect_fork(void); + +#endif diff --git a/src/pulse/introspect.c b/src/pulse/introspect.c index 847ead0d..ac8a11aa 100644 --- a/src/pulse/introspect.c +++ b/src/pulse/introspect.c @@ -35,6 +35,7 @@ #include <pulsecore/pstream-util.h> #include "internal.h" +#include "fork-detect.h" #include "introspect.h" @@ -232,6 +233,7 @@ pa_operation* pa_context_get_sink_info_by_index(pa_context *c, uint32_t idx, pa_ pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -254,6 +256,7 @@ pa_operation* pa_context_get_sink_info_by_name(pa_context *c, const char *name, pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -365,6 +368,7 @@ pa_operation* pa_context_get_source_info_by_index(pa_context *c, uint32_t idx, p pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -387,6 +391,7 @@ pa_operation* pa_context_get_source_info_by_name(pa_context *c, const char *name pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -466,6 +471,7 @@ pa_operation* pa_context_get_client_info(pa_context *c, uint32_t idx, pa_client_ pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -590,6 +596,7 @@ pa_operation* pa_context_get_card_info_by_index(pa_context *c, uint32_t idx, pa_ pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 15, PA_ERR_NOTSUPPORTED); @@ -614,6 +621,7 @@ pa_operation* pa_context_get_card_info_by_name(pa_context *c, const char*name, p pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 15, PA_ERR_NOTSUPPORTED); @@ -641,6 +649,7 @@ pa_operation* pa_context_set_card_profile_by_index(pa_context *c, uint32_t idx, pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 15, PA_ERR_NOTSUPPORTED); @@ -665,6 +674,7 @@ pa_operation* pa_context_set_card_profile_by_name(pa_context *c, const char *nam pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 15, PA_ERR_NOTSUPPORTED); @@ -748,6 +758,7 @@ pa_operation* pa_context_get_module_info(pa_context *c, uint32_t idx, pa_module_ pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -842,6 +853,7 @@ pa_operation* pa_context_get_sink_input_info(pa_context *c, uint32_t idx, pa_sin pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -931,6 +943,7 @@ pa_operation* pa_context_get_source_output_info(pa_context *c, uint32_t idx, pa_ pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -959,6 +972,7 @@ pa_operation* pa_context_set_sink_volume_by_index(pa_context *c, uint32_t idx, c pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(volume); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_cvolume_valid(volume), PA_ERR_INVALID); @@ -984,6 +998,7 @@ pa_operation* pa_context_set_sink_volume_by_name(pa_context *c, const char *name pa_assert(name); pa_assert(volume); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_cvolume_valid(volume), PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -1008,6 +1023,7 @@ pa_operation* pa_context_set_sink_mute_by_index(pa_context *c, uint32_t idx, int pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -1031,6 +1047,7 @@ pa_operation* pa_context_set_sink_mute_by_name(pa_context *c, const char *name, pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(name); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -1055,6 +1072,7 @@ pa_operation* pa_context_set_sink_input_volume(pa_context *c, uint32_t idx, cons pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(volume); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_cvolume_valid(volume), PA_ERR_INVALID); @@ -1078,6 +1096,7 @@ pa_operation* pa_context_set_sink_input_mute(pa_context *c, uint32_t idx, int mu pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED); @@ -1102,6 +1121,7 @@ pa_operation* pa_context_set_source_volume_by_index(pa_context *c, uint32_t idx, pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(volume); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_cvolume_valid(volume), PA_ERR_INVALID); @@ -1127,6 +1147,7 @@ pa_operation* pa_context_set_source_volume_by_name(pa_context *c, const char *na pa_assert(name); pa_assert(volume); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, pa_cvolume_valid(volume), PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -1151,6 +1172,7 @@ pa_operation* pa_context_set_source_mute_by_index(pa_context *c, uint32_t idx, i pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); o = pa_operation_new(c, NULL, (pa_operation_cb_t) cb, userdata); @@ -1174,6 +1196,7 @@ pa_operation* pa_context_set_source_mute_by_name(pa_context *c, const char *name pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(name); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, !name || *name, PA_ERR_INVALID); @@ -1261,6 +1284,7 @@ pa_operation* pa_context_get_sample_info_by_name(pa_context *c, const char *name pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID); @@ -1284,6 +1308,7 @@ pa_operation* pa_context_get_sample_info_by_index(pa_context *c, uint32_t idx, p pa_assert(PA_REFCNT_VALUE(c) >= 1); pa_assert(cb); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1310,6 +1335,7 @@ static pa_operation* command_kill(pa_context *c, uint32_t command, uint32_t idx, pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1376,6 +1402,7 @@ pa_operation* pa_context_load_module(pa_context *c, const char*name, const char pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID); @@ -1459,6 +1486,7 @@ pa_operation* pa_context_move_sink_input_by_name(pa_context *c, uint32_t idx, co pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1484,6 +1512,7 @@ pa_operation* pa_context_move_sink_input_by_index(pa_context *c, uint32_t idx, u pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1509,6 +1538,7 @@ pa_operation* pa_context_move_source_output_by_name(pa_context *c, uint32_t idx, pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1534,6 +1564,7 @@ pa_operation* pa_context_move_source_output_by_index(pa_context *c, uint32_t idx pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID); @@ -1559,6 +1590,7 @@ pa_operation* pa_context_suspend_sink_by_name(pa_context *c, const char *sink_na pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, !sink_name || *sink_name, PA_ERR_INVALID); @@ -1583,6 +1615,7 @@ pa_operation* pa_context_suspend_sink_by_index(pa_context *c, uint32_t idx, int pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED); @@ -1606,6 +1639,7 @@ pa_operation* pa_context_suspend_source_by_name(pa_context *c, const char *sourc pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, !source_name || *source_name, PA_ERR_INVALID); @@ -1630,6 +1664,7 @@ pa_operation* pa_context_suspend_source_by_index(pa_context *c, uint32_t idx, in pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED); diff --git a/src/pulse/stream.c b/src/pulse/stream.c index 2455fe7b..9a0ea0fd 100644 --- a/src/pulse/stream.c +++ b/src/pulse/stream.c @@ -38,6 +38,7 @@ #include <pulsecore/macro.h> #include <pulsecore/rtclock.h> +#include "fork-detect.h" #include "internal.h" #define LATENCY_IPOL_INTERVAL_USEC (333*PA_USEC_PER_MSEC) @@ -87,6 +88,7 @@ pa_stream *pa_stream_new_with_proplist( pa_assert(c); pa_assert(PA_REFCNT_VALUE(c) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(c, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(c, ss && pa_sample_spec_valid(ss), PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 12 || (ss->format != PA_SAMPLE_S32LE && ss->format != PA_SAMPLE_S32BE), PA_ERR_NOTSUPPORTED); PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 15 || (ss->format != PA_SAMPLE_S24LE && ss->format != PA_SAMPLE_S24BE), PA_ERR_NOTSUPPORTED); @@ -267,6 +269,7 @@ uint32_t pa_stream_get_index(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(s->context, !pa_detect_fork(), PA_ERR_FORKED, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, PA_INVALID_INDEX); return s->stream_index; @@ -921,6 +924,7 @@ static int create_stream( pa_assert(PA_REFCNT_VALUE(s) >= 1); pa_assert(direction == PA_STREAM_PLAYBACK || direction == PA_STREAM_RECORD); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_UNCONNECTED, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direct_on_input == PA_INVALID_INDEX || direction == PA_STREAM_RECORD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, !(flags & ~(PA_STREAM_START_CORKED| @@ -1122,6 +1126,7 @@ int pa_stream_write( pa_assert(PA_REFCNT_VALUE(s) >= 1); pa_assert(data); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, seek <= PA_SEEK_RELATIVE_END, PA_ERR_INVALID); @@ -1216,6 +1221,7 @@ int pa_stream_peek(pa_stream *s, const void **data, size_t *length) { pa_assert(data); pa_assert(length); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE); @@ -1240,6 +1246,7 @@ int pa_stream_drop(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->peek_memchunk.memblock, PA_ERR_BADSTATE); @@ -1262,6 +1269,7 @@ size_t pa_stream_writable_size(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(s->context, !pa_detect_fork(), PA_ERR_FORKED, (size_t) -1); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, (size_t) -1); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction != PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1); @@ -1272,6 +1280,7 @@ size_t pa_stream_readable_size(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(s->context, !pa_detect_fork(), PA_ERR_FORKED, (size_t) -1); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, (size_t) -1); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1); @@ -1286,6 +1295,7 @@ pa_operation * pa_stream_drain(pa_stream *s, pa_stream_success_cb_t cb, void *us pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE); @@ -1557,6 +1567,7 @@ pa_operation* pa_stream_update_timing_info(pa_stream *s, pa_stream_success_cb_t pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -1627,6 +1638,7 @@ int pa_stream_disconnect(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->channel_valid, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->context->state == PA_CONTEXT_READY, PA_ERR_BADSTATE); @@ -1649,6 +1661,9 @@ void pa_stream_set_read_callback(pa_stream *s, pa_stream_request_cb_t cb, void * pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1660,6 +1675,9 @@ void pa_stream_set_write_callback(pa_stream *s, pa_stream_request_cb_t cb, void pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1671,6 +1689,9 @@ void pa_stream_set_state_callback(pa_stream *s, pa_stream_notify_cb_t cb, void * pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1682,6 +1703,9 @@ void pa_stream_set_overflow_callback(pa_stream *s, pa_stream_notify_cb_t cb, voi pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1693,6 +1717,9 @@ void pa_stream_set_underflow_callback(pa_stream *s, pa_stream_notify_cb_t cb, vo pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1704,6 +1731,9 @@ void pa_stream_set_latency_update_callback(pa_stream *s, pa_stream_notify_cb_t c pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1715,6 +1745,9 @@ void pa_stream_set_moved_callback(pa_stream *s, pa_stream_notify_cb_t cb, void * pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1726,6 +1759,9 @@ void pa_stream_set_suspended_callback(pa_stream *s, pa_stream_notify_cb_t cb, vo pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1737,6 +1773,9 @@ void pa_stream_set_started_callback(pa_stream *s, pa_stream_notify_cb_t cb, void pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1748,6 +1787,9 @@ void pa_stream_set_event_callback(pa_stream *s, pa_stream_event_cb_t cb, void *u pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + if (pa_detect_fork()) + return; + if (s->state == PA_STREAM_TERMINATED || s->state == PA_STREAM_FAILED) return; @@ -1794,6 +1836,7 @@ pa_operation* pa_stream_cork(pa_stream *s, int b, pa_stream_success_cb_t cb, voi pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -1827,6 +1870,7 @@ static pa_operation* stream_send_simple_command(pa_stream *s, uint32_t command, pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); o = pa_operation_new(s->context, s, (pa_operation_cb_t) cb, userdata); @@ -1845,6 +1889,7 @@ pa_operation* pa_stream_flush(pa_stream *s, pa_stream_success_cb_t cb, void *use pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -1877,6 +1922,7 @@ pa_operation* pa_stream_prebuf(pa_stream *s, pa_stream_success_cb_t cb, void *us pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->buffer_attr.prebuf > 0, PA_ERR_BADSTATE); @@ -1897,6 +1943,7 @@ pa_operation* pa_stream_trigger(pa_stream *s, pa_stream_success_cb_t cb, void *u pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->buffer_attr.prebuf > 0, PA_ERR_BADSTATE); @@ -1918,6 +1965,7 @@ pa_operation* pa_stream_set_name(pa_stream *s, const char *name, pa_stream_succe pa_assert(PA_REFCNT_VALUE(s) >= 1); pa_assert(name); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -1951,6 +1999,7 @@ int pa_stream_get_time(pa_stream *s, pa_usec_t *r_usec) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->timing_info_valid, PA_ERR_NODATA); @@ -2003,6 +2052,7 @@ int pa_stream_get_latency(pa_stream *s, pa_usec_t *r_usec, int *negative) { pa_assert(PA_REFCNT_VALUE(s) >= 1); pa_assert(r_usec); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->timing_info_valid, PA_ERR_NODATA); @@ -2034,6 +2084,7 @@ const pa_timing_info* pa_stream_get_timing_info(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->timing_info_valid, PA_ERR_NODATA); @@ -2045,6 +2096,8 @@ const pa_sample_spec* pa_stream_get_sample_spec(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); + return &s->sample_spec; } @@ -2052,6 +2105,8 @@ const pa_channel_map* pa_stream_get_channel_map(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); + return &s->channel_map; } @@ -2139,6 +2194,7 @@ pa_operation* pa_stream_set_buffer_attr(pa_stream *s, const pa_buffer_attr *attr pa_assert(PA_REFCNT_VALUE(s) >= 1); pa_assert(attr); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->context->version >= 12, PA_ERR_NOTSUPPORTED); @@ -2183,6 +2239,7 @@ uint32_t pa_stream_get_device_index(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(s->context, !pa_detect_fork(), PA_ERR_FORKED, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->context->version >= 12, PA_ERR_NOTSUPPORTED, PA_INVALID_INDEX); @@ -2195,6 +2252,7 @@ const char *pa_stream_get_device_name(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->context->version >= 12, PA_ERR_NOTSUPPORTED); @@ -2207,6 +2265,7 @@ int pa_stream_is_suspended(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->context->version >= 12, PA_ERR_NOTSUPPORTED); @@ -2218,6 +2277,7 @@ int pa_stream_is_corked(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -2270,6 +2330,7 @@ pa_operation *pa_stream_update_sample_rate(pa_stream *s, uint32_t rate, pa_strea pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, rate > 0 && rate <= PA_RATE_MAX, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -2300,6 +2361,7 @@ pa_operation *pa_stream_proplist_update(pa_stream *s, pa_update_mode_t mode, pa_ pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, mode == PA_UPDATE_SET || mode == PA_UPDATE_MERGE || mode == PA_UPDATE_REPLACE, PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -2333,6 +2395,7 @@ pa_operation *pa_stream_proplist_remove(pa_stream *s, const char *const keys[], pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY_RETURN_NULL(s->context, keys && keys[0], PA_ERR_INVALID); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE); @@ -2364,6 +2427,7 @@ int pa_stream_set_monitor_stream(pa_stream *s, uint32_t sink_input_idx) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); PA_CHECK_VALIDITY(s->context, sink_input_idx != PA_INVALID_INDEX, PA_ERR_INVALID); PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_UNCONNECTED, PA_ERR_BADSTATE); PA_CHECK_VALIDITY(s->context, s->context->version >= 13, PA_ERR_NOTSUPPORTED); @@ -2377,6 +2441,7 @@ uint32_t pa_stream_get_monitor_stream(pa_stream *s) { pa_assert(s); pa_assert(PA_REFCNT_VALUE(s) >= 1); + PA_CHECK_VALIDITY_RETURN_ANY(s->context, !pa_detect_fork(), PA_ERR_FORKED, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direct_on_input != PA_INVALID_INDEX, PA_ERR_BADSTATE, PA_INVALID_INDEX); PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->context->version >= 13, PA_ERR_NOTSUPPORTED, PA_INVALID_INDEX); diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index 667ae761..ff8700c7 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -1902,7 +1902,7 @@ size_t pa_sink_get_max_request(pa_sink *s) { /* Called from main context */ pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink) { - const char *ff, *t = NULL, *s = "", *profile, *bus; + const char *ff, *c, *t = NULL, *s = "", *profile, *bus; pa_assert(p); @@ -1919,8 +1919,15 @@ pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink) { t = "computer"; else if (pa_streq(ff, "handset")) t = "phone"; + else if (pa_streq(ff, "portable")) + t = "multimedia-player"; } + if (!t) + if ((c = pa_proplist_gets(p, PA_PROP_DEVICE_CLASS))) + if (pa_streq(c, "modem")) + t = "modem"; + if (!t) { if (is_sink) t = "audio-card"; @@ -1957,6 +1964,12 @@ pa_bool_t pa_device_init_description(pa_proplist *p) { return TRUE; } + if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_CLASS))) + if (pa_streq(s, "modem")) { + pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, _("Modem")); + return TRUE; + } + if ((s = pa_proplist_gets(p, PA_PROP_DEVICE_PRODUCT_NAME))) { pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, s); return TRUE; diff --git a/src/tests/interpol-test.c b/src/tests/interpol-test.c index 5f7ebb76..dd24e829 100644 --- a/src/tests/interpol-test.c +++ b/src/tests/interpol-test.c @@ -107,6 +107,7 @@ int main(int argc, char *argv[]) { int k, r; struct timeval start, last_info = { 0, 0 }; pa_usec_t old_t = 0, old_rtc = 0; + pa_bool_t corked = FALSE; playback = argc <= 1 || !pa_streq(argv[1], "-r"); @@ -129,7 +130,7 @@ int main(int argc, char *argv[]) { r = pa_threaded_mainloop_start(m); assert(r >= 0); - for (k = 0; k < 5000; k++) { + for (k = 0; k < 20000; k++) { pa_bool_t success = FALSE, changed = FALSE; pa_usec_t t, rtc; struct timeval now, tv; @@ -158,6 +159,8 @@ int main(int argc, char *argv[]) { pa_gettimeofday(&now); if (success) { + pa_bool_t cork_now; + rtc = pa_timeval_diff(&now, &start); printf("%i\t%llu\t%llu\t%llu\t%llu\t%u\t%u\n", k, (unsigned long long) rtc, @@ -170,6 +173,18 @@ int main(int argc, char *argv[]) { fflush(stdout); old_t = t; old_rtc = rtc; + + cork_now = (rtc / (2*PA_USEC_PER_SEC)) % 2 == 1; + + if (corked != cork_now) { + pa_threaded_mainloop_lock(m); + pa_operation_unref(pa_stream_cork(stream, cork_now, NULL, NULL)); + pa_threaded_mainloop_unlock(m); + + pa_log(cork_now ? "Corking" : "Uncorking"); + + corked = cork_now; + } } /* Spin loop, ugly but normal usleep() is just too badly grained */ |