diff options
38 files changed, 6215 insertions, 1660 deletions
diff --git a/libpulse.pc.in b/libpulse.pc.in index 161599e1..c78b1231 100644 --- a/libpulse.pc.in +++ b/libpulse.pc.in @@ -2,6 +2,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ +modlibexecdir=@modlibexecdir@ Name: libpulse Description: PulseAudio Client Interface diff --git a/po/.gitignore b/po/.gitignore index 26919828..9a0243ad 100644 --- a/po/.gitignore +++ b/po/.gitignore @@ -1,3 +1,4 @@ +.intltool-merge-cache Makefile.in.in Makevars.template POTFILES @@ -5,7 +5,8 @@ el es fi fr +it pl pt_BR sv -zh_CN +zh_CN
\ No newline at end of file diff --git a/po/POTFILES.in b/po/POTFILES.in index 324b9460..0d5b42fb 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -155,6 +155,8 @@ src/daemon/cmdline.c src/daemon/dumpmodules.c src/daemon/daemon-conf.c src/daemon/caps.c +src/daemon/pulseaudio.desktop.in +src/daemon/org.pulseaudio.policy.in src/pulse/channelmap.c src/pulse/error.c src/pulse/proplist.c @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+0100\n" "PO-Revision-Date: 2009-02-13 23:27+0100\n" "Last-Translator: Agusti Grau <fletxa@gmail.com>\n" "Language-Team: Catalan <fedora@softcatala.net>\n" @@ -27,63 +27,74 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -222,92 +233,94 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "S'ha produït un error en interpretar la línia de comandes." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit ha permés el permís acquire-high-priority." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit ha rebutjat el permís acquire-high-priority." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit h permés el permís acquire-real-time." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit ha rebutjat el permís acquire-real-time." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." 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 '" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit." -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Es deixa CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "El dimoni no s'està executant." -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "El dimoni s'està executant amb PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "S'ha produït un error en matar el dimoni: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -315,149 +328,149 @@ msgstr "" "No és necessari executar aquesta aplicació com a root (excepte si " "s'especifica --system)" -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Es requereixen permísos de root." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "La opció --start no està suportada per a instàncies de sistema." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 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:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "S'ha produït un error en adquirir stdio." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "Ha fallat la canonada: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "Ha fallat fork(): %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "Ha fallat read(): %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "S'ha produït un error en iniciar el dimoni." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "S'ha iniciat el dimoni." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Aquest és el PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Host de compilació: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS de compilació: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "S'està executant en el host: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "La mida de pàgina és de %lu bytes." -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Compilat amb suport per a Valgrind: sí" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Compilat amb suport per a Valgrind: no" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "S'està executant amb el mode valgrind: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Construcció optimitzada: sí" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Construcció optmitzada: no" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 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:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "La ID de la màquina és %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "S'esta utilitzant el directori d'execució %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "S'està utilitzant el directori d'estat %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "S'està executant en mode sistema: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "S'ha produït un error en pa_pid_file_create()." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Estàn disponibles els temporitzadors frescos de alta resolució." -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -465,27 +478,27 @@ msgstr "" "Es recomana la utilització d'un kernel amb els temporitzadors d'alta " "resolució habilitats." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "S'ha produït un error en pa_core_new()." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "S'ha produït un error en inicialitzar el dimoni." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "S'ha completat la inicialització del dimoni." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "S'ha iniciat l'aturada del dimoni." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "S'ha aturat el dimoni." @@ -661,7 +674,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading necessita un argument booleà" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit necessita un argument booleà" #: ../src/daemon/cmdline.c:309 @@ -674,12 +688,12 @@ msgstr "Objectiu de log invàlid: utilitzeu 'syslog', 'stderr' o 'auto'." #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit necessita un argument booleà" +msgid "--log-time expects boolean argument" +msgstr "--realtime necessita un argument booleà" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit necessita un argument booleà" #: ../src/daemon/cmdline.c:359 @@ -739,67 +753,78 @@ msgstr "Càrrega: %s\n" msgid "Path: %s\n" msgstr "Ruta: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Destí de registre incorrecte '%s'" -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nivell de registre incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Mètode de remostreig incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Format de mostra incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Velocitat de mostreig '%s'." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canals de mostreig incorrectes '%s'." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "[%s:%u] Canals de mostreig incorrectes '%s'." + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nombre de fragments incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Mida de fragment incorrecta '%s'." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nivell de prioritat incorrecte '%s'." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Error en obrir el fitxer de configuració: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lectura del fitxer de configuració: %s ###\n" @@ -813,6 +838,34 @@ msgstr "Alliberant privilegis de root." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "S'han limitat les capacitats a CAP_SYS_NICE correctament." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" +"Aquesta aplicació està en el grup '%s', s'està establint la prioritat alta." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1302,7 +1355,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "Ha fallat pa_stream_connect_record(): %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Ha fallat la connexió: %s\n" @@ -1477,7 +1530,7 @@ msgid "Too many arguments.\n" msgstr "" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "" @@ -1488,12 +1541,12 @@ msgid "io_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1505,7 +1558,7 @@ msgid "time_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "" @@ -1535,7 +1588,7 @@ msgstr "" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1591,7 +1644,7 @@ msgstr "" msgid "Failed to get server information: %s\n" msgstr "" -#: ../src/utils/pactl.c:136 +#: ../src/utils/pactl.c:137 #, c-format msgid "" "User name: %s\n" @@ -1599,17 +1652,18 @@ msgid "" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" msgstr "" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1631,12 +1685,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1658,20 +1712,20 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1682,12 +1736,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1697,12 +1751,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:393 +#: ../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" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1713,22 +1767,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "Ha fallat la canonada: %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1749,12 +1803,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1771,12 +1825,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1794,22 +1848,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -1835,7 +1889,7 @@ msgid "" "server\n" msgstr "" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1843,66 +1897,66 @@ msgid "" "Linked with libpulse %s\n" msgstr "" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "" @@ -2081,6 +2135,21 @@ msgstr "" msgid "Cannot access autospawn lock." msgstr "" +#, 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" +#~ "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 " @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +17,74 @@ 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:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -212,88 +223,90 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Nezdařila se analýza příkazového řádku." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit nám udělil oprávnění acquire-high-priority." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit nám neudělil oprávnění acquire-high-priority." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit nám udělil oprávnění acquire-real-time." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit nám neudělil oprávnění acquire-real-time." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"Volaný SUID root a plánování v reálném čase / o vysoké prioritě bylo " -"zažádáno v konfiguraci. Nedisponujeme ovšem potřebnými oprávněními:\n" -"Nejsme ve skupině \"" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Úspěšně zvýšeno RLIMIT_RTPRIO" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO selhalo: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Vzdávání se CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "Démon neběží" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Démon běží jako PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Zabití démona se nezdařilo: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -301,143 +314,143 @@ msgstr "" "Tento program není určen ke spuštění pod superuživatelem (není-li zadáno --" "system)." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Jsou vyžadována oprávnění superuživatele." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start nepodporováno u systémových instancí." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 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:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Nezdařilo se získání stdio." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "pipe selhalo: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "fork() selhalo: %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "read() selhalo: %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Spuštění démona selhalo." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Spuštění démona bylo úspěšné." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Toto je PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Překladový počítač: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Překladové CFLAGS: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Běží na počítači: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "Velikost stránky je %lu bajtů" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Přeloženo s podporou Valgrind: ano" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Přeloženo s podporou Valgrind: ne" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Běží v režimu valgrind: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Optimalizované sestavení: ano" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Optimalizované sestavení: ne" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Nezdařilo se získání ID počítače" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "ID počítače je %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Používán běhový adresář %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Používán stavový adresář %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Běží v systémovém režimu: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() selhalo." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 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:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -445,27 +458,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:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new() selhalo." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Selhalo spuštění démona." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "Spuštění démona dokončeno." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Vypínání démona spuštěno." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Démon ukončen." @@ -618,7 +631,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading předpokládá booleovský argument" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit booleovský argument" #: ../src/daemon/cmdline.c:309 @@ -632,12 +646,12 @@ msgstr "" #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit booleovský argument" +msgid "--log-time expects boolean argument" +msgstr "--realtime předpokládá booleovský argument" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit booleovský argument" #: ../src/daemon/cmdline.c:359 @@ -697,67 +711,78 @@ msgstr "Načíst Jednou s n" msgid "Path: %s\n" msgstr "Cesta: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Neplatný protokolovací cíl \"%s\"." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Neplatná protokolovací úroveň \"%s\"." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Neplatná metoda převzorkování \"%s\"." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Neplatné rlimit \"%s\"." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Neplatný vzorkovací formát \"%s\"." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Neplatná vzorkovací frekvence \"%s\"." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Neplatné vzorkovací kanály \"%s\"." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "[%s:%u] Neplatné vzorkovací kanály \"%s\"." + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Neplatný počet fragmentů \"%s\"." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Neplatná velikost fragmentu \"%s\"." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Neplatná úroveň nice \"%s\"." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Nezdařilo se otevřít konfigurační soubor: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Čtení z konfiguračního souboru: %s ###\n" @@ -771,6 +796,35 @@ msgstr "Rušení superuživatelských oprávnění." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "Schopnosti úspěšně omezeny na CAP_SYS_NICE." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Nezdařilo se zabít démona PulseAudio." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" +"Nacházíme se ve skupině \"%s\", což umožňuje plánování o vysoké prioritě." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1260,7 +1314,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() selhalo: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Spojení selhalo: %s\n" @@ -1465,7 +1519,7 @@ msgid "Too many arguments.\n" msgstr "Příliš mnoho argumentů.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() selhalo.\n" @@ -1476,12 +1530,12 @@ msgid "io_new() failed.\n" msgstr "io_new() selhalo.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() selhalo.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1493,7 +1547,7 @@ msgid "time_new() failed.\n" msgstr "time_new() selhalo.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() selhalo.\n" @@ -1523,7 +1577,7 @@ msgstr "Nezdařilo se obnovení: %s\n" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "VAROVÁNÍ: Zvukový server není místní, nedojde k pozastavení.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1586,14 +1640,15 @@ msgstr "Velikost vzorkovací vyrovnávací paměti: %s\n" msgid "Failed to get server information: %s\n" msgstr "Nezdařilo se získání informací o serveru: %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1607,12 +1662,12 @@ msgstr "" "Výchozí zdroj: %s\n" "Cookie: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Nezdařilo se získání informací o cíli: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, fuzzy, c-format msgid "" "Sink #%u\n" @@ -1646,12 +1701,12 @@ msgstr "" "Vlastnosti:\n" "%s" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Nezdařilo se získání informací o zdroji: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, fuzzy, c-format msgid "" "Source #%u\n" @@ -1685,20 +1740,20 @@ msgstr "" "Vlastnosti:\n" "%s" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "nic" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Selhalo získání informací o modulu: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, fuzzy, c-format msgid "" "Module #%u\n" @@ -1714,12 +1769,12 @@ msgstr "" "Počet použití %s\n" "Automatické uvolnění: %s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Selhalo získání informací o klientu: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, fuzzy, c-format msgid "" "Client #%u\n" @@ -1734,12 +1789,12 @@ msgstr "" "Vlastnosti:\n" "%s" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "Selhalo až get s n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, fuzzy, c-format msgid "" "Card #%u\n" @@ -1755,22 +1810,22 @@ msgstr "" "Vlastnosti:\n" "%s" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "pipe selhalo: %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Nezdařilo se získání cílových vstupních informací: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, fuzzy, c-format msgid "" "Sink Input #%u\n" @@ -1791,12 +1846,12 @@ msgid "" "\t\t%s\n" msgstr "Vstup s Modul s s s s s s n s" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, fuzzy, c-format msgid "Failed to get source output information: %s\n" msgstr "Selhalo až get zdroj s n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, fuzzy, c-format msgid "" "Source Output #%u\n" @@ -1813,12 +1868,12 @@ msgid "" "\t\t%s\n" msgstr "Zdroj Výstup s Modul s s s s s n s" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, fuzzy, c-format msgid "Failed to get sample information: %s\n" msgstr "Selhalo až get s n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, fuzzy, c-format msgid "" "Sample #%u\n" @@ -1836,22 +1891,22 @@ msgid "" "\t\t%s\n" msgstr "Ukázka s s s s s s s n s" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Selhání: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, fuzzy, c-format msgid "Failed to upload sample: %s\n" msgstr "Selhalo až s n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Předčasný konec souboru\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, fuzzy, c-format msgid "" "%s [options] stat\n" @@ -1884,7 +1939,7 @@ msgstr "" " s SERVER název z až až\n" " n název NÁZEV Jak až zapnuto n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1895,66 +1950,66 @@ msgstr "" "Přeloženo s libpulse %s\n" "Propojeno s libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, fuzzy, c-format msgid "Please specify a sample file to load\n" msgstr "Prosím a soubor až n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Selhalo otevření zvukového souboru.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, fuzzy, c-format msgid "You have to specify a sample name to play\n" msgstr "Vy až a název až n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, fuzzy, c-format msgid "You have to specify a sample name to remove\n" msgstr "Vy až a název až odstranit n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, fuzzy, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "Vy až a cíl rejstřík a a cíl n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, fuzzy, c-format msgid "You have to specify a source output index and a source\n" msgstr "Vy až a zdroj rejstřík a a zdroj n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, fuzzy, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Vy až a modul název a n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, fuzzy, c-format msgid "You have to specify a module index\n" msgstr "Vy až a modul rejstřík n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "Vy ne cíl Vy až při booleovská hodnota hodnota n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "Vy ne zdroj Vy až při booleovská hodnota hodnota n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "Vy až a cíl rejstřík a a cíl n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "Nezadán žádný platný příkaz.\n" @@ -2152,6 +2207,21 @@ msgstr "s n" msgid "Cannot access autospawn lock." msgstr "přístup." +#, 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" +#~ "We are not in group '" +#~ msgstr "" +#~ "Volaný SUID root a plánování v reálném čase / o vysoké prioritě bylo " +#~ "zažádáno v konfiguraci. Nedisponujeme ovšem potřebnými oprávněními:\n" +#~ "Nejsme ve skupině \"" + +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit booleovský argument" + #~ msgid "Default sink name (%s) does not exist in name register." #~ msgstr "Výchozí jméno cíle (%s) ve jmenném registru neexistuje." @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,69 +18,80 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: German\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 #, fuzzy msgid "Analog Stereo" msgstr "Stereo" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 #, fuzzy msgid "Analog Surround 4.0" msgstr "Surround 4.0" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 #, fuzzy msgid "Analog Surround 4.1" msgstr "Surround 4.1" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 #, fuzzy msgid "Analog Surround 5.0" msgstr "Surround 5.0" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 #, fuzzy msgid "Analog Surround 5.1" msgstr "Surround 5.1" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 #, fuzzy msgid "Analog Surround 7.1" msgstr "Surround 7.1" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -217,88 +228,93 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Parsen der Kommandzeile fehlgeschlagen." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "Richtlinien gewähren das Recht aquire-high-priority." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "Richtlinien verweigern das Recht acquire-high-priority." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "Richtlinien gewähren das Recht aquire-real-time." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "Richtlinien verweigern das Recht acquire-real-time." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, fuzzy, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"Konfiguration fordert Aufruf der SUID root und Echtzeit-Scheduling höchster " -"Priorität. Allerdings fehlen die nötigen Rechte:\n" -"Wir befinden uns nicht in der Gruppe '" +"' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n" +"Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-" +"Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO erfolgreich erhöht" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Verwerfe CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." -#: ../src/daemon/main.c:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "Daemon läuft nicht" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Daemon läuft als PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Konnte Prozess nicht abbrechen: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -306,167 +322,167 @@ msgstr "" "Dieses Programm sollte ohne die Option --system nicht als Administrator " "ausgeführt werden." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 msgid "Root privileges required." msgstr "Root-Berechtigungen benötigt." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start nicht unterstützt für System-Instanzen." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 msgid "Running in system mode, but --disallow-exit not set!" msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!" -#: ../src/daemon/main.c:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "System-Modus aktiv, SHM-Modus gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Reservieren von STDIO fehlgeschlagen." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "pipe fehlgeschlagen: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "fork() fehlgeschlagen: %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "read() fehlgeschlagen: %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Start des Daemons fehlgeschlagen." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Start des Daemons erfolgreich." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Dies ist PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Kompilier-Host: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Kompilier-CFLAGS: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Laufe auf Host: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "%u CPUs gefunden." -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "Seitengröße ist %lu Bytes." -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Kompiliere mit Valgrind-Unterstützung: ja" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Kompiliere mit Valgrind-Unterstützung: nein" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Läuft im Valgrind-Modus: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Optimiertes Build: ja" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Optimiertes Build: nein" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Beziehen der Maschinen-ID fehlgeschlagen" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "System- ID ist %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Nutze Laufzeit-Verzeichnis %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Nutze Zustands-Verzeichnis %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Laufe im System-Modus: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() fehlgeschlagen." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 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:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new() fehlgeschlagen." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Konnte Daemon nicht initialisieren." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Daemon verweigert Ausführung, da keine Module geladen." -#: ../src/daemon/main.c:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "Start des Daemons abgeschlossen." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Herunterfahren des Daemon gestartet." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Daemon beendet." @@ -638,7 +654,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "Option --disallow-module-loading erfordert bool'schen Wert" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "Option --disallow-exit erfordert bool'schen Wert" #: ../src/daemon/cmdline.c:309 @@ -651,11 +668,13 @@ msgstr "" "Ungültiges Log-Ziel: Benutzen Sie entweder 'syslog', 'stderr' oder 'auto'." #: ../src/daemon/cmdline.c:333 -msgid "--log-time boolean argument" -msgstr "--log-time erfordert bool'schen Wert" +#, fuzzy +msgid "--log-time expects boolean argument" +msgstr "Option --realtime erfordert bool'schen Wert" #: ../src/daemon/cmdline.c:340 -msgid "--log-meta boolean argument" +#, fuzzy +msgid "--log-meta expects boolean argument" msgstr "--log-meta erfordert bool'schen Wert" #: ../src/daemon/cmdline.c:359 @@ -715,67 +734,78 @@ msgstr "Lade einmalig: %s\n" msgid "Path: %s\n" msgstr "Pfad: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Ungültiges Log-Ziel '%s'." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Ungültige Log-Stufe '%s'." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Ungültige Resample-Methode '%s'." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Ungültiges rlimit '%s'." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Ungültiges Sample-Format '%s'." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Ungültige Sample-Rate '%s'." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Ungültige Sample-Kanäle '%s'." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, 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 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Ungültige Anzahl von Fragmenten '%s'." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Ungültige Fragmentgröße '%s'." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Ungültige Nice-Stufe '%s'." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Öffnen der Konfigurationsdatei fehlgeschlagen : %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lese von Konfigurationsdatei: %s ###\n" @@ -788,6 +818,36 @@ msgstr "Root-Privilegien aufgeben." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Terminieren des PulseAudio-Daemon fehlgeschlagen." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" +"Wir befinden uns in der Gruppe '%s', was Scheduling höchster Priorität " +"ermöglicht." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1275,7 +1335,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Verbindungsfehler: %s\n" @@ -1492,7 +1552,7 @@ msgid "Too many arguments.\n" msgstr "Zu viele Argumente.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() fehlgeschlagen.\n" @@ -1503,12 +1563,12 @@ msgid "io_new() failed.\n" msgstr "io_new() fehlgeschlagen.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1520,7 +1580,7 @@ msgid "time_new() failed.\n" msgstr "time_new() fehlgeschlagen.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() fehlgeschlagen.\n" @@ -1550,7 +1610,7 @@ msgstr "Resume fehlgeschlagen: %s\n" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "WARNUNG: Sound-Server läuft nicht lokal, nicht ausgesetzt.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1615,14 +1675,15 @@ msgstr "Sample-Pufferspeichergrösse: %s\n" msgid "Failed to get server information: %s\n" msgstr "Beziehen der Server-Information fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1636,12 +1697,12 @@ msgstr "" "Vorgabe Quelle: %s\n" "Cookie: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Erhalten der Sink-Informationen fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1680,12 +1741,12 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Beziehen der Quellen-Informationen fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1724,20 +1785,20 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "k. A." -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Beziehen der Modul-Information fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1754,12 +1815,12 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Beziehen der Client-Information fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1774,12 +1835,12 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, c-format msgid "Failed to get card information: %s\n" msgstr "Beziehen der Karten-Information fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1796,22 +1857,22 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "\tProfile:\n" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, c-format msgid "\tActive Profile: %s\n" msgstr "\tAktive Profile: %s\n" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Konnte Sink-Eingabe-Informationen nicht holen: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1848,12 +1909,12 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "Konnte Informationen über Quell-Ausgabe nicht holen: %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1882,12 +1943,12 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1918,22 +1979,22 @@ msgstr "" "\tEigenschaften:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "Hochladen des Sample fehlgeschlagen: %s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Dateiende ist zu früh aufgetreten\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -1978,7 +2039,7 @@ msgstr "" " -s, --server=SERVER Name des Zielservers\n" " -n, --client-name=NAME Rufname des Clients auf dem Server\n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1989,48 +2050,48 @@ msgstr "" "Kompiliert mit libpulse %s\n" "Gelinkt mit libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "Geben Sie eine zu öffnende Sample-Datei an\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "Sie müssen eine abzuspielende Sample-Datei angeben\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "Sie müssen eine zu löschende Sample-Datei angeben\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "Sie müssen einen Sink-Eingabe-Indexwert und einen Sink angeben\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" "Sie müssen eine Indexwert für die Quell-Ausgabe und eine Quelle angeben\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Sie müssen einen Modulnamen angeben und Argumente übergeben.\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "Sie müssen einen Indexwert für ein Modul angeben\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " @@ -2039,7 +2100,7 @@ msgstr "" "Sie sollten nur eine Senke angeben. Sie müssen zumindest einen bool'schen " "Wert übergeben.\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " @@ -2048,12 +2109,12 @@ msgstr "" "Sie sollten nur eine Quelle angeben. Sie müssen zumindest einen bool'schen " "Wert übergeben.\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "Kein gültiger Befehl angegeben.\n" @@ -2258,14 +2319,17 @@ msgstr "Fehler beim Zugriff auf Autostart -Sperre." #, fuzzy #~ msgid "" -#~ "', PolicyKit refuse to grant us the requested privileges and we have no " -#~ "increase RLIMIT_NICE/RLIMIT_RTPRIO resource limits.\n" -#~ "For enabling real-time/high-priority scheduling please acquire the " -#~ "appropriate PolicyKit privileges, or become a member of '" +#~ "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 "" -#~ "' und PolicyKit verweigern diese Rechte. Verwerfe SUID wieder.\n" -#~ "Erlangen Sie die den Richtlinien entsprechenden Rechte, um Echtzeit-" -#~ "Scheduling zu aktivieren oder werden Sie Mitglied der Gruppe '" +#~ "Konfiguration fordert Aufruf der SUID root und Echtzeit-Scheduling " +#~ "höchster Priorität. Allerdings fehlen die nötigen Rechte:\n" +#~ "Wir befinden uns nicht in der Gruppe '" + +#~ msgid "--log-time boolean argument" +#~ msgstr "--log-time erfordert bool'schen Wert" #~ msgid "" #~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this " @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +16,74 @@ msgstr "" "X-Generator: KAider 0.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" + +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -209,221 +220,227 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "" -#: ../src/daemon/main.c:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:460 +#: ../src/daemon/main.c:463 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:508 +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"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:532 +#: ../src/daemon/main.c:536 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." msgstr "" -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 msgid "Root privileges required." msgstr "" -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "" -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:684 +#: ../src/daemon/main.c:688 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" -#: ../src/daemon/main.c:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "" -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "" -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Αυτό είναι το PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "" -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "" -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "" -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "" -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -431,27 +448,27 @@ msgstr "" "Δικέ μου, ο πυρήνας σου είναι για τα μπάζα! Η πρόταση του σεφ σήμερα είναι " "Linux με ενεργοποιημένα τα high-resolution timers!" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "" -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" -#: ../src/daemon/main.c:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "" -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "" -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "" @@ -556,7 +573,7 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +msgid "--disallow-exit expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:309 @@ -568,11 +585,11 @@ msgid "Invalid log target: use either 'syslog', 'stderr' or 'auto'." msgstr "" #: ../src/daemon/cmdline.c:333 -msgid "--log-time boolean argument" +msgid "--log-time expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:340 -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:359 @@ -632,67 +649,78 @@ msgstr "" msgid "Path: %s\n" msgstr "" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "" + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "" @@ -705,6 +733,32 @@ msgstr "" msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "" +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "" @@ -1192,7 +1246,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "" @@ -1367,7 +1421,7 @@ msgid "Too many arguments.\n" msgstr "" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "" @@ -1378,12 +1432,12 @@ msgid "io_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1395,7 +1449,7 @@ msgid "time_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "" @@ -1425,7 +1479,7 @@ msgstr "" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1481,7 +1535,7 @@ msgstr "" msgid "Failed to get server information: %s\n" msgstr "" -#: ../src/utils/pactl.c:136 +#: ../src/utils/pactl.c:137 #, c-format msgid "" "User name: %s\n" @@ -1489,17 +1543,18 @@ msgid "" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" msgstr "" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1521,12 +1576,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1548,20 +1603,20 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1572,12 +1627,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1587,12 +1642,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, c-format msgid "Failed to get card information: %s\n" msgstr "" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1603,22 +1658,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, c-format msgid "\tActive Profile: %s\n" msgstr "" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1639,12 +1694,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1661,12 +1716,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1684,22 +1739,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -1725,7 +1780,7 @@ msgid "" "server\n" msgstr "" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1733,66 +1788,66 @@ msgid "" "Linked with libpulse %s\n" msgstr "" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PulseAudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +16,74 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -211,90 +222,91 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Falló al analizar la línea de comando." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"En la configuración se ha pedido una llamada de SUID root y planificación en " -"tiempo real/de prioridad alta. Sin embargo, carecemos de los provilegios " -"necesarios:\n" -"No estamos en el grupo '" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO incrementado en forma exitosa" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "Fallo en RLIMIT_RTPRIO: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Abandonando CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "El demonio no está funcionando" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "El demonio está funcionando como PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "No se ha podido detener el demonio: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -302,149 +314,149 @@ msgstr "" "Este programa no tiene por qué ser ejecutado como root (a menos que --system " "sea especificado)." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Se necesitan privilegios de usuario root." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start no está soportado para las instancias del sistema." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 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:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Fallo al intentar adquirir stdio." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "Falló el pipe: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "Falló el fork(): %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "Falló la operación read(): %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Falló el inicio del demonio. " -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "El demonio se inició exitosamente." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Esto es PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Host de compilación: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Compilación CFLAGS: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Ejecutándose en el host: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "El tamaño de la página es de %lu bytes" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Soporte para compilar con Valgrind: si" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Soporte para compilar con Valgrind: no" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Ejecutándose en modo valgrind: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Build optimizado: si" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Build optimizado: no" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Fallo al intentar obtener el ID de la máquina" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "El ID de la máquina es %s" -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Utilizando directorio de tiempo de ejecución %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Utilizando directorio de estado %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Ejecutándose en modo de sistema: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "Ha fallado pa_pid_file_create()." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 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:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -452,29 +464,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:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "Falló pa_core_new()." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Fallo al intentar iniciar el demonio." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "El demonio se inició completamente." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Comienza a apagarse el demonio." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "El demonio se ha apagado." @@ -663,7 +675,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading espera un argumento booleano" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit argumento booleano" #: ../src/daemon/cmdline.c:309 @@ -676,12 +689,12 @@ msgstr "Log target inválido: use o \"syslog\", o \"stderr\", o \"auto\"." #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit argumento booleano" +msgid "--log-time expects boolean argument" +msgstr "--realtime espera un argumento booleano" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit argumento booleano" #: ../src/daemon/cmdline.c:359 @@ -741,67 +754,78 @@ msgstr "Carga una vez: %s\n" msgid "Path: %s\n" msgstr "Ruta: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Destino de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nivel de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Método de remuestreo inválido '%s'." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Rlimit inválido '%s'." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Formato de muestra inválido '%s'." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Tasa de muestra inválida '%s'." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canales de muestra inválidos '%s'." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, 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 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Cantidad de fragmentoa inválidos '%s'." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Tamaño inválido de fragmento '%s'." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nivel de nice inválido '%s'." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, 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:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Leyendo desde el archivo de confioguración: %s ###\n" @@ -815,6 +839,34 @@ msgstr "Abandonando privilegios de root." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "Capacidades limitadas con éxito para CAP_SYS_NICE-" +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Error al intentar detener el demonio de PulseAudio." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "Estamos en el grupo '%s', permitiendo planificación de prioridad alta." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1302,7 +1354,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() falló: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Error en la conexión: %s\n" @@ -1529,7 +1581,7 @@ msgid "Too many arguments.\n" msgstr "Demasiados argumentos.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() falló.\n" @@ -1540,12 +1592,12 @@ msgid "io_new() failed.\n" msgstr "io_new() falló.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() falló.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1557,7 +1609,7 @@ msgid "time_new() failed.\n" msgstr "time_new() falló.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() falló.\n" @@ -1587,7 +1639,7 @@ msgstr "Error al continuar: %s\n" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "AVISO: El servidor de sonido no es local, no se suspende.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1655,14 +1707,15 @@ msgstr "Tamaño del cache de muestra: %s\n" msgid "Failed to get server information: %s\n" msgstr "Error al intentar obtener información del servidor: %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1676,12 +1729,12 @@ msgstr "" "Fuente por defecto: %s\n" "Cookie: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Error al intentar obtener información del destino: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, fuzzy, c-format msgid "" "Sink #%u\n" @@ -1715,12 +1768,12 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Error al intentar obtener información de la fuente: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, fuzzy, c-format msgid "" "Source #%u\n" @@ -1754,20 +1807,20 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "n/a" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Error al intentar obtener información del módulo: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, fuzzy, c-format msgid "" "Module #%u\n" @@ -1783,12 +1836,12 @@ msgstr "" "Contador de uso: %s\n" "Descargar automáticamente: %s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Error al intentar obtener información del cliente: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, fuzzy, c-format msgid "" "Client #%u\n" @@ -1803,12 +1856,12 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "Error al intentar obtener información de autoload: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, fuzzy, c-format msgid "" "Card #%u\n" @@ -1824,22 +1877,22 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "Falló el pipe: %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Error al intentar obtener información de entrada del destino: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, fuzzy, c-format msgid "" "Sink Input #%u\n" @@ -1873,13 +1926,13 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "" "Error al intentar obtener información acerca de la salida de la fuenta: %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, fuzzy, c-format msgid "" "Source Output #%u\n" @@ -1908,12 +1961,12 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Error al intentar obtener información de muestra: %s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, fuzzy, c-format msgid "" "Sample #%u\n" @@ -1942,22 +1995,22 @@ msgstr "" "Propiedades:\n" "%s" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Falla: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "Fallo al cargar muestra: %s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Fin prematuro del archivo\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, fuzzy, c-format msgid "" "%s [options] stat\n" @@ -2003,7 +2056,7 @@ msgstr "" " -n, --client-name=NAME Cómo llamar a este cliente en el " "servidor\n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -2014,49 +2067,49 @@ msgstr "" "Compilado con libpulse %s\n" "Linked con libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "Por favor, especifique un archivo de muestra a cargar\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Error al intentar abrir el archivo de sonido.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "Debe especificar un nombre de muestra para ser escuchado\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "Debe especificar un nombre de muestra para ser eliminado\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" "Debe especificar un índice para las entradas del destino y un destino\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" "Debe especificar un índice para las salidas de la fuente, y una fuente\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Debe especificar un nombre de módulo y los argumentos\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "Debe especificar un índice de módulo\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " @@ -2065,7 +2118,7 @@ msgstr "" "No puede especificar más de un destino. Tiene que especificar al menos un " "valor booleano.\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " @@ -2074,13 +2127,13 @@ msgstr "" "No puede especificar más de una fuente. Tiene que especificar al menos un " "valor booleano.\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" "Debe especificar un índice para las entradas del destino y un destino\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "No se ha especificadfo ningún comando válido.\n" @@ -2290,6 +2343,22 @@ msgstr "Utilizando especificaciones de muestra '%s'\n" msgid "Cannot access autospawn lock." msgstr "No se puede acceder al candado de autogeneración." +#, 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" +#~ "We are not in group '" +#~ msgstr "" +#~ "En la configuración se ha pedido una llamada de SUID root y planificación " +#~ "en tiempo real/de prioridad alta. Sin embargo, carecemos de los " +#~ "provilegios necesarios:\n" +#~ "No estamos en el grupo '" + +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit argumento booleano" + #~ msgid "" #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n" #~ "For enabling real-time scheduling please acquire the appropriate " @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git trunk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +15,74 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" + +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -208,83 +219,89 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "" -#: ../src/daemon/main.c:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:460 +#: ../src/daemon/main.c:463 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:508 +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"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:532 +#: ../src/daemon/main.c:536 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "Taustaprosessi ei ole käynnissä" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Taustaprosessi käynnissä prosessitunnisteella %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Taustaprosessin lopettaminen epäonnistui: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -292,144 +309,144 @@ msgstr "" "Tätä ohjelmaa ei ole tarkoitettu suoritettavaksi pääkäyttäjänä (ellei --" "system ole määritelty)." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 msgid "Root privileges required." msgstr "Pääkäyttäjän (root) oikeudet vaaditaan." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "" -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:684 +#: ../src/daemon/main.c:688 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:687 +#: ../src/daemon/main.c:691 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:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Taustaprosessin käynnistys epäonnistui." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Taustaprosessin käynnistys onnistui." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Tämä on PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Käännöksen isäntäkone: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Käännösaikaiset C-liput (CFLAGS): %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Käynnissä isäntäkoneella: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "Löydettiin %u CPU:ta." -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "Sivun koko on %lu tavua" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Käännetty Valgrind-tuella: kyllä" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Käännetty Valgrind-tuella: ei" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Käynnissä valgrind-tilassa: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Optimoitu rakentaminen: kyllä" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Optimoitu rakentaminen: ei" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Konetunnisteen nouto epäonnistui" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "Konetunniste on %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Käytetään ajonaikaista hakemistoa %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Käytetään tilahakemistoa %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Suoritetaan järjestelmätilassa: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "" -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Korkean tarkkuuden ajastimet käytettävissä." -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -437,29 +454,29 @@ msgstr "" "Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin " "suositeltava!" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "" -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Taustaprosessin alustus epäonnistui." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "Taustaprosessin käynnistys valmis." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Taustaprosessin sulkeminen käynnistetty." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Taustaprosessi lopetettu." @@ -564,7 +581,7 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +msgid "--disallow-exit expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:309 @@ -576,11 +593,11 @@ msgid "Invalid log target: use either 'syslog', 'stderr' or 'auto'." msgstr "" #: ../src/daemon/cmdline.c:333 -msgid "--log-time boolean argument" +msgid "--log-time expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:340 -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "" #: ../src/daemon/cmdline.c:359 @@ -640,67 +657,78 @@ msgstr "Lataa kerran: %s\n" msgid "Path: %s\n" msgstr "Polku: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "Epäkelpo kanavakartta\n" + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Asetustiedoston avaaminen epäonnistui: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Luettu asetustiedostosta: %s ###\n" @@ -713,6 +741,33 @@ msgstr "Pudotetaan pääkäyttäjän oikeudet." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "" +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "PulseAudio-taustaprosessin lopettaminen epäonnistui." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1200,7 +1255,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Yhteysvirhe: %s\n" @@ -1375,7 +1430,7 @@ msgid "Too many arguments.\n" msgstr "Liian monta argumenttia.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "" @@ -1386,12 +1441,12 @@ msgid "io_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1403,7 +1458,7 @@ msgid "time_new() failed.\n" msgstr "" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "" @@ -1433,7 +1488,7 @@ msgstr "" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1489,14 +1544,15 @@ msgstr "" msgid "Failed to get server information: %s\n" msgstr "" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1510,12 +1566,12 @@ msgstr "" "Oletuslähde: %s\n" "Eväste: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Nielun tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1554,12 +1610,12 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Lähteen tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1598,20 +1654,20 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "-" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Moduulin tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1628,12 +1684,12 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Asiakkaan tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1648,12 +1704,12 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, c-format msgid "Failed to get card information: %s\n" msgstr "Kortin tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1670,22 +1726,22 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "\tProfiilit:\n" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, c-format msgid "\tActive Profile: %s\n" msgstr "\tAktiivinen profiili: %s\n" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Nielun sisääntulon tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1722,12 +1778,12 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "Lähteen ulostulon tietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1756,12 +1812,12 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Näytetietojen nouto epäonnistui: %s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1792,22 +1848,22 @@ msgstr "" "\tOminaisuudet:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Epäonnistuminen: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Ennenaikainen tiedoston päättyminen\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -1833,7 +1889,7 @@ msgid "" "server\n" msgstr "" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1841,66 +1897,66 @@ msgid "" "Linked with libpulse %s\n" msgstr "" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio trunk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +19,74 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -215,93 +226,94 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Échec lors de l'analyse de la ligne de commande" -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit a accordé l'acquisition des permissions de haute priorité." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"Le SUID root a été appelé et la planification à haute priorité/en temps réel " -"demandée dans la configuration. Néanmoins nous n'avons pas les permissions " -"nécessaires :\n" -"nous ne somme pas dans le groupe " -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Augmentation de RLIMIT_RTPRIO réussie" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO a échoué : %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Abandon de CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "Lé démon n'est pas lancé" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Le démon est lancé avec le PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Impossible de tuer le démon : %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -309,148 +321,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:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Les permissions root sont nécessaires." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start n'est pas pris en charge pour les instances système." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 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:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Échec lors de l'acquisition de stdio." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "Échec du tube : %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "Échec de fork() : %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "Échec de read() : %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Échec lors du démarrage du démon." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Démarrage du démon réussi." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Pulseaudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Hôte de compilation : %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS de compilation : %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Exécution sur l'hôte : %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "La taille de la page est de %lu octets" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Compilé avec la prise en charge Valgrind : oui" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Compilé avec la prise en charge Valgrind : non" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Exécution en mode valgrind : %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Construction optimisée : oui" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Construction optimisée : non" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Échec lors de l'obtention de l'ID de la machine" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "L'ID de la machine est %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Utilisation du répertoire d'exécution %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Utilisation du répertoire d'état %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Exécution en mode système : %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "Échec de pa_pid_file_create()." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" "De nouvelles horloges à haute résolution sont disponibles ! Bon appétit !" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -458,27 +470,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:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "Échec de pa_core_new()." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Échec lors de l'initialisation du démon" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "Démarrage du démon effectué." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Fermeture du démon initiée." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Démon terminé." @@ -666,7 +678,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading requiert un paramètre booléen" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit requiert un paramètre booléen" #: ../src/daemon/cmdline.c:309 @@ -679,12 +692,12 @@ msgstr "Cible du journal invalide : utilisez « syslog », « stderr » ou #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit requiert un paramètre booléen" +msgid "--log-time expects boolean argument" +msgstr "--realtime requiert un paramètre booléen" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit requiert un paramètre booléen" #: ../src/daemon/cmdline.c:359 @@ -745,67 +758,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:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Cible du journal « %s » invalide." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Niveau du journal « %s » invalide." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Méthode de rééchantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit « %s » invalide." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Format d'échantillon « %s » invalide." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Taux d'échantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canaux d'échantillonnage « %s » invalide." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "[%s:%u] Canaux d'échantillonnage « %s » invalide." + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nombre de fragments « %s » invalide." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Taille du fragment « %s » invalide." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Niveau de priorité (nice) « %s » invalide." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, 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:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lecture à partir du fichier de configuration : %s ###\n" @@ -819,6 +843,36 @@ msgstr "Abandon des permissions root." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "Limitation des capacités à CAP_SYS_NICE réussie." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Impossible de tuer le démon PulseAudio." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" +"Nous sommes dans le groupe « %s », permettant une planification à haute " +"priorité." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1309,7 +1363,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "Échec de pa_stream_connect_record() : %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Échec lors de la connexion : %s\n" @@ -1542,7 +1596,7 @@ msgid "Too many arguments.\n" msgstr "Trop de paramètres.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "Échec de pa_mainloop_new().\n" @@ -1553,12 +1607,12 @@ msgid "io_new() failed.\n" msgstr "Échec de io_new().\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "Échec de pa_context_new().\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1570,7 +1624,7 @@ msgid "time_new() failed.\n" msgstr "Échec de time_new().\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "Échec de pa_mainloop_run().\n" @@ -1601,7 +1655,7 @@ msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" "AVERTISSEMENT : le serveur de son n'est pas local, suspension annulée.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1669,14 +1723,15 @@ msgstr "Taille du cache de l'échantillon : %s\n" msgid "Failed to get server information: %s\n" msgstr "Échec lors de l'obtention des informations du serveur : %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1690,13 +1745,13 @@ msgstr "" "Source par défaut : %s\n" "Cookie : %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Échec lors de l'obtention des informations sur la destination : %s\n" # demander à Lennart s'il s'agit de monitor of source -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, fuzzy, c-format msgid "" "Sink #%u\n" @@ -1730,12 +1785,12 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Échec lors de l'obtention des informations sur la source : %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, fuzzy, c-format msgid "" "Source #%u\n" @@ -1769,20 +1824,20 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "n/d" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Échec lors de l'obtention des informations du module : %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, fuzzy, c-format msgid "" "Module #%u\n" @@ -1798,12 +1853,12 @@ msgstr "" "Nombre d'utilisations : %s\n" "Déchargement automatique : %s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Échec lors de l'obtention des informations du client : %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, fuzzy, c-format msgid "" "Client #%u\n" @@ -1818,13 +1873,13 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "" "Échec lors de l'obtention des informations du chargement automatique : %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, fuzzy, c-format msgid "" "Card #%u\n" @@ -1840,24 +1895,24 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "Échec du tube : %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "" "Échec lors de l'obtention des informations de l'entrée de la destination : %" "s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, fuzzy, c-format msgid "" "Sink Input #%u\n" @@ -1891,13 +1946,13 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "" "Échec lors de l'obtention des informations de la sortie de la source : %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, fuzzy, c-format msgid "" "Source Output #%u\n" @@ -1926,7 +1981,7 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n" @@ -1934,7 +1989,7 @@ msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n" # Lazy ? # load-sample-lazy = Create a new entry in the sample cache, but don't load # the sample immediately. The sample is loaded only when it is first used -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, fuzzy, c-format msgid "" "Sample #%u\n" @@ -1963,22 +2018,22 @@ msgstr "" "Propriétés :\n" "%s" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Échec : %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "Échec lors de l'envoi de l'échantillon : %s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Fin prématurée du fichier\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, fuzzy, c-format msgid "" "%s [options] stat\n" @@ -2024,7 +2079,7 @@ msgstr "" " -n, --client-name=NOM Définit le nom de ce client sur le " "serveur\n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -2035,48 +2090,48 @@ msgstr "" "Compilé avec libpulse %s\n" "Lié avec libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "Veuillez indiquer un fichier d'échantillon à charger\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Échec lors de l'ouverture du fichier audio.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "Vous devez indiquer un nom d'échantillon à lire\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "Vous devez indiquer un nom d'échantillon à supprimer\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" "Vous devez indiquer un index de sortie de destination et une destination\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "Vous devez indiquer un index de sortie de source et une source\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Vous devez indiquer un nom de module et des paramètres.\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "Vous devez indiquer un index de module\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " @@ -2085,7 +2140,7 @@ msgstr "" "Vous ne pouvez pas indiquer plus d'une destination. Vous devez indiquer au " "moins une valeur booléenne.\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " @@ -2094,13 +2149,13 @@ msgstr "" "Vous ne pouvez pas indiquer plus d'une source. Vous devez indiquer au moins " "une valeur booléenne.\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" "Vous devez indiquer un index de sortie de destination et une destination\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "Aucune commande valide indiquée.\n" @@ -2312,6 +2367,22 @@ msgstr "Utilisation de la spécification de l'échantillon « %s »\n" msgid "Cannot access autospawn lock." msgstr "Impossible d'accèder au verrou autonome." +#, 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" +#~ "We are not in group '" +#~ msgstr "" +#~ "Le SUID root a été appelé et la planification à haute priorité/en temps " +#~ "réel demandée dans la configuration. Néanmoins nous n'avons pas les " +#~ "permissions nécessaires :\n" +#~ "nous ne somme pas dans le groupe " + +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit requiert un paramètre booléen" + #~ msgid "Default sink name (%s) does not exist in name register." #~ msgstr "" #~ "Le nom de la destination par défaut (%s) n'existe pas dans le registre " diff --git a/po/it.po b/po/it.po new file mode 100644 index 00000000..96660b83 --- /dev/null +++ b/po/it.po @@ -0,0 +1,2438 @@ +# Italian translation for PulseAudio. +# Copyright (C) 2008, 2009 The Free Software Foundation, Inc +# This file is distributed under the same license as the pulseaudio package. +# Luca Ferretti <elle.uca@libero.it>, 2008, 2009. +# +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-23 19:19+0100\n" +"Last-Translator: Luca Ferretti <elle.uca@libero.it>\n" +"Language-Team: Italiano <tp@lists.linux.it>\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 +msgid "Analog Mono" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:532 +#, fuzzy +msgid "Analog Stereo" +msgstr "Stereo" + +#: ../src/modules/alsa/alsa-util.c:538 +msgid "Digital Stereo (IEC958)" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:544 +msgid "Digital Stereo (HDMI)" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:551 +#, fuzzy +msgid "Analog Surround 4.0" +msgstr "Surround 4.0" + +#: ../src/modules/alsa/alsa-util.c:558 +msgid "Digital Surround 4.0 (IEC958/AC3)" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:566 +#, fuzzy +msgid "Analog Surround 4.1" +msgstr "Surround 4.1" + +#: ../src/modules/alsa/alsa-util.c:574 +#, fuzzy +msgid "Analog Surround 5.0" +msgstr "Surround 5.0" + +#: ../src/modules/alsa/alsa-util.c:582 +#, fuzzy +msgid "Analog Surround 5.1" +msgstr "Surround 5.1" + +#: ../src/modules/alsa/alsa-util.c:590 +msgid "Digital Surround 5.1 (IEC958/AC3)" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:599 +#, fuzzy +msgid "Analog Surround 7.1" +msgstr "Surround 7.1" + +#: ../src/modules/alsa/alsa-util.c:1582 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 +#, 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 "" + +#: ../src/daemon/ltdl-bind-now.c:124 +msgid "Failed to find original lt_dlopen loader." +msgstr "Ricerca del loader lt_dlopen originale non riuscita." + +#: ../src/daemon/ltdl-bind-now.c:129 +msgid "Failed to allocate new dl loader." +msgstr "Allocazione del nuovo loader dl non riuscita." + +#: ../src/daemon/ltdl-bind-now.c:142 +msgid "Failed to add bind-now-loader." +msgstr "Aggiunta di bind-now-loader non riuscita." + +#: ../src/daemon/polkit.c:55 +#, c-format +msgid "Cannot connect to system bus: %s" +msgstr "Impossibile effettuare la connessione al bus di sistema: %s" + +#: ../src/daemon/polkit.c:65 +#, c-format +msgid "Cannot get caller from PID: %s" +msgstr "Impossibile ottenere il chiamante dal PID: %s" + +#: ../src/daemon/polkit.c:77 +msgid "Cannot set UID on caller object." +msgstr "Impossibile impostare l'UID sull'oggetto chiamante." + +#: ../src/daemon/polkit.c:82 +msgid "Failed to get CK session." +msgstr "Recupero della sessione CK non riuscito." + +#: ../src/daemon/polkit.c:90 +msgid "Cannot set UID on session object." +msgstr "Impossibile impostare l'UID sull'oggetto sessione." + +#: ../src/daemon/polkit.c:95 +msgid "Cannot allocate PolKitAction." +msgstr "Impossibile allocare PolKitAction." + +#: ../src/daemon/polkit.c:100 +msgid "Cannot set action_id" +msgstr "Impossibile impostare action_id" + +#: ../src/daemon/polkit.c:105 +msgid "Cannot allocate PolKitContext." +msgstr "Impossibile allocare PolKitContext." + +#: ../src/daemon/polkit.c:110 +#, c-format +msgid "Cannot initialize PolKitContext: %s" +msgstr "Impossibile inizializzare PolKitContext: %s" + +#: ../src/daemon/polkit.c:119 +#, c-format +msgid "Could not determine whether caller is authorized: %s" +msgstr "Impossibile determinare se il chiamante è autorizzato: %s" + +#: ../src/daemon/polkit.c:139 +#, c-format +msgid "Cannot obtain auth: %s" +msgstr "Impossibile ottenere l'autorizzazione: %s" + +#: ../src/daemon/polkit.c:148 +#, c-format +msgid "PolicyKit responded with '%s'" +msgstr "PolicyKit ha risposto con \"%s\"" + +#: ../src/daemon/main.c:134 +#, c-format +msgid "Got signal %s." +msgstr "Ottenuto il segnale %s." + +#: ../src/daemon/main.c:161 +msgid "Exiting." +msgstr "Uscita." + +#: ../src/daemon/main.c:179 +#, c-format +msgid "Failed to find user '%s'." +msgstr "Ricerca dell'utente \"%s\" non riuscita." + +#: ../src/daemon/main.c:184 +#, c-format +msgid "Failed to find group '%s'." +msgstr "Ricerca del gruppo \"%s\" non riuscita." + +#: ../src/daemon/main.c:188 +#, c-format +msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)." +msgstr "Trovato l'utente \"%s\" (UID %lu) e il gruppo \"%s\" (GID %lu)." + +#: ../src/daemon/main.c:193 +#, c-format +msgid "GID of user '%s' and of group '%s' don't match." +msgstr "Il GID dell'utente \"%s\" e del gruppo \"%s\" non corrispondono." + +#: ../src/daemon/main.c:198 +#, c-format +msgid "Home directory of user '%s' is not '%s', ignoring." +msgstr "La directory home dell'utente \"%s\" non è \"%s\", ignorato." + +#: ../src/daemon/main.c:201 ../src/daemon/main.c:206 +#, c-format +msgid "Failed to create '%s': %s" +msgstr "Creazione di \"%s\" non riuscita: %s" + +# group list ???? +#: ../src/daemon/main.c:213 +#, c-format +msgid "Failed to change group list: %s" +msgstr "Cambio dell'elenco di gruppo non riuscito: %s" + +#: ../src/daemon/main.c:229 +#, c-format +msgid "Failed to change GID: %s" +msgstr "Cambio di GID non riuscito: %s" + +#: ../src/daemon/main.c:245 +#, c-format +msgid "Failed to change UID: %s" +msgstr "Cambio di UID non riuscito: %s" + +#: ../src/daemon/main.c:259 +msgid "Successfully dropped root privileges." +msgstr "Privilegi di root abbandonati con successo." + +#: ../src/daemon/main.c:267 +msgid "System wide mode unsupported on this platform." +msgstr "Modalità \"system wide\" non supportata su questa piattaforma." + +#: ../src/daemon/main.c:285 +#, c-format +msgid "setrlimit(%s, (%u, %u)) failed: %s" +msgstr "setrlimit(%s, (%u, %u)) non riuscita: %s" + +#: ../src/daemon/main.c:432 +msgid "Failed to parse command line." +msgstr "Analisi della riga di comando non riuscita." + +#: ../src/daemon/main.c:456 +#, 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 +#, 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 +msgid "PolicyKit grants us acquire-high-priority privilege." +msgstr "Privilegi acquire-high-priority assegnati da PolicyKit." + +#: ../src/daemon/main.c:474 +msgid "PolicyKit refuses acquire-high-priority privilege." +msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit." + +#: ../src/daemon/main.c:479 +msgid "PolicyKit grants us acquire-real-time privilege." +msgstr "Privilegi acquire-real-time assegnati da PolicyKit." + +#: ../src/daemon/main.c:482 +msgid "PolicyKit refuses acquire-real-time privilege." +msgstr "Privilegi acquire-real-time rifiutati da PolicyKit." + +#: ../src/daemon/main.c:511 +#, c-format +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 '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"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 +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 +msgid "Successfully increased RLIMIT_RTPRIO" +msgstr "Incremento di RLIMIT_RTPRIO riuscito" + +#: ../src/daemon/main.c:568 +#, c-format +msgid "RLIMIT_RTPRIO failed: %s" +msgstr "RLIMIT_RTPRIO non riuscito: %s" + +# abbandono?? +#: ../src/daemon/main.c:575 +msgid "Giving up CAP_NICE" +msgstr "Abbandono del CAP_NICE" + +#: ../src/daemon/main.c:582 +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 +msgid "Daemon not running" +msgstr "Demone non in esecuzione" + +#: ../src/daemon/main.c:645 +#, c-format +msgid "Daemon running as PID %u" +msgstr "Demone in esecuzione con PID %u" + +#: ../src/daemon/main.c:655 +#, c-format +msgid "Failed to kill daemon: %s" +msgstr "Terminazione del demone non riuscita: %s" + +#: ../src/daemon/main.c:673 +msgid "" +"This program is not intended to be run as root (unless --system is " +"specified)." +msgstr "" +"Questo programma non è pensato per essere eseguito come root (a meno di " +"specificare --system)." + +#: ../src/daemon/main.c:675 +msgid "Root privileges required." +msgstr "Richiesti privilegi di root." + +#: ../src/daemon/main.c:680 +msgid "--start not supported for system instances." +msgstr "--start non supportato per le istanze di sistema." + +#: ../src/daemon/main.c:685 +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 +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 +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 +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 +msgid "Failed to acquire stdio." +msgstr "Acquisizione di STDIO non riuscita." + +#: ../src/daemon/main.c:729 +#, c-format +msgid "pipe failed: %s" +msgstr "pipe non riuscita: %s" + +#: ../src/daemon/main.c:734 +#, c-format +msgid "fork() failed: %s" +msgstr "fork() non riuscita: %s" + +#: ../src/daemon/main.c:748 +#, c-format +msgid "read() failed: %s" +msgstr "read() non riuscita: %s" + +#: ../src/daemon/main.c:754 +msgid "Daemon startup failed." +msgstr "Avvio del demone non riuscito." + +#: ../src/daemon/main.c:756 +msgid "Daemon startup successful." +msgstr "Avvio del demone riuscito." + +#: ../src/daemon/main.c:826 +#, c-format +msgid "This is PulseAudio %s" +msgstr "Questo è PulseAudio %s" + +#: ../src/daemon/main.c:827 +#, c-format +msgid "Compilation host: %s" +msgstr "Host di compilazione: %s" + +#: ../src/daemon/main.c:828 +#, c-format +msgid "Compilation CFLAGS: %s" +msgstr "CFLAGS di compilazione: %s" + +#: ../src/daemon/main.c:831 +#, c-format +msgid "Running on host: %s" +msgstr "In esecuzione sull'host: %s" + +# evviva il rispetto della l10n!!! +#: ../src/daemon/main.c:834 +#, c-format +msgid "Found %u CPUs." +msgstr "Trovate %u CPU." + +#: ../src/daemon/main.c:836 +#, c-format +msgid "Page size is %lu bytes" +msgstr "La dimensione di pagina è %lu byte" + +#: ../src/daemon/main.c:839 +msgid "Compiled with Valgrind support: yes" +msgstr "Compilato con supporto a Valgrind: sì" + +#: ../src/daemon/main.c:841 +msgid "Compiled with Valgrind support: no" +msgstr "Compilato con supporto a Valgrind: no" + +#: ../src/daemon/main.c:844 +#, c-format +msgid "Running in valgrind mode: %s" +msgstr "In esecuzione in modalità valgrind: %s" + +#: ../src/daemon/main.c:847 +msgid "Optimized build: yes" +msgstr "Build ottimizzata: sì" + +#: ../src/daemon/main.c:849 +msgid "Optimized build: no" +msgstr "Build ottimizzata: no" + +#: ../src/daemon/main.c:853 +msgid "Failed to get machine ID" +msgstr "Recupero dell'ID della macchina non riuscito" + +#: ../src/daemon/main.c:856 +#, c-format +msgid "Machine ID is %s." +msgstr "L'ID della macchina è %s" + +#: ../src/daemon/main.c:861 +#, c-format +msgid "Using runtime directory %s." +msgstr "In uso directory di runtime %s." + +#: ../src/daemon/main.c:866 +#, c-format +msgid "Using state directory %s." +msgstr "In uso directory di stato %s." + +#: ../src/daemon/main.c:869 +#, c-format +msgid "Running in system mode: %s" +msgstr "In esecuzione in modalità sistema: %s" + +#: ../src/daemon/main.c:884 +msgid "pa_pid_file_create() failed." +msgstr "pa_pid_file_create() non riuscita." + +# io mi domando e dico..... mah! +#: ../src/daemon/main.c:896 +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 +msgid "" +"Dude, your kernel stinks! The chef's recommendation today is Linux with high-" +"resolution timers enabled!" +msgstr "" +"Hey, questo kernel è andato a male! Lo chef oggi raccomanda Linux con i " +"timer high-resolution abilitati!" + +#: ../src/daemon/main.c:910 +msgid "pa_core_new() failed." +msgstr "pa_core_new() non riuscita." + +#: ../src/daemon/main.c:972 +msgid "Failed to initialize daemon." +msgstr "Inizializzazione del demone non riuscita." + +#: ../src/daemon/main.c:977 +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 +msgid "Daemon startup complete." +msgstr "Completato l'avvio del demone." + +#: ../src/daemon/main.c:996 +msgid "Daemon shutdown initiated." +msgstr "Iniziato l'arresto del demone." + +#: ../src/daemon/main.c:1014 +msgid "Daemon terminated." +msgstr "Demone terminato." + +# mamma mia che impressione +#: ../src/daemon/cmdline.c:121 +#, c-format +msgid "" +"%s [options]\n" +"\n" +"COMMANDS:\n" +" -h, --help Show this help\n" +" --version Show version\n" +" --dump-conf Dump default configuration\n" +" --dump-modules Dump list of available modules\n" +" --dump-resample-methods Dump available resample methods\n" +" --cleanup-shm Cleanup stale shared memory " +"segments\n" +" --start Start the daemon if it is not " +"running\n" +" -k --kill Kill a running daemon\n" +" --check Check for a running daemon (only " +"returns exit code)\n" +"\n" +"OPTIONS:\n" +" --system[=BOOL] Run as system-wide instance\n" +" -D, --daemonize[=BOOL] Daemonize after startup\n" +" --fail[=BOOL] Quit when startup fails\n" +" --high-priority[=BOOL] Try to set high nice level\n" +" (only available as root, when SUID " +"or\n" +" with elevated 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" +" --log-meta[=BOOL] Include code location in log " +"messages\n" +" --log-time[=BOOL] Include timestamps in log messages\n" +" --log-backtrace=FRAMES Include a backtrace in log messages\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" +"\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" +"\n" +" -n Don't load default script file\n" +msgstr "" +"%s [OPZIONI]\n" +"\n" +"COMMANDI:\n" +" -h, --help Mostra questo aiuto\n" +" --version Mostra la versione\n" +" --dump-conf Riversa la configurazione " +"predefinita\n" +" --dump-modules Riversa l'elenco dei moduli " +"disponibili\n" +" --dump-resample-methods Riversa i metodi di ricampionamento\n" +" disponibili\n" +" --cleanup-shm Pulisce i segmenti di memoria " +"condivisa\n" +" esauriti\n" +" --start Avvia il demone se non è in " +"esecuzione\n" +" -k --kill Uccide un demone in esecuzione\n" +" --check Controlla la presenza di un demone " +"in\n" +" esecuzione (restituisce solo il " +"codice\n" +" di uscita)\n" +"\n" +"OPZIONI:\n" +" --system[=BOOL] Esegue un'istanza di sistema\n" +" -D, --daemonize[=BOOL] Rende demone dopo l'avvio\n" +" --fail[=BOOL] Esce quando l'avvio non riesce\n" +" --high-priority[=BOOL] Tenta di impostare un livello di " +"nice\n" +" elevato (disponibile solo come " +"root,\n" +" quando SUID o con RLIMIT_NICE " +"elevato)\n" +" --realtime[=BOOL] Tenta di abilitare lo scheduling\n" +" realtime (disponibile solo come " +"root,\n" +" quando SUID o con RLIMIT_RTPRIO " +"elevato)\n" +" --disallow-module-loading[=BOOL] Rifiuta il caricamento/rimozione " +"dei\n" +" moduli richiesi dall'utente dopo \n" +" l'avvio\n" +" --disallow-exit[=BOOL] Rifiuta le richieste utente di " +"uscita\n" +" --exit-idle-time=SECONDI Termina il demone quando inattivo e " +"una\n" +" volta trascorso questo tempo\n" +" --module-idle-time=SECONDI Rimuove i moduli caricati in modo\n" +" automatico quando inattivo e una " +"volta\n" +" trascorso questo tempo\n" +" --scache-idle-time=SECONDI Rimuove i campioni caricati in modo\n" +" automatico quando inattivo e una " +"volta\n" +" trascorso questo tempo\n" +" --log-level[=LIVELLO] Incrementa o imposta il livello di \n" +" verbosità\n" +" -v Incrementa il livello di verbosità\n" +" --log-target={auto,syslog,stderr} Specifica la destinazione del " +"registro\n" +" --log-meta[=BOOL] Include la posizione del codice " +"nei \n" +" messaggi di registro\n" +" --log-time[=BOOL] Include i marcatempo nei messaggi " +"di\n" +" registro\n" +" --log-backtrace=FRAMES Include un backtrace nei messaggi " +"di \n" +" registro\n" +" -p, --dl-search-path=PERCORSO Imposta il percorso di ricerca per " +"gli \n" +" oggetti condivisi dinamici " +"(plugin)\n" +" --resample-method=METODO Usa il metodo di ricampionamento " +"indicato\n" +" (vedere --dump-resample-methods per " +"i\n" +" valori ammessi)\n" +" --use-pid-file[=BOOL] Crea un file PID\n" +" --no-cpu-limit[=BOOL] Non installa un limitatore di " +"carico\n" +" della CPU sulle piattaforme che " +"lo \n" +" supportano.\n" +" --disable-shm[=BOOL] Disabilita il supporto alla memoria\n" +" condivisa.\n" +"\n" +"SCRIPT DI AVVIO:\n" +" -L, --load=\"MODULO ARGOMENTI\" Carica il modulo di plugin " +"specificato\n" +" con gli argomenti specificati\n" +" -F, --file=NOME_FILE Esegue lo script specificato\n" +" -C Apre una riga di comando sulla TTY " +"in \n" +" esecuzione dopo l'avvio\n" +"\n" +" -n Non carica il file script " +"predefinito\n" + +#: ../src/daemon/cmdline.c:252 +msgid "--daemonize expects boolean argument" +msgstr "--daemonize richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:259 +msgid "--fail expects boolean argument" +msgstr "--fail richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:269 +msgid "" +"--log-level expects log level argument (either numeric in range 0..4 or one " +"of debug, info, notice, warn, error)." +msgstr "" +"--log-level richiede il livello di registro come argomento (sia " +"nell'intervallo numerico 0..4 oppure uno tra debug, info, notice, warn, " +"error)." + +#: ../src/daemon/cmdline.c:281 +msgid "--high-priority expects boolean argument" +msgstr "--high-priority richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:288 +msgid "--realtime expects boolean argument" +msgstr "--realtime richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:295 +msgid "--disallow-module-loading expects boolean argument" +msgstr "--disallow-module-loading richiede un argomento booleano" + +# FIXME missing expects??? +# +# Segnalato http://pulseaudio.org/ticket/484 +#: ../src/daemon/cmdline.c:302 +#, fuzzy +msgid "--disallow-exit expects boolean argument" +msgstr "--disallow-exit richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:309 +msgid "--use-pid-file expects boolean argument" +msgstr "--use-pid-file richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:326 +msgid "Invalid log target: use either 'syslog', 'stderr' or 'auto'." +msgstr "" +"Destinazione del registro non valida: usare \"syslog\", \"stderr\" o \"auto" +"\"." + +#: ../src/daemon/cmdline.c:333 +#, fuzzy +msgid "--log-time expects boolean argument" +msgstr "--realtime richiede un argomento booleano" + +# FIXME missing expects??? +#: ../src/daemon/cmdline.c:340 +#, fuzzy +msgid "--log-meta expects boolean argument" +msgstr "--log-meta richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:359 +#, c-format +msgid "Invalid resample method '%s'." +msgstr "Metodo di ricampionamento \"%s\" non valido." + +#: ../src/daemon/cmdline.c:366 +msgid "--system expects boolean argument" +msgstr "--system richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:373 +msgid "--no-cpu-limit expects boolean argument" +msgstr "--no-cpu-limit richiede un argomento booleano" + +#: ../src/daemon/cmdline.c:380 +msgid "--disable-shm expects boolean argument" +msgstr "--disable-shm richiede un argomento booleano" + +#: ../src/daemon/dumpmodules.c:60 +#, c-format +msgid "Name: %s\n" +msgstr "Nome: %s\n" + +#: ../src/daemon/dumpmodules.c:63 +#, c-format +msgid "No module information available\n" +msgstr "Nessuna informazione disponibile sul modulo\n" + +#: ../src/daemon/dumpmodules.c:66 +#, c-format +msgid "Version: %s\n" +msgstr "Versione: %s\n" + +#: ../src/daemon/dumpmodules.c:68 +#, c-format +msgid "Description: %s\n" +msgstr "Descrizione: %s\n" + +#: ../src/daemon/dumpmodules.c:70 +#, c-format +msgid "Author: %s\n" +msgstr "Autore: %s\n" + +#: ../src/daemon/dumpmodules.c:72 +#, c-format +msgid "Usage: %s\n" +msgstr "Uso: %s\n" + +# %s è sì/no +#: ../src/daemon/dumpmodules.c:73 +#, c-format +msgid "Load Once: %s\n" +msgstr "Caricato una sola volta: %s\n" + +#: ../src/daemon/dumpmodules.c:77 +#, c-format +msgid "Path: %s\n" +msgstr "Percorso: %s\n" + +#: ../src/daemon/daemon-conf.c:213 +#, c-format +msgid "[%s:%u] Invalid log target '%s'." +msgstr "[%s:%u] Destinazione di registro \"%s\" non valida." + +#: ../src/daemon/daemon-conf.c:229 +#, c-format +msgid "[%s:%u] Invalid log level '%s'." +msgstr "[%s:%u] Livello di registro \"%s\" non valido." + +#: ../src/daemon/daemon-conf.c:245 +#, c-format +msgid "[%s:%u] Invalid resample method '%s'." +msgstr "[%s:%u] Metodo di ricampionamento \"%s\" non valido." + +#: ../src/daemon/daemon-conf.c:268 +#, c-format +msgid "[%s:%u] Invalid rlimit '%s'." +msgstr "[%s:%u] rlimit \"%s\" non valido." + +#: ../src/daemon/daemon-conf.c:275 +#, 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 +#, c-format +msgid "[%s:%u] Invalid sample format '%s'." +msgstr "[%s:%u] Formato di campionamento \"%s\" non valido." + +#: ../src/daemon/daemon-conf.c:309 +#, c-format +msgid "[%s:%u] Invalid sample rate '%s'." +msgstr "[%s:%u] Frequenza di campionamento '%s' non valida." + +#: ../src/daemon/daemon-conf.c:333 +#, c-format +msgid "[%s:%u] Invalid sample channels '%s'." +msgstr "[%s:%u] Canali di campionamento \"%s\" non validi." + +#: ../src/daemon/daemon-conf.c:351 +#, 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 +#, 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 +#, c-format +msgid "[%s:%u] Invalid fragment size '%s'." +msgstr "[%s:%u] Dimensione dei frammenti \"%s\" non valida." + +#: ../src/daemon/daemon-conf.c:405 +#, c-format +msgid "[%s:%u] Invalid nice level '%s'." +msgstr "[%s:%u] Livello di nice \"%s\" non valido." + +#: ../src/daemon/daemon-conf.c:518 +#, c-format +msgid "Failed to open configuration file: %s" +msgstr "Apertura del file di configurazione non riuscita: %s" + +#: ../src/daemon/daemon-conf.c:534 +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 +#, c-format +msgid "### Read from configuration file: %s ###\n" +msgstr "### Lettura dal file di configurazione: %s ###\n" + +#: ../src/daemon/caps.c:63 +msgid "Dropping root privileges." +msgstr "Abbandono dei privilegi di root." + +#: ../src/daemon/caps.c:103 +msgid "Limited capabilities successfully to CAP_SYS_NICE." +msgstr "Limitazione delle capacità a CAP_SYS_NICE riuscita." + +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Uccisione del demone PulseAudio non riuscita." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "Attualmente nel gruppo \"%s\", che consente scheduling high-priority." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + +#: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 +msgid "Mono" +msgstr "Mono" + +# frontale centrale non si usa in HiFi +# solo centrale. +#: ../src/pulse/channelmap.c:105 +msgid "Front Center" +msgstr "Centrale" + +#: ../src/pulse/channelmap.c:106 +msgid "Front Left" +msgstr "Frontale sinistro" + +#: ../src/pulse/channelmap.c:107 +msgid "Front Right" +msgstr "Frontale destro" + +#: ../src/pulse/channelmap.c:109 +msgid "Rear Center" +msgstr "Centrale posteriore " + +#: ../src/pulse/channelmap.c:110 +msgid "Rear Left" +msgstr "Posteriore sinistro" + +#: ../src/pulse/channelmap.c:111 +msgid "Rear Right" +msgstr "Posteriore destro" + +#: ../src/pulse/channelmap.c:113 +msgid "Low Frequency Emmiter" +msgstr "Emettitore basse frequenze" + +#: ../src/pulse/channelmap.c:115 +msgid "Front Left-of-center" +msgstr "Frontale sinistra-del-centro" + +#: ../src/pulse/channelmap.c:116 +msgid "Front Right-of-center" +msgstr "Frontale destra-del-centro" + +#: ../src/pulse/channelmap.c:118 +msgid "Side Left" +msgstr "Laterale sinistro" + +#: ../src/pulse/channelmap.c:119 +msgid "Side Right" +msgstr "Laterale destro" + +#: ../src/pulse/channelmap.c:121 +msgid "Auxiliary 0" +msgstr "Ausiliario 0" + +#: ../src/pulse/channelmap.c:122 +msgid "Auxiliary 1" +msgstr "Ausiliario 1" + +#: ../src/pulse/channelmap.c:123 +msgid "Auxiliary 2" +msgstr "Ausiliario 2" + +#: ../src/pulse/channelmap.c:124 +msgid "Auxiliary 3" +msgstr "Ausiliario 3" + +#: ../src/pulse/channelmap.c:125 +msgid "Auxiliary 4" +msgstr "Ausiliario 4" + +#: ../src/pulse/channelmap.c:126 +msgid "Auxiliary 5" +msgstr "Ausiliario 5" + +#: ../src/pulse/channelmap.c:127 +msgid "Auxiliary 6" +msgstr "Ausiliario 6" + +#: ../src/pulse/channelmap.c:128 +msgid "Auxiliary 7" +msgstr "Ausiliario 7" + +#: ../src/pulse/channelmap.c:129 +msgid "Auxiliary 8" +msgstr "Ausiliario 8" + +#: ../src/pulse/channelmap.c:130 +msgid "Auxiliary 9" +msgstr "Ausiliario 9" + +#: ../src/pulse/channelmap.c:131 +msgid "Auxiliary 10" +msgstr "Ausiliario 10" + +#: ../src/pulse/channelmap.c:132 +msgid "Auxiliary 11" +msgstr "Ausiliario 11" + +#: ../src/pulse/channelmap.c:133 +msgid "Auxiliary 12" +msgstr "Ausiliario 12" + +#: ../src/pulse/channelmap.c:134 +msgid "Auxiliary 13" +msgstr "Ausiliario 13" + +#: ../src/pulse/channelmap.c:135 +msgid "Auxiliary 14" +msgstr "Ausiliario 14" + +#: ../src/pulse/channelmap.c:136 +msgid "Auxiliary 15" +msgstr "Ausiliario 15" + +#: ../src/pulse/channelmap.c:137 +msgid "Auxiliary 16" +msgstr "Ausiliario 16" + +#: ../src/pulse/channelmap.c:138 +msgid "Auxiliary 17" +msgstr "Ausiliario 17" + +#: ../src/pulse/channelmap.c:139 +msgid "Auxiliary 18" +msgstr "Ausiliario 18" + +#: ../src/pulse/channelmap.c:140 +msgid "Auxiliary 19" +msgstr "Ausiliario 19" + +#: ../src/pulse/channelmap.c:141 +msgid "Auxiliary 20" +msgstr "Ausiliario 20" + +#: ../src/pulse/channelmap.c:142 +msgid "Auxiliary 21" +msgstr "Ausiliario 21" + +#: ../src/pulse/channelmap.c:143 +msgid "Auxiliary 22" +msgstr "Ausiliario 22" + +#: ../src/pulse/channelmap.c:144 +msgid "Auxiliary 23" +msgstr "Ausiliario 23" + +#: ../src/pulse/channelmap.c:145 +msgid "Auxiliary 24" +msgstr "Ausiliario 24" + +#: ../src/pulse/channelmap.c:146 +msgid "Auxiliary 25" +msgstr "Ausiliario 25" + +#: ../src/pulse/channelmap.c:147 +msgid "Auxiliary 26" +msgstr "Ausiliario 26" + +#: ../src/pulse/channelmap.c:148 +msgid "Auxiliary 27" +msgstr "Ausiliario 27" + +#: ../src/pulse/channelmap.c:149 +msgid "Auxiliary 28" +msgstr "Ausiliario 28" + +#: ../src/pulse/channelmap.c:150 +msgid "Auxiliary 29" +msgstr "Ausiliario 29" + +#: ../src/pulse/channelmap.c:151 +msgid "Auxiliary 30" +msgstr "Ausiliario 30" + +#: ../src/pulse/channelmap.c:152 +msgid "Auxiliary 31" +msgstr "Ausiliario 31" + +#: ../src/pulse/channelmap.c:154 +msgid "Top Center" +msgstr "Centrale superiore" + +#: ../src/pulse/channelmap.c:156 +msgid "Top Front Center" +msgstr "Superiore frontale centrale" + +#: ../src/pulse/channelmap.c:157 +msgid "Top Front Left" +msgstr "Superiore frontale sinistro" + +#: ../src/pulse/channelmap.c:158 +msgid "Top Front Right" +msgstr "Superiore frontale destro" + +#: ../src/pulse/channelmap.c:160 +msgid "Top Rear Center" +msgstr "Superiore posteriore centrale" + +#: ../src/pulse/channelmap.c:161 +msgid "Top Rear Left" +msgstr "Superiore posteriore sinistro" + +#: ../src/pulse/channelmap.c:162 +msgid "Top Rear Right" +msgstr "Superiore posteriore destro" + +#: ../src/pulse/channelmap.c:476 ../src/pulse/sample.c:167 +#: ../src/pulse/volume.c:170 ../src/pulse/volume.c:196 +#: ../src/pulse/volume.c:216 ../src/pulse/volume.c:246 +msgid "(invalid)" +msgstr "(non valido)" + +#: ../src/pulse/channelmap.c:808 +msgid "Stereo" +msgstr "Stereo" + +#: ../src/pulse/channelmap.c:813 +msgid "Surround 4.0" +msgstr "Surround 4.0" + +#: ../src/pulse/channelmap.c:819 +msgid "Surround 4.1" +msgstr "Surround 4.1" + +#: ../src/pulse/channelmap.c:825 +msgid "Surround 5.0" +msgstr "Surround 5.0" + +#: ../src/pulse/channelmap.c:831 +msgid "Surround 5.1" +msgstr "Surround 5.1" + +#: ../src/pulse/channelmap.c:838 +msgid "Surround 7.1" +msgstr "Surround 7.1" + +#: ../src/pulse/error.c:43 +msgid "OK" +msgstr "OK" + +#: ../src/pulse/error.c:44 +msgid "Access denied" +msgstr "Accesso negato" + +#: ../src/pulse/error.c:45 +msgid "Unknown command" +msgstr "Comando sconosciuto" + +#: ../src/pulse/error.c:46 +msgid "Invalid argument" +msgstr "Argomento non valido" + +#: ../src/pulse/error.c:47 +msgid "Entity exists" +msgstr "L'entità esiste" + +#: ../src/pulse/error.c:48 +msgid "No such entity" +msgstr "Entità inesistente" + +#: ../src/pulse/error.c:49 +msgid "Connection refused" +msgstr "Connessione rifiutata" + +#: ../src/pulse/error.c:50 +msgid "Protocol error" +msgstr "Errore di protocollo" + +#: ../src/pulse/error.c:51 +msgid "Timeout" +msgstr "Timeout" + +#: ../src/pulse/error.c:52 +msgid "No authorization key" +msgstr "Nessuna chiave di autorizzazione" + +#: ../src/pulse/error.c:53 +msgid "Internal error" +msgstr "Errore interno" + +#: ../src/pulse/error.c:54 +msgid "Connection terminated" +msgstr "Connessione terminata" + +#: ../src/pulse/error.c:55 +msgid "Entity killed" +msgstr "Entità uccisa" + +#: ../src/pulse/error.c:56 +msgid "Invalid server" +msgstr "Server non valido" + +#: ../src/pulse/error.c:57 +msgid "Module initalization failed" +msgstr "Inizializzazione del modulo non riuscita" + +#: ../src/pulse/error.c:58 +msgid "Bad state" +msgstr "Stato errato" + +#: ../src/pulse/error.c:59 +msgid "No data" +msgstr "Nessun dato" + +#: ../src/pulse/error.c:60 +msgid "Incompatible protocol version" +msgstr "Versione di protocollo incompatibile" + +#: ../src/pulse/error.c:61 +msgid "Too large" +msgstr "Troppo grande" + +#: ../src/pulse/error.c:62 +msgid "Not supported" +msgstr "Non supportato" + +#: ../src/pulse/error.c:63 +msgid "Unknown error code" +msgstr "Codice d'errore sconosciuto" + +#: ../src/pulse/error.c:64 +msgid "No such extension" +msgstr "Estensione inesistente" + +#: ../src/pulse/error.c:65 +msgid "Obsolete functionality" +msgstr "Funzionalità obsoleta" + +#: ../src/pulse/error.c:66 +msgid "Missing implementation" +msgstr "Implementazione mancante" + +#: ../src/pulse/sample.c:169 +#, c-format +msgid "%s %uch %uHz" +msgstr "%s ch %u %u Hz" + +#: ../src/pulse/sample.c:181 +#, c-format +msgid "%0.1f GiB" +msgstr "%0.1f GiB" + +#: ../src/pulse/sample.c:183 +#, c-format +msgid "%0.1f MiB" +msgstr "%0.1f MiB" + +#: ../src/pulse/sample.c:185 +#, c-format +msgid "%0.1f KiB" +msgstr "%0.1f KiB" + +#: ../src/pulse/sample.c:187 +#, c-format +msgid "%u B" +msgstr "%u B" + +#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100 +msgid "XOpenDisplay() failed" +msgstr "XOpenDisplay() non riuscita" + +#: ../src/pulse/client-conf-x11.c:78 +msgid "Failed to parse cookie data" +msgstr "Analisi dei dati cookie non riuscita" + +#: ../src/pulse/client-conf.c:120 +#, c-format +msgid "Failed to open configuration file '%s': %s" +msgstr "Apertura del file di configurazione \"%s\" non riuscita: %s" + +#: ../src/pulse/context.c:519 +msgid "No cookie loaded. Attempting to connect without." +msgstr "Nessun cookie caricato. Tentativo di connettersi senza." + +#: ../src/pulse/context.c:649 +#, c-format +msgid "fork(): %s" +msgstr "fork(): %s" + +#: ../src/pulse/context.c:702 +#, c-format +msgid "waitpid(): %s" +msgstr "waitpid(): %s" + +#: ../src/pulse/context.c:1279 +#, c-format +msgid "Received message for unknown extension '%s'" +msgstr "Ricevuto messaggio per l'estensione sconosciuta \"%s\"" + +#: ../src/utils/pacat.c:94 +#, c-format +msgid "pa_stream_write() failed: %s\n" +msgstr "pa_stream_write() non riuscita: %s\n" + +#: ../src/utils/pacat.c:133 +#, c-format +msgid "pa_stream_peek() failed: %s\n" +msgstr "pa_stream_peek() non riuscita: %s\n" + +#: ../src/utils/pacat.c:169 +#, c-format +msgid "Stream successfully created.\n" +msgstr "Creazione dello stream riuscita.\n" + +#: ../src/utils/pacat.c:172 +#, c-format +msgid "pa_stream_get_buffer_attr() failed: %s\n" +msgstr "pa_stream_get_buffer_attr() non riuscita: %s\n" + +# maxlength, fragsize e gli altri non so se vanno tradotti... +#: ../src/utils/pacat.c:176 +#, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgstr "Metriche del buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" + +# maxlength e fragsize non so se vanno tradotti... +#: ../src/utils/pacat.c:179 +#, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +msgstr "Metriche del buffer: maxlength=%u, fragsize=%u\n" + +#: ../src/utils/pacat.c:183 +#, c-format +msgid "Using sample spec '%s', channel map '%s'.\n" +msgstr "In uso specifica di campionamento \"%s\", mappa di canali \"%s\".\n" + +#: ../src/utils/pacat.c:187 +#, c-format +msgid "Connected to device %s (%u, %ssuspended).\n" +msgstr "Connesso al device %s (%u, %ssospeso).\n" + +#: ../src/utils/pacat.c:197 +#, c-format +msgid "Stream error: %s\n" +msgstr "Errore di stream: %s\n" + +#: ../src/utils/pacat.c:207 +#, c-format +msgid "Stream device suspended.%s \n" +msgstr "Device stream sospeso.%s \n" + +#: ../src/utils/pacat.c:209 +#, c-format +msgid "Stream device resumed.%s \n" +msgstr "Device stream ripristinato.%s \n" + +#: ../src/utils/pacat.c:217 +#, c-format +msgid "Stream underrun.%s \n" +msgstr "Underrun dello stream.%s\n" + +#: ../src/utils/pacat.c:224 +#, c-format +msgid "Stream overrun.%s \n" +msgstr "Overrun dello stream.%s\n" + +#: ../src/utils/pacat.c:231 +#, c-format +msgid "Stream started.%s \n" +msgstr "Stream avviato.%s \n" + +#: ../src/utils/pacat.c:238 +#, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +msgstr "Stream spostato sul device %s (%u, %ssospeso).%s \n" + +#: ../src/utils/pacat.c:238 +msgid "not " +msgstr "non" + +#: ../src/utils/pacat.c:271 +#, c-format +msgid "Connection established.%s \n" +msgstr "Connessione stabilita.%s \n" + +#: ../src/utils/pacat.c:274 +#, c-format +msgid "pa_stream_new() failed: %s\n" +msgstr "pa_stream_new() non riuscita: %s\n" + +#: ../src/utils/pacat.c:301 +#, c-format +msgid "pa_stream_connect_playback() failed: %s\n" +msgstr "pa_stream_connect_playback() non riuscita: %s\n" + +#: ../src/utils/pacat.c:307 +#, c-format +msgid "pa_stream_connect_record() failed: %s\n" +msgstr "pa_stream_connect_record() non riuscita: %s\n" + +#: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Connessione non riuscita: %s\n" + +#: ../src/utils/pacat.c:341 ../src/utils/paplay.c:75 +#, c-format +msgid "Failed to drain stream: %s\n" +msgstr "Svuotamento dello stream non riuscito: %s\n" + +#: ../src/utils/pacat.c:346 ../src/utils/paplay.c:80 +#, c-format +msgid "Playback stream drained.\n" +msgstr "Stream di riproduzione svuotato.\n" + +#: ../src/utils/pacat.c:356 ../src/utils/paplay.c:92 +#, c-format +msgid "Draining connection to server.\n" +msgstr "Svuotamento della connessione sul server.\n" + +#: ../src/utils/pacat.c:382 +#, c-format +msgid "Got EOF.\n" +msgstr "Ricevuto EOF.\n" + +#: ../src/utils/pacat.c:388 +#, c-format +msgid "pa_stream_drain(): %s\n" +msgstr "pa_stream_drain(): %s\n" + +#: ../src/utils/pacat.c:398 +#, c-format +msgid "read() failed: %s\n" +msgstr "read() non riuscita: %s\n" + +#: ../src/utils/pacat.c:430 +#, c-format +msgid "write() failed: %s\n" +msgstr "write() non riuscita: %s\n" + +#: ../src/utils/pacat.c:451 +#, c-format +msgid "Got signal, exiting.\n" +msgstr "Ricevuto il segnale, uscita.\n" + +#: ../src/utils/pacat.c:465 +#, c-format +msgid "Failed to get latency: %s\n" +msgstr "Recupero della latenza non riuscito: %s\n" + +# dubbio: tempo o durata?? +#: ../src/utils/pacat.c:470 +#, c-format +msgid "Time: %0.3f sec; Latency: %0.0f usec. \r" +msgstr "Tempo: %0.3f sec; Latenza: %0.0f millisec. \r" + +#: ../src/utils/pacat.c:490 +#, c-format +msgid "pa_stream_update_timing_info() failed: %s\n" +msgstr "pa_stream_update_timing_info() non riuscita: %s\n" + +#: ../src/utils/pacat.c:503 +#, c-format +msgid "" +"%s [options]\n" +"\n" +" -h, --help Show this help\n" +" --version Show version\n" +"\n" +" -r, --record Create a connection for recording\n" +" -p, --playback Create a connection for playback\n" +"\n" +" -v, --verbose Enable verbose operations\n" +"\n" +" -s, --server=SERVER The name of the server to connect " +"to\n" +" -d, --device=DEVICE The name of the sink/source to " +"connect to\n" +" -n, --client-name=NAME How to call this client on the " +"server\n" +" --stream-name=NAME How to call this stream on the " +"server\n" +" --volume=VOLUME Specify the initial (linear) volume " +"in range 0...65536\n" +" --rate=SAMPLERATE The sample rate in Hz (defaults to " +"44100)\n" +" --format=SAMPLEFORMAT The sample type, one of s16le, " +"s16be, u8, float32le,\n" +" float32be, ulaw, alaw, s32le, s32be " +"(defaults to s16ne)\n" +" --channels=CHANNELS The number of channels, 1 for mono, " +"2 for stereo\n" +" (defaults to 2)\n" +" --channel-map=CHANNELMAP Channel map to use instead of the " +"default\n" +" --fix-format Take the sample format from the sink " +"the stream is\n" +" being connected to.\n" +" --fix-rate Take the sampling rate from the sink " +"the stream is\n" +" being connected to.\n" +" --fix-channels Take the number of channels and the " +"channel map\n" +" from the sink the stream is being " +"connected to.\n" +" --no-remix Don't upmix or downmix channels.\n" +" --no-remap Map channels by index instead of " +"name.\n" +" --latency=BYTES Request the specified latency in " +"bytes.\n" +" --process-time=BYTES Request the specified process time " +"per request in bytes.\n" +msgstr "" +"%s [OPZIONI]\n" +"\n" +" -h, --help Mostra questo aiuto\n" +" --version Mostra la versione\n" +"\n" +" -r, --record Crea una connessione per registrare\n" +" -p, --playback Crea una connessione per riprodurre\n" +"\n" +" -v, --verbose Abilita la modalità prolisse\n" +"\n" +" -s, --server=SERVER Il nome del server a cui " +"connettersi\n" +" -d, --device=DEVICE Il nome del sink/sorgente a cui\n" +" connettersi\n" +" -n, --client-name=NOME Come chiamare questo client sul " +"server\n" +" --stream-name=NOME Come chiamare questo stream sul " +"server\n" +" --volume=VOLUME Specifica il volume iniziale " +"(lineare) \n" +" nell'intervallo 0...65536\n" +" --rate=FREQ_CAMP La frequenza di campionamento in Hz\n" +" (44100 come predefinita)\n" +" --format=FORM_CAMP Il tipo di campionamento. Valori " +"ammessi\n" +" sono: s16le, s16be, u8, float32le,\n" +" float32be, ulaw, alaw, s32le, " +"s32be\n" +" (s16ne come predefinito)\n" +" --channels=CANALI Il numero di canali, 1 per mono, 2 " +"per\n" +" stereo (2 come predefinito)\n" +" --channel-map=MAP_CANALI La mappa di canali da usare al posto " +"di\n" +" quella predefinita\n" +" --fix-format Recupera il formato di " +"campionamento\n" +" dal sink a cui lo stream sta per " +"essere\n" +" connesso.\n" +" --fix-rate Recupera la frequenza di " +"campionamento\n" +" dal sink a cui lo stream sta per " +"essere\n" +" connesso.\n" +" --fix-channels Recupera il numero di canali e la " +"mappa\n" +" dei canali dal sink a cui lo " +"stream \n" +" sta per essere connesso.\n" +" --no-remix Non eseguire l'upmix o il downmix \n" +" dei canali.\n" +" --no-remap Mappa i canali per indice invece " +"che \n" +" per nome.\n" +" --latency=BYTE Richiede la latenza specificata in " +"byte.\n" +" --process-time=BYTE Richiede il tempo di elaborazione " +"per\n" +" richiesta specificato in byte.\n" + +#: ../src/utils/pacat.c:604 +#, c-format +msgid "" +"pacat %s\n" +"Compiled with libpulse %s\n" +"Linked with libpulse %s\n" +msgstr "" +"pacat %s\n" +"Compilato con libpulse %s\n" +"Link eseguito con libpulse %s\n" + +#: ../src/utils/pacat.c:661 +#, c-format +msgid "Invalid channel map '%s'\n" +msgstr "Mappa di canali \"%s\" non valida\n" + +#: ../src/utils/pacat.c:690 +#, c-format +msgid "Invalid latency specification '%s'\n" +msgstr "Specifica di latenza \"%s\" non valida\n" + +# esecuzione??? +#: ../src/utils/pacat.c:697 +#, c-format +msgid "Invalid process time specification '%s'\n" +msgstr "Specifica di tempo di elaborazione \"%s\" non valida\n" + +#: ../src/utils/pacat.c:708 +#, c-format +msgid "Invalid sample specification\n" +msgstr "Specifica di campionamento non valida\n" + +#: ../src/utils/pacat.c:713 +#, c-format +msgid "Channel map doesn't match sample specification\n" +msgstr "La mappa di canali non corrisponde alla specifica di campionamento\n" + +#: ../src/utils/pacat.c:720 +#, c-format +msgid "Opening a %s stream with sample specification '%s'.\n" +msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n" + +#: ../src/utils/pacat.c:720 +msgid "recording" +msgstr "registrazione" + +#: ../src/utils/pacat.c:720 +msgid "playback" +msgstr "riproduzione" + +#: ../src/utils/pacat.c:728 +#, c-format +msgid "open(): %s\n" +msgstr "open(): %s\n" + +#: ../src/utils/pacat.c:733 +#, c-format +msgid "dup2(): %s\n" +msgstr "dup2(): %s\n" + +#: ../src/utils/pacat.c:743 +#, c-format +msgid "Too many arguments.\n" +msgstr "Troppi argomenti.\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 "pa_mainloop_new() non riuscita.\n" + +#: ../src/utils/pacat.c:777 +#, c-format +msgid "io_new() failed.\n" +msgstr "io_new() non riuscita.\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 "pa_context_new() non riuscita.\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 "pa_context_connect() non riuscita: %s" + +#: ../src/utils/pacat.c:802 +#, c-format +msgid "time_new() failed.\n" +msgstr "time_new() non riuscita.\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 "pa_mainloop_run() non riuscita.\n" + +#: ../src/utils/pasuspender.c:81 +#, c-format +msgid "fork(): %s\n" +msgstr "fork(): %s\n" + +#: ../src/utils/pasuspender.c:92 +#, c-format +msgid "execvp(): %s\n" +msgstr "execvp(): %s\n" + +#: ../src/utils/pasuspender.c:109 +#, c-format +msgid "Failure to suspend: %s\n" +msgstr "Sospensione non riuscita: %s\n" + +#: ../src/utils/pasuspender.c:124 +#, c-format +msgid "Failure to resume: %s\n" +msgstr "Ripristino non riuscito: %s\n" + +# cambiato un po' la parte finale... +#: ../src/utils/pasuspender.c:147 +#, c-format +msgid "WARNING: Sound server is not local, not suspending.\n" +msgstr "ATTENZIONE: server audio non locale, impossibile sospendere.\n" + +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 +#: ../src/utils/paplay.c:191 +#, c-format +msgid "Got SIGINT, exiting.\n" +msgstr "Ricevuto SIGINT, in uscita.\n" + +#: ../src/utils/pasuspender.c:194 +#, c-format +msgid "WARNING: Child process terminated by signal %u\n" +msgstr "ATTENZIONE: processo figlio terminato dal segnale %u\n" + +#: ../src/utils/pasuspender.c:212 +#, c-format +msgid "" +"%s [options] ... \n" +"\n" +" -h, --help Show this help\n" +" --version Show version\n" +" -s, --server=SERVER The name of the server to connect " +"to\n" +"\n" +msgstr "" +"%s [OPZIONI] ... \n" +"\n" +" -h, --help Mostra questo aiuto\n" +" --version Mostra la versione\n" +" -s, --server=SERVER Il nome del server a cui " +"connettersi\n" +"\n" + +#: ../src/utils/pasuspender.c:251 +#, c-format +msgid "" +"pasuspender %s\n" +"Compiled with libpulse %s\n" +"Linked with libpulse %s\n" +msgstr "" +"pasuspender %s\n" +"Compilato con libpulse %s\n" +"Link eseguito con libpulse %s\n" + +#: ../src/utils/pactl.c:108 +#, c-format +msgid "Failed to get statistics: %s\n" +msgstr "Recupero delle statistiche non riuscito: %s\n" + +#: ../src/utils/pactl.c:114 +#, c-format +msgid "Currently in use: %u blocks containing %s bytes total.\n" +msgstr "Attualmente in uso: %u blocchi contenenti %s byte in totale.\n" + +#: ../src/utils/pactl.c:117 +#, c-format +msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n" +msgstr "" +"Allocati durante l'intera esecuzione: %u blocchi contenenti %s byte in " +"totale.\n" + +#: ../src/utils/pactl.c:120 +#, c-format +msgid "Sample cache size: %s\n" +msgstr "Dimensione della cache dei campioni: %s\n" + +#: ../src/utils/pactl.c:129 +#, c-format +msgid "Failed to get server information: %s\n" +msgstr "Recupero delle informazioni del server non riuscito: %s\n" + +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format +msgid "" +"User name: %s\n" +"Host Name: %s\n" +"Server Name: %s\n" +"Server Version: %s\n" +"Default Sample Specification: %s\n" +"Default Channel Map: %s\n" +"Default Sink: %s\n" +"Default Source: %s\n" +"Cookie: %08x\n" +msgstr "" +"Nome utente: %s\n" +"Nome host: %s\n" +"Nome server: %s\n" +"Versione server: %s\n" +"Specifica campionamento predefinita: %s\n" +"Sink predefinito: %s\n" +"Sorgente predefinita: %s\n" +"Cookie: %08x\n" + +#: ../src/utils/pactl.c:178 +#, c-format +msgid "Failed to get sink information: %s\n" +msgstr "Recupero delle informazioni del sink non riuscito: %s\n" + +# nel relativo messaggio per il source +# c'è "monitor of sink", quindi assumo che +# qui dovesse essere "monitor of source" +#: ../src/utils/pactl.c:194 +#, c-format +msgid "" +"Sink #%u\n" +"\tState: %s\n" +"\tName: %s\n" +"\tDescription: %s\n" +"\tDriver: %s\n" +"\tSample Specification: %s\n" +"\tChannel Map: %s\n" +"\tOwner Module: %u\n" +"\tMute: %s\n" +"\tVolume: %s%s%s\n" +"\t balance %0.2f\n" +"\tBase Volume: %s%s%s\n" +"\tMonitor Source: %s\n" +"\tLatency: %0.0f usec, configured %0.0f usec\n" +"\tFlags: %s%s%s%s%s%s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Sink #%u\n" +"\tStato: %s\n" +"\tNome: %s\n" +"\tDescrizione: %s\n" +"\tDriver: %s\n" +"\tSpecifica di campionamento: %s\n" +"\tMappa di canali: %s\n" +"\tModulo di appartenenza: %u\n" +"\tMuto: %s\n" +"\tVolume: %s%s%s\n" +"\t bilanciamento %0.2f\n" +"\tVolume base: %s%s%s\n" +"\tMonitor della sorgente: %s\n" +"\tLatenza: %0.0f millisec, configurata %0.0f millisec\n" +"\tFlag: %s%s%s%s%s%s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:258 +#, c-format +msgid "Failed to get source information: %s\n" +msgstr "Recupero delle informazioni della sorgente non riuscito: %s\n" + +#: ../src/utils/pactl.c:274 +#, c-format +msgid "" +"Source #%u\n" +"\tState: %s\n" +"\tName: %s\n" +"\tDescription: %s\n" +"\tDriver: %s\n" +"\tSample Specification: %s\n" +"\tChannel Map: %s\n" +"\tOwner Module: %u\n" +"\tMute: %s\n" +"\tVolume: %s%s%s\n" +"\t balance %0.2f\n" +"\tBase Volume: %s%s%s\n" +"\tMonitor of Sink: %s\n" +"\tLatency: %0.0f usec, configured %0.0f usec\n" +"\tFlags: %s%s%s%s%s%s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Sorgente #%u\n" +"\tStato: %s\n" +"\tNome: %s\n" +"\tDescrizione: %s\n" +"\tDriver: %s\n" +"\tSpecifica di campionamento: %s\n" +"\tMappa di canali: %s\n" +"\tModulo di appartenenza: %u\n" +"\tMuto: %s\n" +"\tVolume: %s%s%s\n" +"\t bilanciamento %0.2f\n" +"\tVolume base: %s%s%s\n" +"\tMonitor del sink: %s\n" +"\tLatenza: %0.0f millisec, configurata %0.0f millisec\n" +"\tFlag: %s%s%s%s%s%s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 +msgid "n/a" +msgstr "N/D" + +#: ../src/utils/pactl.c:324 +#, c-format +msgid "Failed to get module information: %s\n" +msgstr "Recupero delle informazioni del modulo non riuscito: %s\n" + +#: ../src/utils/pactl.c:342 +#, c-format +msgid "" +"Module #%u\n" +"\tName: %s\n" +"\tArgument: %s\n" +"\tUsage counter: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Modulo #%u\n" +"\tNome: %s\n" +"\tArgomento: %s\n" +"\tContatore utilizzi: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:361 +#, c-format +msgid "Failed to get client information: %s\n" +msgstr "Recupero delle informazioni del client non riuscito: %s\n" + +#: ../src/utils/pactl.c:379 +#, c-format +msgid "" +"Client #%u\n" +"\tDriver: %s\n" +"\tOwner Module: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Client #%u\n" +"\tDriver: %s\n" +"\tModulo di appartenenza: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:396 +#, c-format +msgid "Failed to get card information: %s\n" +msgstr "Recupero delle informazioni della scheda non riuscito: %s\n" + +#: ../src/utils/pactl.c:414 +#, c-format +msgid "" +"Card #%u\n" +"\tName: %s\n" +"\tDriver: %s\n" +"\tOwner Module: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Scheda #%u\n" +"\tNome: %s\n" +"\tDriver: %s\n" +"\tModulo di appartenenza: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:428 +#, c-format +msgid "\tProfiles:\n" +msgstr "\tProfili:\n" + +#: ../src/utils/pactl.c:434 +#, c-format +msgid "\tActive Profile: %s\n" +msgstr "\tProfilo attivo: %s\n" + +# Sink input +# A stream that is connected to an output device, i.e. an input for a sink. +# +# from http://pulseaudio.org/wiki/WritingVolumeControlUIs +#: ../src/utils/pactl.c:445 +#, c-format +msgid "Failed to get sink input information: %s\n" +msgstr "" +"Recupero delle informazioni dell'ingresso per il sink non riuscito: %s\n" + +#: ../src/utils/pactl.c:464 +#, c-format +msgid "" +"Sink Input #%u\n" +"\tDriver: %s\n" +"\tOwner Module: %s\n" +"\tClient: %s\n" +"\tSink: %u\n" +"\tSample Specification: %s\n" +"\tChannel Map: %s\n" +"\tMute: %s\n" +"\tVolume: %s\n" +"\t %s\n" +"\t balance %0.2f\n" +"\tBuffer Latency: %0.0f usec\n" +"\tSink Latency: %0.0f usec\n" +"\tResample method: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Ingresso per sink #%u\n" +"\tDriver: %s\n" +"\tModulo di appartenenza: %s\n" +"\tClient: %s\n" +"\tSink: %u\n" +"\tSpecifica di campionamento: %s\n" +"\tMappa dei canali: %s\n" +"\tMuto: %s\n" +"\tVolume: %s\n" +"\t %s\n" +"\t bilanciamento %0.2f\n" +"\tLatenza del buffer: %0.0f millisec\n" +"\tLatenza del sink: %0.0f millisec\n" +"\tMetodo di ricampionamento: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +# Source output +# A stream that is connected to an input device, i.e. an output of a source. +# +# from http://pulseaudio.org/wiki/WritingVolumeControlUIs +#: ../src/utils/pactl.c:503 +#, c-format +msgid "Failed to get source output information: %s\n" +msgstr "" +"Recupero delle informazioni dell'uscita per la sorgente non riuscito: %s\n" + +#: ../src/utils/pactl.c:523 +#, c-format +msgid "" +"Source Output #%u\n" +"\tDriver: %s\n" +"\tOwner Module: %s\n" +"\tClient: %s\n" +"\tSource: %u\n" +"\tSample Specification: %s\n" +"\tChannel Map: %s\n" +"\tBuffer Latency: %0.0f usec\n" +"\tSource Latency: %0.0f usec\n" +"\tResample method: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Uscita per sorgente #%u\n" +"\tDriver: %s\n" +"\tModulo di appartenenza: %s\n" +"\tClient: %s\n" +"\tSorgente: %u\n" +"\tSpecifica di campionamento: %s\n" +"\tMappa dei canali: %s\n" +"\tLatenza del buffer: %0.0f millisec\n" +"\tLatenza della sorgente: %0.0f millisec\n" +"\tMetodo di ricampionamento: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:554 +#, c-format +msgid "Failed to get sample information: %s\n" +msgstr "Recupero delle informazioni del campione non riuscito: %s\n" + +# campiona lazy?? +#: ../src/utils/pactl.c:572 +#, c-format +msgid "" +"Sample #%u\n" +"\tName: %s\n" +"\tSample Specification: %s\n" +"\tChannel Map: %s\n" +"\tVolume: %s\n" +"\t %s\n" +"\t balance %0.2f\n" +"\tDuration: %0.1fs\n" +"\tSize: %s\n" +"\tLazy: %s\n" +"\tFilename: %s\n" +"\tProperties:\n" +"\t\t%s\n" +msgstr "" +"Campione #%u\n" +"\tNome: %s\n" +"\tSpecifica di campionamento: %s\n" +"\tMappa dei canali: %s\n" +"\tVolume: %s\n" +"\t %s\n" +"\t bilanciamento %0.2f\n" +"\tDurata: %0.1f s\n" +"\tDimensione: %s\n" +"\tLazy: %s\n" +"\tNome file: %s\n" +"\tProprietà:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 +#, c-format +msgid "Failure: %s\n" +msgstr "Fallimento: %s\n" + +#: ../src/utils/pactl.c:636 +#, c-format +msgid "Failed to upload sample: %s\n" +msgstr "Caricamento del campione non riuscito: %s\n" + +#: ../src/utils/pactl.c:653 +#, c-format +msgid "Premature end of file\n" +msgstr "Fine del file prematura\n" + +#: ../src/utils/pactl.c:774 +#, c-format +msgid "" +"%s [options] stat\n" +"%s [options] list\n" +"%s [options] exit\n" +"%s [options] upload-sample FILENAME [NAME]\n" +"%s [options] play-sample NAME [SINK]\n" +"%s [options] remove-sample NAME\n" +"%s [options] move-sink-input ID SINK\n" +"%s [options] move-source-output ID SOURCE\n" +"%s [options] load-module NAME [ARGS ...]\n" +"%s [options] unload-module ID\n" +"%s [options] suspend-sink [SINK] 1|0\n" +"%s [options] suspend-source [SOURCE] 1|0\n" +"%s [options] set-card-profile [CARD] [PROFILE] \n" +"\n" +" -h, --help Show this help\n" +" --version Show version\n" +"\n" +" -s, --server=SERVER The name of the server to connect " +"to\n" +" -n, --client-name=NAME How to call this client on the " +"server\n" +msgstr "" +"%s [OPZIONE...] stat\n" +"%s [OPZIONE...] list\n" +"%s [OPZIONE...] exit\n" +"%s [OPZIONE...] upload-sample NOMEFILE [NOME]\n" +"%s [OPZIONE...] play-sample NOME [SINK]\n" +"%s [OPZIONE...] remove-sample NOME\n" +"%s [OPZIONE...] move-sink-input ID SINK\n" +"%s [OPZIONE...] move-source-output ID SORGENTE\n" +"%s [OPZIONE...] load-module NOME [ARGOMENTO...]\n" +"%s [OPZIONE...] unload-module ID\n" +"%s [OPZIONE...] suspend-sink [SINK] 1|0\n" +"%s [OPZIONE...] suspend-source [SORGENTE] 1|0\n" +"%s [OPZIONE...] set-card-profile [SCHEDA] [PROFILO] \n" +"\n" +" -h, --help Mostra questo aiuto\n" +" --version Mostra la versione\n" +"\n" +" -s, --server=SERVER Il nome del server a cui connettersi\n" +" -n, --client-name=NOME Come chiamare questo client sul server\n" + +#: ../src/utils/pactl.c:826 +#, c-format +msgid "" +"pactl %s\n" +"Compiled with libpulse %s\n" +"Linked with libpulse %s\n" +msgstr "" +"pactl %s\n" +"Compilato con libpulse %s\n" +"Link eseguito con libpulse %s\n" + +#: ../src/utils/pactl.c:865 +#, c-format +msgid "Please specify a sample file to load\n" +msgstr "Specificare un file campione da caricare\n" + +#: ../src/utils/pactl.c:887 +#, c-format +msgid "Failed to open sound file.\n" +msgstr "Apertura del file audio non riuscita.\n" + +#: ../src/utils/pactl.c:899 +#, c-format +msgid "You have to specify a sample name to play\n" +msgstr "È necessario specificare un nome di campione da riprodurre\n" + +#: ../src/utils/pactl.c:911 +#, c-format +msgid "You have to specify a sample name to remove\n" +msgstr "È necessario specificare un nome di campione da rimuovere\n" + +#: ../src/utils/pactl.c:919 +#, c-format +msgid "You have to specify a sink input index and a sink\n" +msgstr "È necessario specificare un ingresso per sink e un sink\n" + +#: ../src/utils/pactl.c:928 +#, c-format +msgid "You have to specify a source output index and a source\n" +msgstr "È necessario specificare una uscita per sorgente e una sorgente\n" + +#: ../src/utils/pactl.c:942 +#, c-format +msgid "You have to specify a module name and arguments.\n" +msgstr "È necessario specificare un nome di modulo e gli argomenti.\n" + +#: ../src/utils/pactl.c:962 +#, c-format +msgid "You have to specify a module index\n" +msgstr "È necessario specificare un indice di modulo\n" + +#: ../src/utils/pactl.c:972 +#, c-format +msgid "" +"You may not specify more than one sink. You have to specify a boolean " +"value.\n" +msgstr "" +"Non è possibile specificare più di un sink. È necessario specificare un " +"valore booleano.\n" + +#: ../src/utils/pactl.c:985 +#, c-format +msgid "" +"You may not specify more than one source. You have to specify a boolean " +"value.\n" +msgstr "" +"Non è possibile specificare più di una sorgente. È necessario specificare un " +"valore booleano.\n" + +#: ../src/utils/pactl.c:997 +#, c-format +msgid "You have to specify a card name/index and a profile name\n" +msgstr "" +"È necessario specificare un nome/indice di scheda e un nome di profilo.\n" + +#: ../src/utils/pactl.c:1012 +#, c-format +msgid "No valid command specified.\n" +msgstr "Nessun comando valido specificato.\n" + +#: ../src/utils/pax11publish.c:61 +#, c-format +msgid "" +"%s [-D display] [-S server] [-O sink] [-I source] [-c file] [-d|-e|-i|-r]\n" +"\n" +" -d Show current PulseAudio data attached to X11 display (default)\n" +" -e Export local PulseAudio data to X11 display\n" +" -i Import PulseAudio data from X11 display to local environment " +"variables and cookie file.\n" +" -r Remove PulseAudio data from X11 display\n" +msgstr "" +"%s [-D DISPLAY] [-S SERVER] [-O SINK] [-I SORGENTE] [-c FILE] [-d|-e|-i|-" +"r]\n" +"\n" +" -d Mostra i dati PulseAudio attuali attaccati al display X11 (predef)\n" +" -e Esporta i dati PulseAudio locali sul display X11\n" +" -i Importa i dati PulseAudio dal display X11 alle variabili ambientali " +"e\n" +" al file cookie locali \n" +" -r Rimuove i dati PulseAudio dal display X11\n" + +#: ../src/utils/pax11publish.c:94 +#, c-format +msgid "Failed to parse command line.\n" +msgstr "Analisi della riga di comando non riuscita.\n" + +#: ../src/utils/pax11publish.c:108 +#, c-format +msgid "Server: %s\n" +msgstr "Server: %s\n" + +#: ../src/utils/pax11publish.c:110 +#, c-format +msgid "Source: %s\n" +msgstr "Sorgente: %s\n" + +#: ../src/utils/pax11publish.c:112 +#, c-format +msgid "Sink: %s\n" +msgstr "Sink: %s\n" + +#: ../src/utils/pax11publish.c:114 +#, c-format +msgid "Cookie: %s\n" +msgstr "Cookie: %s\n" + +#: ../src/utils/pax11publish.c:132 +#, c-format +msgid "Failed to parse cookie data\n" +msgstr "Analisi dei dati cookie non riuscita\n" + +#: ../src/utils/pax11publish.c:137 +#, c-format +msgid "Failed to save cookie data\n" +msgstr "Salvataggio dei dati cookie non riuscita\n" + +#: ../src/utils/pax11publish.c:152 +#, c-format +msgid "Failed to load client configuration file.\n" +msgstr "Caricamento dei file di configurazione del client non riuscita.\n" + +#: ../src/utils/pax11publish.c:157 +#, c-format +msgid "Failed to read environment configuration data.\n" +msgstr "Lettura dei dati di configurazione dell'ambiente non riuscita.\n" + +#: ../src/utils/pax11publish.c:174 +#, c-format +msgid "Failed to get FQDN.\n" +msgstr "Recupero del FQDN non riuscito.\n" + +#: ../src/utils/pax11publish.c:194 +#, c-format +msgid "Failed to load cookie data\n" +msgstr "Caricamento dei dati cookie non riuscito\n" + +#: ../src/utils/pax11publish.c:211 +#, c-format +msgid "Not yet implemented.\n" +msgstr "Non ancora implementato.\n" + +#: ../src/utils/pacmd.c:64 +#, c-format +msgid "socket(PF_UNIX, SOCK_STREAM, 0): %s" +msgstr "socket(PF_UNIX, SOCK_STREAM, 0): %s" + +#: ../src/utils/pacmd.c:81 +#, c-format +msgid "connect(): %s" +msgstr "connect(): %s" + +#: ../src/utils/pacmd.c:89 +msgid "Failed to kill PulseAudio daemon." +msgstr "Uccisione del demone PulseAudio non riuscita." + +#: ../src/utils/pacmd.c:97 +msgid "Daemon not responding." +msgstr "Il demone non sta rispondendo." + +#: ../src/utils/pacmd.c:144 +#, c-format +msgid "select(): %s" +msgstr "select(): %s" + +#: ../src/utils/pacmd.c:154 ../src/utils/pacmd.c:171 +#, c-format +msgid "read(): %s" +msgstr "read(): %s" + +#: ../src/utils/pacmd.c:187 ../src/utils/pacmd.c:201 +#, c-format +msgid "write(): %s" +msgstr "write(): %s" + +#: ../src/utils/paplay.c:139 +#, c-format +msgid "Stream successfully created\n" +msgstr "Creazione dello stream riuscita\n" + +# fixme!!! errror +#: ../src/utils/paplay.c:144 +#, c-format +msgid "Stream errror: %s\n" +msgstr "Errore nello stream: %s\n" + +#: ../src/utils/paplay.c:165 +#, c-format +msgid "Connection established.\n" +msgstr "Connessione stabilita.\n" + +#: ../src/utils/paplay.c:198 +#, c-format +msgid "" +"%s [options] [FILE]\n" +"\n" +" -h, --help Show this help\n" +" --version Show version\n" +"\n" +" -v, --verbose Enable verbose operation\n" +"\n" +" -s, --server=SERVER The name of the server to connect " +"to\n" +" -d, --device=DEVICE The name of the sink to connect to\n" +" -n, --client-name=NAME How to call this client on the " +"server\n" +" --stream-name=NAME How to call this stream on the " +"server\n" +" --volume=VOLUME Specify the initial (linear) volume " +"in range 0...65536\n" +" --channel-map=CHANNELMAP Set the channel map to the use\n" +msgstr "" +"%s [OPZIONI] [FILE]\n" +"\n" +" -h, --help Mostra questo aiuto\n" +" --version Mostra la versione\n" +"\n" +" -v, --verbose Abilita la modalità prolissa\n" +"\n" +" -s, --server=SERVER Il nome del server a cui " +"connettersi\n" +" -d, --device=DEVICE Il nome del sink a cui connettersi\n" +" -n, --client-name=NOME Come chiamare questo client sul " +"server\n" +" --stream-name=NOME Come chiamare questo stream sul " +"server\n" +" --volume=VOLUME Specifica il volume iniziale " +"(lineare) \n" +" nell'intervallo 0...65536\n" +" --channel-map=MAPPA_CANALI Imposta la mappa di canali da usare\n" + +#: ../src/utils/paplay.c:255 +#, c-format +msgid "" +"paplay %s\n" +"Compiled with libpulse %s\n" +"Linked with libpulse %s\n" +msgstr "" +"paplay %s\n" +"Compilato con libpulse %s\n" +"Link eseguito con libpulse %s\n" + +#: ../src/utils/paplay.c:292 +#, c-format +msgid "Invalid channel map\n" +msgstr "Mappa dei canali non valida\n" + +#: ../src/utils/paplay.c:314 +#, c-format +msgid "Failed to open file '%s'\n" +msgstr "Apertura del file \"%s\" non riuscita\n" + +#: ../src/utils/paplay.c:350 +#, c-format +msgid "Channel map doesn't match file.\n" +msgstr "La mappa dei canali non corrisponde al file.\n" + +#: ../src/utils/paplay.c:376 +#, c-format +msgid "Using sample spec '%s'\n" +msgstr "In uso la specifica di campionamento \"%s\"\n" + +#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +msgid "Cannot access autospawn lock." +msgstr "Impossibile accedere al lock di autospawn." + +#~ 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 "" +#~ "Lo scheduling invocato come root SUID e real-time o high-priority è stato " +#~ "richiesto nella configurazione. Purtroppo mancano i privilegi necessari:\n" +#~ "Non si è parte del gruppo '" + +# FIXME missing expects??? +#~ msgid "--log-time boolean argument" +#~ msgstr "--log-time richiede un argomento booleano" + +#~ msgid "Default sink name (%s) does not exist in name register." +#~ msgstr "Il nome del sink predefinito (%s) non esiste nel registro dei nomi." + +#~ msgid "pa_stream_drop() failed: %s\n" +#~ msgstr "pa_stream_drop() non riuscita: %s\n" @@ -5,79 +5,92 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" -"PO-Revision-Date: 2009-02-05 22:09+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+0100\n" +"PO-Revision-Date: 2009-02-20 18:42+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:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" -msgstr "" +msgstr "Analogowe mono" -#: ../src/modules/alsa/alsa-util.c:531 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" -msgstr "Stereo" +msgstr "Analogowe stereo" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" -msgstr "" +msgstr "Cyfrowe stereo (IEC958)" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" -msgstr "" +msgstr "Cyfrowe stereo (HDMI)" -#: ../src/modules/alsa/alsa-util.c:550 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" -msgstr "Surround 4.0" +msgstr "Analogowe surround 4.0" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" -msgstr "" +msgstr "Cyfrowe surround 4.0 (IEC958/AC3)" -#: ../src/modules/alsa/alsa-util.c:565 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" -msgstr "Surround 4.1" +msgstr "Analogowe surround 4.1" -#: ../src/modules/alsa/alsa-util.c:573 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" -msgstr "Surround 5.0" +msgstr "Analogowe surround 5.0" -#: ../src/modules/alsa/alsa-util.c:581 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" -msgstr "Surround 5.1" +msgstr "Analogowe surround 5.1" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" -msgstr "" +msgstr "Cyfrowe surround 5.1 (IEC958/AC3)" -#: ../src/modules/alsa/alsa-util.c:598 -#, fuzzy +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" -msgstr "Surround 7.1" +msgstr "Analogowe surround 7.1" -#: ../src/modules/alsa/alsa-util.c:1577 -#, c-format +#: ../src/modules/alsa/alsa-util.c:1582 +#, fuzzy, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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." -#: ../src/modules/alsa/alsa-util.c:1609 -#, c-format +#: ../src/modules/alsa/alsa-util.c:1622 +#, fuzzy, 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." + +#: ../src/modules/alsa/alsa-util.c:1668 +#, fuzzy, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%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." #: ../src/daemon/ltdl-bind-now.c:124 msgid "Failed to find original lt_dlopen loader." @@ -213,91 +226,93 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Analiza wiersza poleceń nie powiodła się." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit nadał uprawnienie \"acquire-high-priority\"." -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-high-priority\"." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit nadał uprawnienie \"acquire-real-time\"." -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit odmówił nadania uprawnienia \"acquire-real-time\"." -#: ../src/daemon/main.c:508 +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." 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 \"" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "Pomyślnie zwiększono RLIMIT_RTPRIO" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO nie powiodło się: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Oddawanie CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "Demon nie jest uruchomiony" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Demon jest uruchomiony jako PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Zniszczenie demona nie powiodło się: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -305,146 +320,146 @@ msgstr "" "Ten program nie powinien być uruchomiany jako root (chyba, że podano --" "system)" -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 msgid "Root privileges required." msgstr "Wymagane są uprawnienia roota." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start nie jest obsługiwane przy uruchamianiu systemowym." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Uruchamianie w trybie systemowym, wymuszanie wyłączenia trybu SHM!" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Uzyskanie standardowego wejścia/wyjścia nie powiodło się" -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "potok nie powiódł się: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "fork() nie powiodło się: %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "read() nie powiodło się: %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Uruchomienie demona nie powiodło się." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Pomyślnie uruchomiono demona." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "To jest PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Komputer kompilacji: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "CFLAGS kompilacji: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Uruchamianie na komputerze: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "Znaleziono %u procesorów." -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "Rozmiar strony to %lu bajtów" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Skompilowano z obsługą Valgrind: tak" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Skompilowano z obsługą Valgrind: nie" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Uruchamianie w trybie Valgrind: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Budowanie optymalizowane: tak" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Budowanie optymalizowane: nie" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Uzyskanie identyfikatora komputera nie powiodło się" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "Identyfikator komputera to %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Używanie folderu wykonywania %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Używanie folderu stanu %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Uruchamianie w trybie systemowym: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() nie powiodło się." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Świeże zegary o wysokiej rozdzielczości! Smacznego!" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -452,27 +467,27 @@ msgstr "" "Koleś, twoje jądro śmierdzi! Szef kuchni poleca dzisiaj Linuksa w włączonymi " "zegarami o wysokiej rozdzielczości!" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new() nie powiodło się." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Zainicjowanie demona nie powiodło się." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "Uruchamianie demona bez żadnych wczytanych modułów, odmawianie pracy." -#: ../src/daemon/main.c:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "Zakończono uruchamianie demona." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "Zainicjowano wyłączenie demona." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Demon został zniszczony." @@ -655,7 +670,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit zmienna logiczna" #: ../src/daemon/cmdline.c:309 @@ -669,11 +685,13 @@ msgstr "" "\"auto\"." #: ../src/daemon/cmdline.c:333 -msgid "--log-time boolean argument" -msgstr "--log-time parametr zmiennej logicznej" +#, fuzzy +msgid "--log-time expects boolean argument" +msgstr "-realtime oczekuje parametru zmiennej logicznej" #: ../src/daemon/cmdline.c:340 -msgid "--log-meta boolean argument" +#, fuzzy +msgid "--log-meta expects boolean argument" msgstr "--log-meta parametr zmiennej logicznej" #: ../src/daemon/cmdline.c:359 @@ -733,67 +751,78 @@ msgstr "Wczytanie jednorazowe: %s\n" msgid "Path: %s\n" msgstr "Ścieżka: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Nieprawidłowy dziennik docelowy \"%s\"." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nieprawidłowy poziom dziennika \"%s\"." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Nieprawidłowa metoda resamplingu \"%s\"." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] Nieprawidłowy rlimit \"%s\"." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Nieprawidłowy format próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Nieprawidłowa częstotliwość próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Nieprawidłowe kanały próbki \"%s\"." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "[%s:%u] Nieprawidłowe kanały próbki \"%s\"." + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] Nieprawidłowa liczba fragmentów \"%s\"." -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Nieprawidłowy rozmiar fragmentu \"%s\"." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Nieprawidłowy poziom nice \"%s\"." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Otwarcie pliku konfiguracji nie powiodło się: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Odczytano z pliku konfiguracji: %s ###\n" @@ -806,6 +835,35 @@ msgstr "Porzucanie uprawnień roota." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "Pomyślnie ograniczono możliwości do CAP_SYS_NICE." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../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ę." + +#: ../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." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1293,7 +1351,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() nie powiodło się: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Połączenie nie powiodło się: %s\n" @@ -1518,7 +1576,7 @@ msgid "Too many arguments.\n" msgstr "Za dużo parametrów.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() nie powiodło się.\n" @@ -1529,12 +1587,12 @@ msgid "io_new() failed.\n" msgstr "io_new() nie powiodło się.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() nie powiodło się.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1546,7 +1604,7 @@ msgid "time_new() failed.\n" msgstr "time_new() nie powiodło się.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() nie powiodło się.\n" @@ -1577,7 +1635,7 @@ msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" "OSTRZEŻENIE: serwer dźwięku nie jest lokalny, nie zostanie wstrzymany.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1644,14 +1702,15 @@ msgstr "Rozmiar pamięci podręcznej próbek: %s\n" msgid "Failed to get server information: %s\n" msgstr "Uzyskanie informacji o serwerze nie powiodło się: %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1665,12 +1724,12 @@ msgstr "" "Domyślne źródło: %s\n" "Ciasteczko: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Uzyskanie informacji o odpływie nie powiodło się: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1709,12 +1768,12 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Uzyskanie informacji o źródle nie powiodło się: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1753,20 +1812,20 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "nie dotyczy" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Uzyskanie informacji o module nie powiodło się: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1783,12 +1842,12 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Uzyskanie informacji o kliencie nie powiodło się: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1803,12 +1862,12 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, c-format msgid "Failed to get card information: %s\n" msgstr "Uzyskanie informacji o karcie nie powiodło się: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1825,22 +1884,22 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "\tProfile:\n" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, c-format msgid "\tActive Profile: %s\n" msgstr "\tAktywny profil: %s\n" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Uzyskanie informacji o wejściu odpływu nie powiodło się: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1877,12 +1936,12 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "Uzyskanie informacji o wyjściu źródła nie powiodło się: %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1911,12 +1970,12 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Uzyskanie informacji o przykładzie nie powiodło się: %s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1947,22 +2006,22 @@ msgstr "" "\tWłaściwości:\n" "\t\t%s\n" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Niepowodzenie: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "Usunięcie próbki nie powiodło się: %s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Przedwczesny koniec pliku\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -2007,7 +2066,7 @@ msgstr "" " -s, --server=SERWER Nazwa serwera do połączenia się\n" " -n, --client-name=NAZWA Jak nazwać tego klienta na serwerze\n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -2018,47 +2077,47 @@ msgstr "" "Skompilowane za pomocą libpulse %s\n" "Skonsolidowane za pomocą libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "Proszę podać plik próbki do wczytania\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Otwarcie pliku dźwiękowego nie powiodło się.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "Należy podać nazwę próbki do odtworzenia\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "Należy podać nazwę próbki do usunięcia\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "Należy podać indeks odpływu wejścia i odpływ\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "Należy podać indeks źródła wyjścia i źródło\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Należy podać nazwę modułu i parametry.\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "Należy podać indeks modułu\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " @@ -2066,7 +2125,7 @@ msgid "" msgstr "" "Nie można podać więcej niż jednego odpływu. Należy podać wartość logiczną.\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " @@ -2074,12 +2133,12 @@ msgid "" msgstr "" "Nie można podać więcej niż jednego źródła. Należy podać wartość logiczną.\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "Należy podać nazwę karty/indeks i nazwę profilu\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "Nie podano prawidłowego polecenia.\n" @@ -2282,3 +2341,17 @@ 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 2e75cc4b..c6d4c11c 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-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +18,74 @@ msgstr "" "X-Poedit-Language: Brazilian Portuguese\n" "X-Poedit-Country: Brazil\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -213,90 +224,91 @@ 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:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "Falha em interpretar a linha de comando." -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, 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:460 +#: ../src/daemon/main.c:463 #, 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:468 +#: ../src/daemon/main.c:471 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:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade." -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 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:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real." -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"A chamada de SUID root e tempo real/alta prioridade no escalonamento foi " -"requisitada pela configuração. Todavia, falta-nos os privilégios " -"necessários:\n" -"Não estamos no grupo'" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 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:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "RLIMIT_RTPRIO aumentado com sucesso" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO falhou: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "Abandonando CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 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:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "O daemon não está em execução" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "Daemon executando como PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "Falha em encerrar o daemon: %s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -304,144 +316,144 @@ msgstr "" "Este programa não é para ser executado como root (a não ser que --system " "seja especificado)." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Privilégios de rot são requeridos." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start não tem suporte para instâncias de sistemas." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 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:684 +#: ../src/daemon/main.c:688 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:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "Executando no modo system, desabilitando forçadamente o modo SHM!" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 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:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "Falha em adquirir o stdio." -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "O pipe falhou: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "O fork() falhou: %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "A operação read() falhou: %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "Falha na partida do daemon." -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "Os daemons foram iniciados com sucesso." -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Este é o PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "Host de compilação: %s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "Compilação CFLAGS: %s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "Executando no host: %s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "O tamanho da página é %lu bytes" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "Compilado com suporte do Valgrind: sim" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "Compilado com suporte do Valgrind: não" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "Executando em modo valgrind: %s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "Build otimizado: sim" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "Build otimizado: não" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "Falha em obter o ID da máquina" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "A ID da máquina é %s." -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "Usando o diretório de runtime %s." -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "Usando o diretório de estado %s." -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "Executando em modo do sistema: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() falhou." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "Timers de alta resolução frequinhos disponíveis! Bon appetit!" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" @@ -449,28 +461,28 @@ msgstr "" "Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de " "alta resolução habilitados!" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new() falhou." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "Falha em iniciar o daemon." -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 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:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "A partida dos Daemon está completa." -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "O encerramento do Daemon foi iniciado." -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "Daemon terminado." @@ -651,7 +663,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading espera um argumento booleano" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit argumento booleano" #: ../src/daemon/cmdline.c:309 @@ -664,12 +677,12 @@ msgstr "Log target inválido: use 'syslog', 'stderr' ou 'auto'." #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit argumento booleano" +msgid "--log-time expects boolean argument" +msgstr "--realtime espera um argumento booleano" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit argumento booleano" #: ../src/daemon/cmdline.c:359 @@ -729,67 +742,78 @@ msgstr "Carrega uma vez: %s\n" msgid "Path: %s\n" msgstr "Caminho: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] Alvo do log inválido '%s'." -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] Nível de log inválido '%s'." -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] Método de reamostragem inválido '%s'." -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] rlimit inválido '%s'." -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, 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:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] Formato de amostragem inválido '%s'." -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] Taxa de amostragem inválida '%s'." -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] Canais de amostragem inválidos'%s'." -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, 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 #, 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:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] Tamanho de fragmentos inválido '%s'." -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] Número de nice inválido'%s'." -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Falha em abrir o arquivo de configuração: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### Lido do arquivo de configuração: %s ###\n" @@ -803,6 +827,34 @@ msgstr "Descartando os privilégios de root." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "As capacidades foram limitadas com sucesso para CAP_SYS_NICE." +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "Falha em cancelar o daemon do PulseAudio." + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade." + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1290,7 +1342,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() falhou: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Falha na conexão: %s\n" @@ -1512,7 +1564,7 @@ msgid "Too many arguments.\n" msgstr "Argumentos em excesso.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() falhou.\n" @@ -1523,12 +1575,12 @@ msgid "io_new() failed.\n" msgstr "io_new() falhou.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() falhou.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1540,7 +1592,7 @@ msgid "time_new() failed.\n" msgstr "time_new() falhou.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() falhou.\n" @@ -1572,7 +1624,7 @@ msgstr "" "AVISO: O servidor de som não é local, Sound server is not local, não está em " "suspenso.\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1637,14 +1689,15 @@ msgstr "Tamanho do cache para amostragem: %s\n" msgid "Failed to get server information: %s\n" msgstr "Falha em obter a informação do servidor: %s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1658,12 +1711,12 @@ msgstr "" "Fonte padrão %s\n" "Cookie: %08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "Falha em obter a informação do destino: %s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, fuzzy, c-format msgid "" "Sink #%u\n" @@ -1697,12 +1750,12 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "Falha em obter a informação da fonte: %s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, fuzzy, c-format msgid "" "Source #%u\n" @@ -1736,20 +1789,20 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "n/a" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Falha em obter a informação do módulo: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, fuzzy, c-format msgid "" "Module #%u\n" @@ -1765,12 +1818,12 @@ msgstr "" "Contador de uso: %s\n" "Auto descarregar: %s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Falhou ao obter a informação do cliente: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, fuzzy, c-format msgid "" "Client #%u\n" @@ -1785,12 +1838,12 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "Falha em obter a informação do autoload: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, fuzzy, c-format msgid "" "Card #%u\n" @@ -1806,22 +1859,22 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "O pipe falhou: %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "Falha na obtenção da informação de entrada do destino: %s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, fuzzy, c-format msgid "" "Sink Input #%u\n" @@ -1855,12 +1908,12 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "Falha em obter informações sobre a saída da fonte: %s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, fuzzy, c-format msgid "" "Source Output #%u\n" @@ -1889,12 +1942,12 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "Falha em obter informações sobre a amostragem: %s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, fuzzy, c-format msgid "" "Sample #%u\n" @@ -1923,22 +1976,22 @@ msgstr "" "Propriedades:\n" "%s" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Falha: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "Falha em carregar a amostra: %s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "Fim prematuro do arquivo\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, fuzzy, c-format msgid "" "%s [options] stat\n" @@ -1983,7 +2036,7 @@ msgstr "" " -n, --client-name=NAME Como chamar este cliente no " "servidor \n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1994,48 +2047,48 @@ msgstr "" "Compilado com libpulse %s\n" "Linkado com libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "Por favor, especifique o arquivo de amostra a ser carregado\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Falha em abrir o arquivo de som.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "Você deve especificar um nome da amostra para ser executada\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "Você deve especificar um nome da amostra para ser removida\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" "Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "Você tem que especificar um índice de saída da fonte e uma fonte\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "Você deve especificar um nome do módulo e seus argumentos\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "Você deve especificar um índice de um módulo\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " @@ -2044,7 +2097,7 @@ msgstr "" "Você não pode especificar mais de um destino. Pelo menos um valor booleano " "deve ser especificado.\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " @@ -2053,13 +2106,13 @@ msgstr "" "Você não pode especificar mais de uma fonte. Pelo menos um valor booleano " "deve ser especificado.\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" "Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "Nenhum comando válido especificado.\n" @@ -2264,6 +2317,22 @@ msgstr "Usando a especificação da amostragem '%s'\n" msgid "Cannot access autospawn lock." msgstr "Não foi possível acessar a trava de autogeração." +#, 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" +#~ "We are not in group '" +#~ msgstr "" +#~ "A chamada de SUID root e tempo real/alta prioridade no escalonamento foi " +#~ "requisitada pela configuração. Todavia, falta-nos os privilégios " +#~ "necessários:\n" +#~ "Não estamos no grupo'" + +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit argumento booleano" + #~ msgid "Default sink name (%s) does not exist in name register." #~ msgstr "O nome padrão do destino (%s) não existe no registro de nomes." @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pulseaudio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +15,74 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" + +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -209,81 +220,87 @@ msgstr "" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) misslyckades: %s" -#: ../src/daemon/main.c:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "" -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "" -#: ../src/daemon/main.c:460 +#: ../src/daemon/main.c:463 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "" -#: ../src/daemon/main.c:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "" -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "" -#: ../src/daemon/main.c:508 +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"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:532 +#: ../src/daemon/main.c:536 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO misslyckades: %s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "" -#: ../src/daemon/main.c:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." @@ -291,168 +308,168 @@ msgstr "" "Detta program är inte tänkt att köras som root (såvida inte --system har " "angivits)." -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "Root-behörighet krävs." -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "--start stöds inte för systeminstanser." -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 msgid "Running in system mode, but --disallow-exit not set!" msgstr "" -#: ../src/daemon/main.c:684 +#: ../src/daemon/main.c:688 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "" -#: ../src/daemon/main.c:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "" -#: ../src/daemon/main.c:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "" -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "pipe misslyckades: %s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "fork() misslyckades: %s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "read() misslyckades: %s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "" -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "" -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "Detta är PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "" -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "" -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "" -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create() misslyckades." -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" msgstr "" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new() misslyckades." -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "" -#: ../src/daemon/main.c:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "" -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "" -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "" @@ -557,7 +574,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading förväntar sig ett booleskt argument" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit booleskt argument" #: ../src/daemon/cmdline.c:309 @@ -570,12 +588,12 @@ msgstr "" #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit booleskt argument" +msgid "--log-time expects boolean argument" +msgstr "--realtime förväntar sig ett booleskt argument" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit booleskt argument" #: ../src/daemon/cmdline.c:359 @@ -635,67 +653,78 @@ msgstr "" msgid "Path: %s\n" msgstr "Sökväg: %s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "" -#: ../src/daemon/daemon-conf.c:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "" + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "" -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "Misslyckades med att öppna konfigurationsfil: %s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "" @@ -709,6 +738,32 @@ msgstr "Släpper root-behörighet." msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "" +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "Mono" @@ -1197,7 +1252,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_record() misslyckades: %s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "Anslutningsfel: %s\n" @@ -1372,7 +1427,7 @@ msgid "Too many arguments.\n" msgstr "För många argument.\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new() misslyckades.\n" @@ -1383,12 +1438,12 @@ msgid "io_new() failed.\n" msgstr "io_new() misslyckades.\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new() misslyckades.\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, fuzzy, c-format msgid "pa_context_connect() failed: %s" @@ -1400,7 +1455,7 @@ msgid "time_new() failed.\n" msgstr "time_new() misslyckades.\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run() misslyckades.\n" @@ -1430,7 +1485,7 @@ msgstr "" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1489,7 +1544,7 @@ msgstr "" msgid "Failed to get server information: %s\n" msgstr "" -#: ../src/utils/pactl.c:136 +#: ../src/utils/pactl.c:137 #, c-format msgid "" "User name: %s\n" @@ -1497,17 +1552,18 @@ msgid "" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" msgstr "" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, c-format msgid "" "Sink #%u\n" @@ -1529,12 +1585,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, c-format msgid "" "Source #%u\n" @@ -1556,20 +1612,20 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "Misslyckades med att få modulinformation: %s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, c-format msgid "" "Module #%u\n" @@ -1580,12 +1636,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "Misslyckades med att få klientinformation: %s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, c-format msgid "" "Client #%u\n" @@ -1595,12 +1651,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "Misslyckades med att få modulinformation: %s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, c-format msgid "" "Card #%u\n" @@ -1611,22 +1667,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "pipe misslyckades: %s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, c-format msgid "" "Sink Input #%u\n" @@ -1647,12 +1703,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, c-format msgid "" "Source Output #%u\n" @@ -1669,12 +1725,12 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, c-format msgid "" "Sample #%u\n" @@ -1692,22 +1748,22 @@ msgid "" "\t\t%s\n" msgstr "" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "Fel: %s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, c-format msgid "" "%s [options] stat\n" @@ -1733,7 +1789,7 @@ msgid "" "server\n" msgstr "" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1744,66 +1800,66 @@ msgstr "" "Kompilerad med libpulse %s\n" "Länkad med libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "Misslyckades med att öppna ljudfil.\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "" @@ -1985,6 +2041,10 @@ msgstr "" msgid "Cannot access autospawn lock." msgstr "" +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit booleskt argument" + #~ msgid "pa_stream_drop() failed: %s\n" #~ msgstr "pa_stream_drop() misslyckades: %s\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index eb0fca22..96fdeb7a 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-20 03:24+0100\n" +"POT-Creation-Date: 2009-02-24 11:33+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,63 +17,74 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:525 +#: ../src/modules/alsa/alsa-util.c:526 msgid "Analog Mono" msgstr "" -#: ../src/modules/alsa/alsa-util.c:531 +#: ../src/modules/alsa/alsa-util.c:532 msgid "Analog Stereo" msgstr "" -#: ../src/modules/alsa/alsa-util.c:537 +#: ../src/modules/alsa/alsa-util.c:538 msgid "Digital Stereo (IEC958)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:543 +#: ../src/modules/alsa/alsa-util.c:544 msgid "Digital Stereo (HDMI)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:550 +#: ../src/modules/alsa/alsa-util.c:551 msgid "Analog Surround 4.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:557 +#: ../src/modules/alsa/alsa-util.c:558 msgid "Digital Surround 4.0 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:565 +#: ../src/modules/alsa/alsa-util.c:566 msgid "Analog Surround 4.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:573 +#: ../src/modules/alsa/alsa-util.c:574 msgid "Analog Surround 5.0" msgstr "" -#: ../src/modules/alsa/alsa-util.c:581 +#: ../src/modules/alsa/alsa-util.c:582 msgid "Analog Surround 5.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:589 +#: ../src/modules/alsa/alsa-util.c:590 msgid "Digital Surround 5.1 (IEC958/AC3)" msgstr "" -#: ../src/modules/alsa/alsa-util.c:598 +#: ../src/modules/alsa/alsa-util.c:599 msgid "Analog Surround 7.1" msgstr "" -#: ../src/modules/alsa/alsa-util.c:1577 +#: ../src/modules/alsa/alsa-util.c:1582 #, c-format msgid "" -"snd_pcm_avail_update() returned a value that is exceptionally large: %lu " -"bytes (%lu ms). Most likely this is an ALSA driver bug. Please report this " -"issue to the ALSA developers." +"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 "" -#: ../src/modules/alsa/alsa-util.c:1609 +#: ../src/modules/alsa/alsa-util.c:1622 +#, 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 "" + +#: ../src/modules/alsa/alsa-util.c:1668 #, c-format msgid "" "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " -"(%lu ms). Most likely this is an ALSA driver bug. Please report this issue " +"(%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue " "to the ALSA developers." msgstr "" @@ -212,251 +223,254 @@ msgstr "此平台不支持system-wide模式。" msgid "setrlimit(%s, (%u, %u)) failed: %s" msgstr "setrlimit(%s, (%u, %u)) 失败:%s" -#: ../src/daemon/main.c:431 +#: ../src/daemon/main.c:432 msgid "Failed to parse command line." msgstr "分析命令行失败。" -#: ../src/daemon/main.c:453 +#: ../src/daemon/main.c:456 #, c-format msgid "We're in the group '%s', allowing high-priority scheduling." msgstr "我们在'%s'组中,允许高优先级调度。" -#: ../src/daemon/main.c:460 +#: ../src/daemon/main.c:463 #, c-format msgid "We're in the group '%s', allowing real-time scheduling." msgstr "我们在'%s'组中,允许实时调度。" -#: ../src/daemon/main.c:468 +#: ../src/daemon/main.c:471 msgid "PolicyKit grants us acquire-high-priority privilege." msgstr "PolicyKit授予我们“获取高优先级”权限。" -#: ../src/daemon/main.c:471 +#: ../src/daemon/main.c:474 msgid "PolicyKit refuses acquire-high-priority privilege." msgstr "PolicyKit拒绝“获取高优先级”权限。" -#: ../src/daemon/main.c:476 +#: ../src/daemon/main.c:479 msgid "PolicyKit grants us acquire-real-time privilege." msgstr "PolicyKit授予我们“获取实时”权限。" -#: ../src/daemon/main.c:479 +#: ../src/daemon/main.c:482 msgid "PolicyKit refuses acquire-real-time privilege." msgstr "PolicyKit拒绝我们“获取实时”权限。" -#: ../src/daemon/main.c:508 -#, fuzzy +#: ../src/daemon/main.c:511 +#, c-format 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 '" +"We are not in group '%s', PolicyKit refuse to grant us the requested " +"privileges and we have no increase RLIMIT_NICE/RLIMIT_RTPRIO resource " +"limits.\n" +"For enabling real-time/high-priority scheduling please acquire the " +"appropriate PolicyKit privileges, or become a member of '%s', or increase " +"the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this user." msgstr "" -"此配置需要调用SUID root和实时/高优先级调度。但是我们没有所需的权限:\n" -"我们不属该组" -#: ../src/daemon/main.c:532 +#: ../src/daemon/main.c:536 msgid "" "High-priority scheduling enabled in configuration but not allowed by policy." msgstr "配置中已启用高优先级调度,但策略未允许。" -#: ../src/daemon/main.c:561 +#: ../src/daemon/main.c:565 msgid "Successfully increased RLIMIT_RTPRIO" msgstr "提高RLIMIT_RTPRIO成功。" -#: ../src/daemon/main.c:564 +#: ../src/daemon/main.c:568 #, c-format msgid "RLIMIT_RTPRIO failed: %s" msgstr "RLIMIT_RTPRIO失败:%s" -#: ../src/daemon/main.c:571 +#: ../src/daemon/main.c:575 msgid "Giving up CAP_NICE" msgstr "正在放弃CAP_NICE" -#: ../src/daemon/main.c:578 +#: ../src/daemon/main.c:582 msgid "" "Real-time scheduling enabled in configuration but not allowed by policy." msgstr "配置中已启用实时调度,但策略未允许。" -#: ../src/daemon/main.c:639 +#: ../src/daemon/main.c:643 msgid "Daemon not running" msgstr "后台程序没有运行" -#: ../src/daemon/main.c:641 +#: ../src/daemon/main.c:645 #, c-format msgid "Daemon running as PID %u" msgstr "后台程序正在运行,PID %u" -#: ../src/daemon/main.c:651 +#: ../src/daemon/main.c:655 #, c-format msgid "Failed to kill daemon: %s" msgstr "杀死后台程序失败:%s" -#: ../src/daemon/main.c:669 +#: ../src/daemon/main.c:673 msgid "" "This program is not intended to be run as root (unless --system is " "specified)." msgstr "不应以root身份运行本程序(除非指定 --system)。" -#: ../src/daemon/main.c:671 +#: ../src/daemon/main.c:675 #, fuzzy msgid "Root privileges required." msgstr "需要root权限。" -#: ../src/daemon/main.c:676 +#: ../src/daemon/main.c:680 msgid "--start not supported for system instances." msgstr "系统实例不支持 --start。" -#: ../src/daemon/main.c:681 +#: ../src/daemon/main.c:685 msgid "Running in system mode, but --disallow-exit not set!" msgstr "正在以系统模式运行,但是 --disallow-exit 未设定!" -#: ../src/daemon/main.c:684 +#: ../src/daemon/main.c:688 msgid "Running in system mode, but --disallow-module-loading not set!" msgstr "正在以系统模式运行,但是 --disallow-module-loading 未设定!" -#: ../src/daemon/main.c:687 +#: ../src/daemon/main.c:691 msgid "Running in system mode, forcibly disabling SHM mode!" msgstr "正在以系统模式运行,强制禁用SHM模式!" -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:696 msgid "Running in system mode, forcibly disabling exit idle time!" msgstr "正在以系统模式运行,强制禁用退出空闲时间!" -#: ../src/daemon/main.c:719 +#: ../src/daemon/main.c:723 msgid "Failed to acquire stdio." msgstr "获取stdio失败。" -#: ../src/daemon/main.c:725 +#: ../src/daemon/main.c:729 #, c-format msgid "pipe failed: %s" msgstr "管道失败:%s" -#: ../src/daemon/main.c:730 +#: ../src/daemon/main.c:734 #, c-format msgid "fork() failed: %s" msgstr "fork()失败:%s" -#: ../src/daemon/main.c:744 +#: ../src/daemon/main.c:748 #, c-format msgid "read() failed: %s" msgstr "read()失败:%s" -#: ../src/daemon/main.c:750 +#: ../src/daemon/main.c:754 msgid "Daemon startup failed." msgstr "后台程序启动失败。" -#: ../src/daemon/main.c:752 +#: ../src/daemon/main.c:756 msgid "Daemon startup successful." msgstr "后台程序启动成功。" -#: ../src/daemon/main.c:822 +#: ../src/daemon/main.c:826 #, c-format msgid "This is PulseAudio %s" msgstr "这是 PulseAudio %s" -#: ../src/daemon/main.c:823 +#: ../src/daemon/main.c:827 #, c-format msgid "Compilation host: %s" msgstr "编译主机:%s" -#: ../src/daemon/main.c:824 +#: ../src/daemon/main.c:828 #, c-format msgid "Compilation CFLAGS: %s" msgstr "编译CFLAGS:%s" -#: ../src/daemon/main.c:827 +#: ../src/daemon/main.c:831 #, c-format msgid "Running on host: %s" msgstr "正在主机上运行:%s" -#: ../src/daemon/main.c:830 +#: ../src/daemon/main.c:834 #, c-format msgid "Found %u CPUs." msgstr "" -#: ../src/daemon/main.c:832 +#: ../src/daemon/main.c:836 #, c-format msgid "Page size is %lu bytes" msgstr "页面大小为%lu字节" -#: ../src/daemon/main.c:835 +#: ../src/daemon/main.c:839 msgid "Compiled with Valgrind support: yes" msgstr "编译启用Valgrind支持:是" -#: ../src/daemon/main.c:837 +#: ../src/daemon/main.c:841 msgid "Compiled with Valgrind support: no" msgstr "编译启用Valgrind支持:否" -#: ../src/daemon/main.c:840 +#: ../src/daemon/main.c:844 #, c-format msgid "Running in valgrind mode: %s" msgstr "正在以valgrind模式运行:%s" -#: ../src/daemon/main.c:843 +#: ../src/daemon/main.c:847 msgid "Optimized build: yes" msgstr "优化生成:是" -#: ../src/daemon/main.c:845 +#: ../src/daemon/main.c:849 msgid "Optimized build: no" msgstr "优化生成:否" -#: ../src/daemon/main.c:849 +#: ../src/daemon/main.c:853 msgid "Failed to get machine ID" msgstr "获取machine ID失败" -#: ../src/daemon/main.c:852 +#: ../src/daemon/main.c:856 #, c-format msgid "Machine ID is %s." msgstr "machine ID是%s。" -#: ../src/daemon/main.c:857 +#: ../src/daemon/main.c:861 #, c-format msgid "Using runtime directory %s." msgstr "正在使用运行时文件夹%s。" -#: ../src/daemon/main.c:862 +#: ../src/daemon/main.c:866 #, c-format msgid "Using state directory %s." msgstr "正在使用状态文件夹%s。" -#: ../src/daemon/main.c:865 +#: ../src/daemon/main.c:869 #, c-format msgid "Running in system mode: %s" msgstr "正在以系统模式运行:%s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:884 msgid "pa_pid_file_create() failed." msgstr "pa_pid_file_create()失败。" -#: ../src/daemon/main.c:892 +#: ../src/daemon/main.c:896 msgid "Fresh high-resolution timers available! Bon appetit!" msgstr "新鲜的高分辨率计时器开锅了!吃个饱!" -#: ../src/daemon/main.c:894 +#: ../src/daemon/main.c:898 msgid "" "Dude, your kernel stinks! The chef's recommendation today is Linux with high-" "resolution timers enabled!" msgstr "老兄,你的内核真臭!现在流行的是启用了高分辩率计分器的Linux!" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:910 msgid "pa_core_new() failed." msgstr "pa_core_new()失败。" -#: ../src/daemon/main.c:967 +#: ../src/daemon/main.c:972 msgid "Failed to initialize daemon." msgstr "后台程序初始化失败。" -#: ../src/daemon/main.c:972 +#: ../src/daemon/main.c:977 msgid "Daemon startup without any loaded modules, refusing to work." msgstr "后台程序启动未加载任何模块,拒绝工作。" -#: ../src/daemon/main.c:985 +#: ../src/daemon/main.c:990 msgid "Daemon startup complete." msgstr "后台程序启动完成。" -#: ../src/daemon/main.c:991 +#: ../src/daemon/main.c:996 msgid "Daemon shutdown initiated." msgstr "开始关闭后台程序。" -#: ../src/daemon/main.c:1009 +#: ../src/daemon/main.c:1014 msgid "Daemon terminated." msgstr "后台程序已终止。" @@ -615,7 +629,8 @@ msgid "--disallow-module-loading expects boolean argument" msgstr "--disallow-module-loading 期待布尔参数" #: ../src/daemon/cmdline.c:302 -msgid "--disallow-exit boolean argument" +#, fuzzy +msgid "--disallow-exit expects boolean argument" msgstr "--disallow-exit 布尔参数" #: ../src/daemon/cmdline.c:309 @@ -628,12 +643,12 @@ msgstr "无效的日志目标:从syslog,stderr和auto中选取一个" #: ../src/daemon/cmdline.c:333 #, fuzzy -msgid "--log-time boolean argument" -msgstr "--disallow-exit 布尔参数" +msgid "--log-time expects boolean argument" +msgstr "--realtime 期待布尔参数" #: ../src/daemon/cmdline.c:340 #, fuzzy -msgid "--log-meta boolean argument" +msgid "--log-meta expects boolean argument" msgstr "--disallow-exit 布尔参数" #: ../src/daemon/cmdline.c:359 @@ -693,67 +708,78 @@ msgstr "加载一次:%s\n" msgid "Path: %s\n" msgstr "路径:%s\n" -#: ../src/daemon/daemon-conf.c:212 +#: ../src/daemon/daemon-conf.c:213 #, c-format msgid "[%s:%u] Invalid log target '%s'." msgstr "[%s:%u] 无效的日志目标'%s'。" -#: ../src/daemon/daemon-conf.c:228 +#: ../src/daemon/daemon-conf.c:229 #, c-format msgid "[%s:%u] Invalid log level '%s'." msgstr "[%s:%u] 无效的日志级别'%s'。" -#: ../src/daemon/daemon-conf.c:244 +#: ../src/daemon/daemon-conf.c:245 #, c-format msgid "[%s:%u] Invalid resample method '%s'." msgstr "[%s:%u] 无效的重采样方法'%s'。" -#: ../src/daemon/daemon-conf.c:267 +#: ../src/daemon/daemon-conf.c:268 #, c-format msgid "[%s:%u] Invalid rlimit '%s'." msgstr "[%s:%u] 无效的rlimit '%s'。" -#: ../src/daemon/daemon-conf.c:274 +#: ../src/daemon/daemon-conf.c:275 #, c-format msgid "[%s:%u] rlimit not supported on this platform." msgstr "[%s:%u] 此平台不支持rlimit。" -#: ../src/daemon/daemon-conf.c:290 +#: ../src/daemon/daemon-conf.c:291 #, c-format msgid "[%s:%u] Invalid sample format '%s'." msgstr "[%s:%u] 无效的样品格式'%s'。" -#: ../src/daemon/daemon-conf.c:308 +#: ../src/daemon/daemon-conf.c:309 #, c-format msgid "[%s:%u] Invalid sample rate '%s'." msgstr "[%s:%u] 无效的样品率'%s'。" -#: ../src/daemon/daemon-conf.c:326 +#: ../src/daemon/daemon-conf.c:333 #, c-format msgid "[%s:%u] Invalid sample channels '%s'." msgstr "[%s:%u] 无效的样品通道'%s'。" -#: ../src/daemon/daemon-conf.c:344 +#: ../src/daemon/daemon-conf.c:351 +#, fuzzy, c-format +msgid "[%s:%u] Invalid channel map '%s'." +msgstr "[%s:%u] 无效的样品通道'%s'。" + +#: ../src/daemon/daemon-conf.c:369 #, c-format msgid "[%s:%u] Invalid number of fragments '%s'." msgstr "[%s:%u] 无效的分段数'%s'。" -#: ../src/daemon/daemon-conf.c:362 +#: ../src/daemon/daemon-conf.c:387 #, c-format msgid "[%s:%u] Invalid fragment size '%s'." msgstr "[%s:%u] 无效的分段大小'%s'。" -#: ../src/daemon/daemon-conf.c:380 +#: ../src/daemon/daemon-conf.c:405 #, c-format msgid "[%s:%u] Invalid nice level '%s'." msgstr "[%s:%u] 无效的nice level '%s'。" -#: ../src/daemon/daemon-conf.c:566 +#: ../src/daemon/daemon-conf.c:518 #, c-format msgid "Failed to open configuration file: %s" msgstr "打开配置文件失败:%s" -#: ../src/daemon/daemon-conf.c:640 +#: ../src/daemon/daemon-conf.c:534 +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 #, c-format msgid "### Read from configuration file: %s ###\n" msgstr "### 从配置文件读取:%s ###\n" @@ -767,6 +793,34 @@ msgstr "正在取消root权限。" msgid "Limited capabilities successfully to CAP_SYS_NICE." msgstr "性能成功限制到CAP_SYS_NICE。" +#: ../src/daemon/pulseaudio.desktop.in.h:1 +msgid "PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/pulseaudio.desktop.in.h:2 +msgid "Start the PulseAudio Sound System" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:1 +msgid "" +"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" +msgstr "" + +#: ../src/daemon/org.pulseaudio.policy.in.h:2 +#, fuzzy +msgid "Real-time scheduling for the PulseAudio daemon" +msgstr "杀死PulseAudio后台程序失败。" + +#: ../src/daemon/org.pulseaudio.policy.in.h:3 +#, fuzzy +msgid "" +"System policy prevents PulseAudio from acquiring high-priority scheduling." +msgstr "我们在'%s'组中,允许高优先级调度。" + +#: ../src/daemon/org.pulseaudio.policy.in.h:4 +msgid "System policy prevents PulseAudio from acquiring real-time scheduling." +msgstr "" + #: ../src/pulse/channelmap.c:103 ../src/pulse/channelmap.c:804 msgid "Mono" msgstr "单声道" @@ -1254,7 +1308,7 @@ msgid "pa_stream_connect_record() failed: %s\n" msgstr "pa_stream_connect_playback()失败:%s\n" #: ../src/utils/pacat.c:321 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:759 ../src/utils/paplay.c:183 +#: ../src/utils/pactl.c:762 ../src/utils/paplay.c:183 #, c-format msgid "Connection failure: %s\n" msgstr "连接失败:%s\n" @@ -1464,7 +1518,7 @@ msgid "Too many arguments.\n" msgstr "参数过多。\n" #: ../src/utils/pacat.c:756 ../src/utils/pasuspender.c:280 -#: ../src/utils/pactl.c:1014 ../src/utils/paplay.c:381 +#: ../src/utils/pactl.c:1017 ../src/utils/paplay.c:381 #, c-format msgid "pa_mainloop_new() failed.\n" msgstr "pa_mainloop_new()失败。\n" @@ -1475,12 +1529,12 @@ msgid "io_new() failed.\n" msgstr "io_new()失败。\n" #: ../src/utils/pacat.c:783 ../src/utils/pasuspender.c:293 -#: ../src/utils/pactl.c:1028 ../src/utils/paplay.c:396 +#: ../src/utils/pactl.c:1031 ../src/utils/paplay.c:396 #, c-format msgid "pa_context_new() failed.\n" msgstr "pa_context_new()失败。\n" -#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1034 +#: ../src/utils/pacat.c:791 ../src/utils/pactl.c:1037 #: ../src/utils/paplay.c:404 #, c-format msgid "pa_context_connect() failed: %s" @@ -1492,7 +1546,7 @@ msgid "time_new() failed.\n" msgstr "time_new()失败。\n" #: ../src/utils/pacat.c:809 ../src/utils/pasuspender.c:301 -#: ../src/utils/pactl.c:1039 ../src/utils/paplay.c:410 +#: ../src/utils/pactl.c:1042 ../src/utils/paplay.c:410 #, c-format msgid "pa_mainloop_run() failed.\n" msgstr "pa_mainloop_run()失败。\n" @@ -1522,7 +1576,7 @@ msgstr "恢复失败:%s\n" msgid "WARNING: Sound server is not local, not suspending.\n" msgstr "警告:非本地声音服务器,不会挂起。\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:765 +#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:768 #: ../src/utils/paplay.c:191 #, c-format msgid "Got SIGINT, exiting.\n" @@ -1587,14 +1641,15 @@ msgstr "采样缓存大小:%s\n" msgid "Failed to get server information: %s\n" msgstr "获取服务器信息失败:%s\n" -#: ../src/utils/pactl.c:136 -#, c-format +#: ../src/utils/pactl.c:137 +#, fuzzy, c-format msgid "" "User name: %s\n" "Host Name: %s\n" "Server Name: %s\n" "Server Version: %s\n" "Default Sample Specification: %s\n" +"Default Channel Map: %s\n" "Default Sink: %s\n" "Default Source: %s\n" "Cookie: %08x\n" @@ -1608,12 +1663,12 @@ msgstr "" "默认音频入口:%s\n" "Cookie:%08x\n" -#: ../src/utils/pactl.c:175 +#: ../src/utils/pactl.c:178 #, c-format msgid "Failed to get sink information: %s\n" msgstr "获取音频出口信息失败:%s\n" -#: ../src/utils/pactl.c:191 +#: ../src/utils/pactl.c:194 #, fuzzy, c-format msgid "" "Sink #%u\n" @@ -1647,12 +1702,12 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:255 +#: ../src/utils/pactl.c:258 #, c-format msgid "Failed to get source information: %s\n" msgstr "获取音频入口信息失败:%s\n" -#: ../src/utils/pactl.c:271 +#: ../src/utils/pactl.c:274 #, fuzzy, c-format msgid "" "Source #%u\n" @@ -1686,20 +1741,20 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:303 ../src/utils/pactl.c:347 ../src/utils/pactl.c:382 -#: ../src/utils/pactl.c:419 ../src/utils/pactl.c:478 ../src/utils/pactl.c:479 -#: ../src/utils/pactl.c:489 ../src/utils/pactl.c:533 ../src/utils/pactl.c:534 -#: ../src/utils/pactl.c:540 ../src/utils/pactl.c:583 ../src/utils/pactl.c:584 -#: ../src/utils/pactl.c:591 +#: ../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 +#: ../src/utils/pactl.c:492 ../src/utils/pactl.c:536 ../src/utils/pactl.c:537 +#: ../src/utils/pactl.c:543 ../src/utils/pactl.c:586 ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:594 msgid "n/a" msgstr "n/a" -#: ../src/utils/pactl.c:321 +#: ../src/utils/pactl.c:324 #, c-format msgid "Failed to get module information: %s\n" msgstr "获取模块信息失败:%s\n" -#: ../src/utils/pactl.c:339 +#: ../src/utils/pactl.c:342 #, fuzzy, c-format msgid "" "Module #%u\n" @@ -1715,12 +1770,12 @@ msgstr "" "使用计数器:%s\n" "自动卸载:%s\n" -#: ../src/utils/pactl.c:358 +#: ../src/utils/pactl.c:361 #, c-format msgid "Failed to get client information: %s\n" msgstr "获取客户端信息失败:%s\n" -#: ../src/utils/pactl.c:376 +#: ../src/utils/pactl.c:379 #, fuzzy, c-format msgid "" "Client #%u\n" @@ -1735,12 +1790,12 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:393 +#: ../src/utils/pactl.c:396 #, fuzzy, c-format msgid "Failed to get card information: %s\n" msgstr "获取自动加载信息失败:%s\n" -#: ../src/utils/pactl.c:411 +#: ../src/utils/pactl.c:414 #, fuzzy, c-format msgid "" "Card #%u\n" @@ -1756,22 +1811,22 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:425 +#: ../src/utils/pactl.c:428 #, c-format msgid "\tProfiles:\n" msgstr "" -#: ../src/utils/pactl.c:431 +#: ../src/utils/pactl.c:434 #, fuzzy, c-format msgid "\tActive Profile: %s\n" msgstr "管道失败:%s" -#: ../src/utils/pactl.c:442 +#: ../src/utils/pactl.c:445 #, c-format msgid "Failed to get sink input information: %s\n" msgstr "获取音频出口输入信息失败:%s\n" -#: ../src/utils/pactl.c:461 +#: ../src/utils/pactl.c:464 #, fuzzy, c-format msgid "" "Sink Input #%u\n" @@ -1805,12 +1860,12 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:500 +#: ../src/utils/pactl.c:503 #, c-format msgid "Failed to get source output information: %s\n" msgstr "获取音频入口输出信息失败:%s\n" -#: ../src/utils/pactl.c:520 +#: ../src/utils/pactl.c:523 #, fuzzy, c-format msgid "" "Source Output #%u\n" @@ -1839,12 +1894,12 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:551 +#: ../src/utils/pactl.c:554 #, c-format msgid "Failed to get sample information: %s\n" msgstr "获取采样信息失败:%s\n" -#: ../src/utils/pactl.c:569 +#: ../src/utils/pactl.c:572 #, fuzzy, c-format msgid "" "Sample #%u\n" @@ -1873,22 +1928,22 @@ msgstr "" "属性:\n" "%s" -#: ../src/utils/pactl.c:599 ../src/utils/pactl.c:609 +#: ../src/utils/pactl.c:602 ../src/utils/pactl.c:612 #, c-format msgid "Failure: %s\n" msgstr "失败:%s\n" -#: ../src/utils/pactl.c:633 +#: ../src/utils/pactl.c:636 #, c-format msgid "Failed to upload sample: %s\n" msgstr "上传采样失败:%s\n" -#: ../src/utils/pactl.c:650 +#: ../src/utils/pactl.c:653 #, c-format msgid "Premature end of file\n" msgstr "文件过早结束\n" -#: ../src/utils/pactl.c:771 +#: ../src/utils/pactl.c:774 #, fuzzy, c-format msgid "" "%s [options] stat\n" @@ -1932,7 +1987,7 @@ msgstr "" " -s, --server=SERVER 要连接的服务器名\n" " -n, --client-name=NAME 此客户端在服务器上的名称\n" -#: ../src/utils/pactl.c:823 +#: ../src/utils/pactl.c:826 #, c-format msgid "" "pactl %s\n" @@ -1943,66 +1998,66 @@ msgstr "" "Compiled with libpulse %s\n" "Linked with libpulse %s\n" -#: ../src/utils/pactl.c:862 +#: ../src/utils/pactl.c:865 #, c-format msgid "Please specify a sample file to load\n" msgstr "请指定要加载的采样文件\n" -#: ../src/utils/pactl.c:884 +#: ../src/utils/pactl.c:887 #, c-format msgid "Failed to open sound file.\n" msgstr "打开声音文件失败。\n" -#: ../src/utils/pactl.c:896 +#: ../src/utils/pactl.c:899 #, c-format msgid "You have to specify a sample name to play\n" msgstr "你必须指定要播放的采样名\n" -#: ../src/utils/pactl.c:908 +#: ../src/utils/pactl.c:911 #, c-format msgid "You have to specify a sample name to remove\n" msgstr "你必须指定要删除的采样名\n" -#: ../src/utils/pactl.c:916 +#: ../src/utils/pactl.c:919 #, c-format msgid "You have to specify a sink input index and a sink\n" msgstr "你必须指定音频出口索引和音频出口\n" -#: ../src/utils/pactl.c:925 +#: ../src/utils/pactl.c:928 #, c-format msgid "You have to specify a source output index and a source\n" msgstr "你必须指定音频入口输出索引和音频入口\n" -#: ../src/utils/pactl.c:939 +#: ../src/utils/pactl.c:942 #, c-format msgid "You have to specify a module name and arguments.\n" msgstr "必须指定模块名和参数。\n" -#: ../src/utils/pactl.c:959 +#: ../src/utils/pactl.c:962 #, c-format msgid "You have to specify a module index\n" msgstr "必须指定模块索引\n" -#: ../src/utils/pactl.c:969 +#: ../src/utils/pactl.c:972 #, fuzzy, c-format msgid "" "You may not specify more than one sink. You have to specify a boolean " "value.\n" msgstr "不可指定多个音频出口。必须指定至少一个布尔值。\n" -#: ../src/utils/pactl.c:982 +#: ../src/utils/pactl.c:985 #, fuzzy, c-format msgid "" "You may not specify more than one source. You have to specify a boolean " "value.\n" msgstr "不可指定多个音频入口。必须指定至少一个布尔值。\n" -#: ../src/utils/pactl.c:994 +#: ../src/utils/pactl.c:997 #, fuzzy, c-format msgid "You have to specify a card name/index and a profile name\n" msgstr "你必须指定音频出口索引和音频出口\n" -#: ../src/utils/pactl.c:1009 +#: ../src/utils/pactl.c:1012 #, c-format msgid "No valid command specified.\n" msgstr "未指定有效的命令。\n" @@ -2204,6 +2259,20 @@ msgstr "正在使用采样规格'%s'\n" msgid "Cannot access autospawn lock." msgstr "不能访问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" +#~ "We are not in group '" +#~ msgstr "" +#~ "此配置需要调用SUID root和实时/高优先级调度。但是我们没有所需的权限:\n" +#~ "我们不属该组" + +#, fuzzy +#~ msgid "--log-time boolean argument" +#~ msgstr "--disallow-exit 布尔参数" + #~ msgid "" #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n" #~ "For enabling real-time scheduling please acquire the appropriate " diff --git a/src/.gitignore b/src/.gitignore index 4da445ba..85370444 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1,3 +1,5 @@ +TAGS +alsa-time-test gtk-test prioq-test lock-autospawn-test diff --git a/src/Makefile.am b/src/Makefile.am index 46c3d2ee..1fc87353 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -105,9 +105,9 @@ EXTRA_DIST = \ daemon/start-pulseaudio-x11.in \ utils/padsp \ modules/module-defs.h.m4 \ - daemon/pulseaudio.desktop \ + daemon/pulseaudio.desktop.in \ map-file \ - daemon/org.pulseaudio.policy + daemon/org.pulseaudio.policy.in pulseconf_DATA = \ default.pa \ @@ -116,9 +116,12 @@ pulseconf_DATA = \ client.conf if HAVE_X11 -xdgautostart_DATA = \ - daemon/pulseaudio.desktop +xdgautostart_in_files = \ + daemon/pulseaudio.desktop.in endif +xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + BUILT_SOURCES = \ pulse/version.h @@ -156,7 +159,9 @@ pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PRE endif if HAVE_POLKIT -policy_DATA = daemon/org.pulseaudio.policy +policy_in_files = daemon/org.pulseaudio.policy.in +policy_DATA = $(policy_in_files:.policy.in=.policy) +@INTLTOOL_POLICY_RULE@ pulseaudio_SOURCES += daemon/polkit.c daemon/polkit.h pulseaudio_CFLAGS += $(POLKIT_CFLAGS) @@ -1304,10 +1309,16 @@ libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) if HAVE_HAL libalsa_util_la_SOURCES += modules/hal-util.h modules/hal-util.c -libalsa_util_la_LIBADD += $(HAL_LIBS) libdbus-util.la +libalsa_util_la_LIBADD += $(HAL_LIBS) libalsa_util_la_CFLAGS += $(HAL_CFLAGS) endif +if HAVE_DBUS +libalsa_util_la_SOURCES += modules/reserve.h modules/reserve.c modules/reserve-wrap.c modules/reserve-wrap.h +libalsa_util_la_LIBADD += $(DBUS_LIBS) +libalsa_util_la_CFLAGS += $(DBUS_CFLAGS) +endif + module_alsa_sink_la_SOURCES = modules/alsa/module-alsa-sink.c module_alsa_sink_la_LDFLAGS = $(MODULE_LDFLAGS) module_alsa_sink_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la @@ -1543,7 +1554,7 @@ suid: pulseaudio .libs/lt-pulseaudio chown root $^ chmod u+s $^ -CLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 +CLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 daemon/pulseaudio.desktop daemon/org.pulseaudio.policy esdcompat: daemon/esdcompat.in Makefile sed -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ @@ -1609,6 +1620,11 @@ update-sbc: wget -O modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=audio/$$i ; \ done +update-reserve: + for i in reserve.c reserve.h ; do \ + wget -O modules/$$i http://git.0pointer.de/\?p=reserve.git\;a=blob_plain\;f=$$i\;hb=master ; \ + done + # Automatically generate linker version script. We use the same one for all public .sos update-map-file: ( echo "PULSE_0 {" ; \ diff --git a/src/daemon/.gitignore b/src/daemon/.gitignore new file mode 100644 index 00000000..0efa55ba --- /dev/null +++ b/src/daemon/.gitignore @@ -0,0 +1,2 @@ +org.pulseaudio.policy +pulseaudio.desktop diff --git a/src/daemon/org.pulseaudio.policy b/src/daemon/org.pulseaudio.policy.in index 6cdeec68..1d0b6a7d 100644 --- a/src/daemon/org.pulseaudio.policy +++ b/src/daemon/org.pulseaudio.policy.in @@ -28,8 +28,8 @@ USA. <icon_name>audio-card</icon_name> <action id="org.pulseaudio.acquire-real-time"> - <description>Real-time scheduling for the PulseAudio daemon</description> - <message>System policy prevents PulseAudio from acquiring real-time scheduling.</message> + <_description>Real-time scheduling for the PulseAudio daemon</_description> + <_message>System policy prevents PulseAudio from acquiring real-time scheduling.</_message> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> @@ -38,8 +38,8 @@ USA. </action> <action id="org.pulseaudio.acquire-high-priority"> - <description>High-priority scheduling (negative Unix nice level) for the PulseAudio daemon</description> - <message>System policy prevents PulseAudio from acquiring high-priority scheduling.</message> + <_description>High-priority scheduling (negative Unix nice level) for the PulseAudio daemon</_description> + <_message>System policy prevents PulseAudio from acquiring high-priority scheduling.</_message> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> diff --git a/src/daemon/pulseaudio.desktop b/src/daemon/pulseaudio.desktop.in index 57a7a6e4..99bdbd00 100644 --- a/src/daemon/pulseaudio.desktop +++ b/src/daemon/pulseaudio.desktop.in @@ -1,8 +1,8 @@ [Desktop Entry] Version=1.0 Encoding=UTF-8 -Name=PulseAudio Sound System -Comment=Start the PulseAudio Sound System +_Name=PulseAudio Sound System +_Comment=Start the PulseAudio Sound System Exec=start-pulseaudio-x11 Terminal=false Type=Application diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index ef51f1db..dbd95b63 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -53,6 +53,8 @@ #include <pulsecore/rtclock.h> #include <pulsecore/time-smoother.h> +#include <modules/reserve-wrap.h> + #include "alsa-util.h" #include "alsa-sink.h" @@ -101,10 +103,75 @@ struct userdata { pa_smoother *smoother; uint64_t write_count; uint64_t since_start; + + pa_reserve_wrapper *reserve; + pa_hook_slot *reserve_slot; }; static void userdata_free(struct userdata *u); +static pa_hook_result_t reserve_cb(pa_reserve_wrapper *r, void *forced, struct userdata *u) { + pa_assert(r); + pa_assert(u); + + if (pa_sink_suspend(u->sink, TRUE) < 0) + return PA_HOOK_CANCEL; + + return PA_HOOK_OK; +} + +static void reserve_done(struct userdata *u) { + pa_assert(u); + + if (u->reserve_slot) { + pa_hook_slot_free(u->reserve_slot); + u->reserve_slot = NULL; + } + + if (u->reserve) { + pa_reserve_wrapper_unref(u->reserve); + u->reserve = NULL; + } +} + +static void reserve_update(struct userdata *u) { + const char *description; + pa_assert(u); + + if (!u->sink) + return; + + if ((description = pa_proplist_gets(u->sink->proplist, PA_PROP_DEVICE_DESCRIPTION))) + pa_reserve_wrapper_set_application_device_name(u->reserve, description); +} + +static int reserve_init(struct userdata *u, const char *dname) { + char *rname; + + pa_assert(u); + pa_assert(dname); + + if (u->reserve) + return 0; + + /* We are resuming, try to lock the device */ + if (!(rname = pa_alsa_get_reserve_name(dname))) + return 0; + + u->reserve = pa_reserve_wrapper_get(u->core, rname); + pa_xfree(rname); + + if (!(u->reserve)) + return -1; + + reserve_update(u); + + pa_assert(!u->reserve_slot); + u->reserve_slot = pa_hook_connect(pa_reserve_wrapper_hook(u->reserve), PA_HOOK_NORMAL, (pa_hook_cb_t) reserve_cb, u); + + return 0; +} + static void fix_min_sleep_wakeup(struct userdata *u) { size_t max_use, max_use_2; @@ -255,6 +322,7 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle pa_bool_t work_done = TRUE; pa_usec_t max_sleep_usec = 0, process_usec = 0; size_t left_to_play; + unsigned j = 0; pa_assert(u); pa_sink_assert_ref(u->sink); @@ -306,9 +374,12 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle if (polled) PA_ONCE_BEGIN { - pa_log(_("ALSA woke us up to write new data to the device, but there was actually nothing to write! " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers. " - "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail_update() returned 0.")); + char *dn = pa_alsa_get_driver_name_by_pcm(u->pcm_handle); + pa_log(_("ALSA woke us up to write new data to the device, but there was actually nothing to write!\n" + "Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n" + "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; #ifdef DEBUG_TIMING @@ -317,6 +388,15 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle break; } + + if (++j > 10) { +#ifdef DEBUG_TIMING + pa_log_debug("Not filling up, because already too many iterations."); +#endif + + break; + } + n_bytes -= u->hwbuf_unused; polled = FALSE; @@ -396,6 +476,7 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle pa_bool_t work_done = FALSE; pa_usec_t max_sleep_usec = 0, process_usec = 0; size_t left_to_play; + unsigned j = 0; pa_assert(u); pa_sink_assert_ref(u->sink); @@ -435,14 +516,25 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle if (polled) PA_ONCE_BEGIN { - pa_log(_("ALSA woke us up to write new data to the device, but there was actually nothing to write! " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers. " - "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail_update() returned 0.")); + char *dn = pa_alsa_get_driver_name_by_pcm(u->pcm_handle); + pa_log(_("ALSA woke us up to write new data to the device, but there was actually nothing to write!\n" + "Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n" + "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; break; } + if (++j > 10) { +#ifdef DEBUG_TIMING + pa_log_debug("Not filling up, because already too many iterations."); +#endif + + break; + } + n_bytes -= u->hwbuf_unused; polled = FALSE; @@ -516,7 +608,7 @@ static void update_smoother(struct userdata *u) { /* Let's update the time smoother */ - if (PA_UNLIKELY((err = snd_pcm_delay(u->pcm_handle, &delay)) < 0)) { + if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { pa_log_warn("Failed to query DSP status data: %s", snd_strerror(err)); return; } @@ -576,6 +668,7 @@ static int build_pollfd(struct userdata *u) { return 0; } +/* Called from IO context */ static int suspend(struct userdata *u) { pa_assert(u); pa_assert(u->pcm_handle); @@ -597,6 +690,7 @@ static int suspend(struct userdata *u) { return 0; } +/* Called from IO context */ static int update_sw_params(struct userdata *u) { snd_pcm_uframes_t avail_min; int err; @@ -652,6 +746,7 @@ static int update_sw_params(struct userdata *u) { return 0; } +/* Called from IO context */ static int unsuspend(struct userdata *u) { pa_sample_spec ss; int err; @@ -724,6 +819,7 @@ fail: return -1; } +/* Called from IO context */ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offset, pa_memchunk *chunk) { struct userdata *u = PA_SINK(o)->userdata; @@ -779,6 +875,25 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse return pa_sink_process_msg(o, code, data, offset, chunk); } +/* Called from main context */ +static int sink_set_state_cb(pa_sink *s, pa_sink_state_t new_state) { + pa_sink_state_t old_state; + struct userdata *u; + + pa_sink_assert_ref(s); + pa_assert_se(u = s->userdata); + + old_state = pa_sink_get_state(u->sink); + + if (PA_SINK_IS_OPENED(old_state) && new_state == PA_SINK_SUSPENDED) + reserve_done(u); + else if (old_state == PA_SINK_SUSPENDED && PA_SINK_IS_OPENED(new_state)) + if (reserve_init(u, u->device_name) < 0) + return -1; + + return 0; +} + static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { struct userdata *u = snd_mixer_elem_get_callback_private(elem); @@ -1443,6 +1558,11 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca pa_smoother_set_time_offset(u->smoother, usec); pa_smoother_pause(u->smoother, usec); + if (reserve_init(u, pa_modargs_get_value( + ma, "device_id", + pa_modargs_get_value(ma, "device", DEFAULT_DEVICE))) < 0) + goto fail; + b = use_mmap; d = use_tsched; @@ -1544,6 +1664,7 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca u->sink->parent.process_msg = sink_process_msg; u->sink->update_requested_latency = sink_update_requested_latency_cb; + u->sink->set_state = sink_set_state_cb; u->sink->userdata = u; pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq); @@ -1576,6 +1697,8 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca pa_log_info("Time scheduling watermark is %0.2fms", (double) pa_bytes_to_usec(u->tsched_watermark, &ss) / PA_USEC_PER_MSEC); + reserve_update(u); + if (update_sw_params(u) < 0) goto fail; @@ -1656,6 +1779,8 @@ static void userdata_free(struct userdata *u) { if (u->smoother) pa_smoother_free(u->smoother); + reserve_done(u); + pa_xfree(u->device_name); pa_xfree(u); } diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index fbc21f74..39df4a91 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -54,6 +54,8 @@ #include <pulsecore/time-smoother.h> #include <pulsecore/rtclock.h> +#include <modules/reserve-wrap.h> + #include "alsa-util.h" #include "alsa-source.h" @@ -99,10 +101,75 @@ struct userdata { pa_smoother *smoother; uint64_t read_count; + + pa_reserve_wrapper *reserve; + pa_hook_slot *reserve_slot; }; static void userdata_free(struct userdata *u); +static pa_hook_result_t reserve_cb(pa_reserve_wrapper *r, void *forced, struct userdata *u) { + pa_assert(r); + pa_assert(u); + + if (pa_source_suspend(u->source, TRUE) < 0) + return PA_HOOK_CANCEL; + + return PA_HOOK_OK; +} + +static void reserve_done(struct userdata *u) { + pa_assert(u); + + if (u->reserve_slot) { + pa_hook_slot_free(u->reserve_slot); + u->reserve_slot = NULL; + } + + if (u->reserve) { + pa_reserve_wrapper_unref(u->reserve); + u->reserve = NULL; + } +} + +static void reserve_update(struct userdata *u) { + const char *description; + pa_assert(u); + + if (!u->source) + return; + + if ((description = pa_proplist_gets(u->source->proplist, PA_PROP_DEVICE_DESCRIPTION))) + pa_reserve_wrapper_set_application_device_name(u->reserve, description); +} + +static int reserve_init(struct userdata *u, const char *dname) { + char *rname; + + pa_assert(u); + pa_assert(dname); + + if (u->reserve) + return 0; + + /* We are resuming, try to lock the device */ + if (!(rname = pa_alsa_get_reserve_name(dname))) + return 0; + + u->reserve = pa_reserve_wrapper_get(u->core, rname); + pa_xfree(rname); + + if (!(u->reserve)) + return -1; + + reserve_update(u); + + pa_assert(!u->reserve_slot); + u->reserve_slot = pa_hook_connect(pa_reserve_wrapper_hook(u->reserve), PA_HOOK_NORMAL, (pa_hook_cb_t) reserve_cb, u); + + return 0; +} + static void fix_min_sleep_wakeup(struct userdata *u) { size_t max_use, max_use_2; pa_assert(u); @@ -248,6 +315,7 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled pa_bool_t work_done = FALSE; pa_usec_t max_sleep_usec = 0, process_usec = 0; size_t left_to_record; + unsigned j = 0; pa_assert(u); pa_source_assert_ref(u->source); @@ -289,9 +357,12 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled if (polled) PA_ONCE_BEGIN { - pa_log(_("ALSA woke us up to read new data from the device, but there was actually nothing to read! " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers. " - "We were woken up with POLLIN set -- however a subsequent snd_pcm_avail_update() returned 0.")); + char *dn = pa_alsa_get_driver_name_by_pcm(u->pcm_handle); + pa_log(_("ALSA woke us up to read new data from the device, but there was actually nothing to read!\n" + "Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n" + "We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; #ifdef DEBUG_TIMING @@ -300,6 +371,14 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled break; } + if (++j > 10) { +#ifdef DEBUG_TIMING + pa_log_debug("Not filling up, because already too many iterations."); +#endif + + break; + } + polled = FALSE; #ifdef DEBUG_TIMING @@ -378,6 +457,7 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled int work_done = FALSE; pa_usec_t max_sleep_usec = 0, process_usec = 0; size_t left_to_record; + unsigned j = 0; pa_assert(u); pa_source_assert_ref(u->source); @@ -410,14 +490,25 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled if (polled) PA_ONCE_BEGIN { - pa_log(_("ALSA woke us up to read new data from the device, but there was actually nothing to read! " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers. " - "We were woken up with POLLIN set -- however a subsequent snd_pcm_avail_update() returned 0.")); + char *dn = pa_alsa_get_driver_name_by_pcm(u->pcm_handle); + pa_log(_("ALSA woke us up to read new data from the device, but there was actually nothing to read!\n" + "Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers.\n" + "We were woken up with POLLIN set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail."), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; break; } + if (++j > 10) { +#ifdef DEBUG_TIMING + pa_log_debug("Not filling up, because already too many iterations."); +#endif + + break; + } + polled = FALSE; for (;;) { @@ -486,7 +577,7 @@ static void update_smoother(struct userdata *u) { /* Let's update the time smoother */ - if (PA_UNLIKELY((err = snd_pcm_delay(u->pcm_handle, &delay)) < 0)) { + if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->source->sample_spec)) < 0)) { pa_log_warn("Failed to get delay: %s", snd_strerror(err)); return; } @@ -741,6 +832,25 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off return pa_source_process_msg(o, code, data, offset, chunk); } +/* Called from main context */ +static int source_set_state_cb(pa_source *s, pa_source_state_t new_state) { + pa_source_state_t old_state; + struct userdata *u; + + pa_source_assert_ref(s); + pa_assert_se(u = s->userdata); + + old_state = pa_source_get_state(u->source); + + if (PA_SINK_IS_OPENED(old_state) && new_state == PA_SINK_SUSPENDED) + reserve_done(u); + else if (old_state == PA_SINK_SUSPENDED && PA_SINK_IS_OPENED(new_state)) + if (reserve_init(u, u->device_name) < 0) + return -1; + + return 0; +} + static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { struct userdata *u = snd_mixer_elem_get_callback_private(elem); @@ -1292,6 +1402,11 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p u->smoother = pa_smoother_new(DEFAULT_TSCHED_WATERMARK_USEC*2, DEFAULT_TSCHED_WATERMARK_USEC*2, TRUE, 5); pa_smoother_set_time_offset(u->smoother, pa_rtclock_usec()); + if (reserve_init(u, pa_modargs_get_value( + ma, "device_id", + pa_modargs_get_value(ma, "device", DEFAULT_DEVICE))) < 0) + goto fail; + b = use_mmap; d = use_tsched; @@ -1390,6 +1505,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p u->source->parent.process_msg = source_process_msg; u->source->update_requested_latency = source_update_requested_latency_cb; + u->source->set_state = source_set_state_cb; u->source->userdata = u; pa_source_set_asyncmsgq(u->source, u->thread_mq.inq); @@ -1419,6 +1535,8 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p pa_log_info("Time scheduling watermark is %0.2fms", (double) pa_bytes_to_usec(u->tsched_watermark, &ss) / PA_USEC_PER_MSEC); + reserve_update(u); + if (update_sw_params(u) < 0) goto fail; @@ -1495,6 +1613,8 @@ static void userdata_free(struct userdata *u) { if (u->smoother) pa_smoother_free(u->smoother); + reserve_done(u); + pa_xfree(u->device_name); pa_xfree(u); } diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c index 016e52ab..6740c069 100644 --- a/src/modules/alsa/alsa-util.c +++ b/src/modules/alsa/alsa-util.c @@ -1448,9 +1448,9 @@ void pa_alsa_init_proplist_pcm_info(pa_core *c, pa_proplist *p, snd_pcm_info_t * cn = pa_proplist_gets(p, "alsa.card_name"); } - if (cn && n) - pa_proplist_setf(p, PA_PROP_DEVICE_DESCRIPTION, "%s - %s", cn, n); - else if (cn) + if (cn && n && !strstr(cn, n) && !strstr(n, cn)) + pa_proplist_setf(p, PA_PROP_DEVICE_DESCRIPTION, "%s, %s", cn, n); + else if (cn && (!n || strstr(cn, n))) pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, cn); else if (n) pa_proplist_sets(p, PA_PROP_DEVICE_DESCRIPTION, n); @@ -1574,18 +1574,70 @@ snd_pcm_sframes_t pa_alsa_safe_avail(snd_pcm_t *pcm, size_t hwbuf_size, const pa k = (size_t) n * pa_frame_size(ss); - if (k >= hwbuf_size * 3 || - k >= pa_bytes_per_second(ss)*10) + if (k >= hwbuf_size * 5 || + k >= pa_bytes_per_second(ss)*10) { PA_ONCE_BEGIN { - pa_log(_("snd_pcm_avail_update() returned a value that is exceptionally large: %lu bytes (%lu ms). " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers."), - (unsigned long) k, (unsigned long) (pa_bytes_to_usec(k, ss) / PA_USEC_PER_MSEC)); + char *dn = pa_alsa_get_driver_name_by_pcm(pcm); + pa_log(_("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."), + (unsigned long) k, + (unsigned long) (pa_bytes_to_usec(k, ss) / PA_USEC_PER_MSEC), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; + /* Mhmm, let's try not to fail completely */ + n = (snd_pcm_sframes_t) (hwbuf_size / pa_frame_size(ss)); + } + return n; } +int pa_alsa_safe_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delay, size_t hwbuf_size, const pa_sample_spec *ss) { + ssize_t k; + size_t abs_k; + int r; + + pa_assert(pcm); + pa_assert(delay); + pa_assert(hwbuf_size > 0); + pa_assert(ss); + + /* Some ALSA driver expose weird bugs, let's inform the user about + * what is going on */ + + if ((r = snd_pcm_delay(pcm, delay)) < 0) + return r; + + k = (ssize_t) *delay * (ssize_t) pa_frame_size(ss); + + abs_k = k >= 0 ? (size_t) k : (size_t) -k; + + if (abs_k >= hwbuf_size * 5 || + abs_k >= pa_bytes_per_second(ss)*10) { + + PA_ONCE_BEGIN { + char *dn = pa_alsa_get_driver_name_by_pcm(pcm); + pa_log(_("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."), + (signed long) k, + k < 0 ? "-" : "", + (unsigned long) (pa_bytes_to_usec(abs_k, ss) / PA_USEC_PER_MSEC), + pa_strnull(dn)); + pa_xfree(dn); + } PA_ONCE_END; + + /* Mhmm, let's try not to fail completely */ + if (k < 0) + *delay = -(snd_pcm_sframes_t) (hwbuf_size / pa_frame_size(ss)); + else + *delay = (snd_pcm_sframes_t) (hwbuf_size / pa_frame_size(ss)); + } + + return 0; +} + int pa_alsa_safe_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames, size_t hwbuf_size, const pa_sample_spec *ss) { int r; snd_pcm_uframes_t before; @@ -1612,9 +1664,13 @@ int pa_alsa_safe_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas k >= pa_bytes_per_second(ss)*10) PA_ONCE_BEGIN { - pa_log(_("snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms). " - "Most likely this is an ALSA driver bug. Please report this issue to the ALSA developers."), - (unsigned long) k, (unsigned long) (pa_bytes_to_usec(k, ss) / PA_USEC_PER_MSEC)); + char *dn = pa_alsa_get_driver_name_by_pcm(pcm); + pa_log(_("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."), + (unsigned long) k, + (unsigned long) (pa_bytes_to_usec(k, ss) / PA_USEC_PER_MSEC), + pa_strnull(dn)); + pa_xfree(dn); } PA_ONCE_END; return r; @@ -1637,3 +1693,39 @@ char *pa_alsa_get_driver_name(int card) { return n; } + +char *pa_alsa_get_driver_name_by_pcm(snd_pcm_t *pcm) { + int card; + + snd_pcm_info_t* info; + snd_pcm_info_alloca(&info); + + if (snd_pcm_info(pcm, info) < 0) + return NULL; + + if ((card = snd_pcm_info_get_card(info)) < 0) + return NULL; + + return pa_alsa_get_driver_name(card); +} + +char *pa_alsa_get_reserve_name(const char *device) { + const char *t; + int i; + + pa_assert(device); + + if ((t = strchr(device, ':'))) + device = t+1; + + if ((i = snd_card_get_index(device)) < 0) { + int32_t k; + + if (pa_atoi(device, &k) < 0) + return NULL; + + i = (int) k; + } + + return pa_sprintf_malloc("Audio%i", i); +} diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h index 2d0f407e..899532e2 100644 --- a/src/modules/alsa/alsa-util.h +++ b/src/modules/alsa/alsa-util.h @@ -129,8 +129,13 @@ int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents); pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll); snd_pcm_sframes_t pa_alsa_safe_avail(snd_pcm_t *pcm, size_t hwbuf_size, const pa_sample_spec *ss); +int pa_alsa_safe_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delay, size_t hwbuf_size, const pa_sample_spec *ss); int pa_alsa_safe_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames, size_t hwbuf_size, const pa_sample_spec *ss); char *pa_alsa_get_driver_name(int card); +char *pa_alsa_get_driver_name_by_pcm(snd_pcm_t *pcm); + +char *pa_alsa_get_reserve_name(const char *device); + #endif diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c index c9494355..fc6b886b 100644 --- a/src/modules/alsa/module-alsa-card.c +++ b/src/modules/alsa/module-alsa-card.c @@ -30,6 +30,8 @@ #include <pulsecore/modargs.h> #include <pulsecore/queue.h> +#include <modules/reserve-wrap.h> + #include "alsa-util.h" #include "alsa-sink.h" #include "alsa-source.h" @@ -273,11 +275,14 @@ static void set_card_name(pa_card_new_data *data, pa_modargs *ma, const char *de pa_xfree(t); } -int pa__init(pa_module*m) { +int pa__init(pa_module *m) { pa_card_new_data data; pa_modargs *ma; int alsa_card_index; struct userdata *u; + char rname[32]; + pa_reserve_wrapper *reserve = NULL; + const char *description; pa_alsa_redirect_errors_inc(); snd_config_update_free_global(); @@ -303,6 +308,11 @@ int pa__init(pa_module*m) { goto fail; } + pa_snprintf(rname, sizeof(rname), "Audio%i", alsa_card_index); + + if (!(reserve = pa_reserve_wrapper_get(m->core, rname))) + goto fail; + pa_card_new_data_init(&data); data.driver = __FILE__; data.module = m; @@ -310,6 +320,10 @@ int pa__init(pa_module*m) { pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, u->device_id); set_card_name(&data, ma, u->device_id); + if (reserve) + if ((description = pa_proplist_gets(data.proplist, PA_PROP_DEVICE_DESCRIPTION))) + pa_reserve_wrapper_set_application_device_name(reserve, description); + u->profiles = data.profiles = pa_hashmap_new(pa_idxset_string_hash_func, pa_idxset_string_compare_func); if (pa_alsa_probe_profiles(u->device_id, &m->core->default_sample_spec, enumerate_cb, u) < 0) { pa_card_new_data_done(&data); @@ -335,11 +349,16 @@ int pa__init(pa_module*m) { init_profile(u); + pa_reserve_wrapper_unref(reserve); + return 0; fail: + if (reserve) + pa_reserve_wrapper_unref(reserve); pa__done(m); + return -1; } diff --git a/src/modules/module-raop-discover.c b/src/modules/module-raop-discover.c index 3706d921..df393151 100644 --- a/src/modules/module-raop-discover.c +++ b/src/modules/module-raop-discover.c @@ -53,7 +53,7 @@ #include "module-raop-discover-symdef.h" PA_MODULE_AUTHOR("Colin Guthrie"); -PA_MODULE_DESCRIPTION("mDNS/DNS-SD Service Discovery of Airtunes"); +PA_MODULE_DESCRIPTION("mDNS/DNS-SD Service Discovery of RAOP devices"); PA_MODULE_VERSION(PACKAGE_VERSION); PA_MODULE_LOAD_ONCE(TRUE); @@ -172,9 +172,9 @@ static void resolver_cb( } if (device) - dname = pa_sprintf_malloc("airtunes.%s.%s", host_name, device); + dname = pa_sprintf_malloc("raop.%s.%s", host_name, device); else - dname = pa_sprintf_malloc("airtunes.%s", host_name); + dname = pa_sprintf_malloc("raop.%s", host_name); if (!(vname = pa_namereg_make_valid_name(dname))) { pa_log("Cannot construct valid device name from '%s'.", dname); diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c index 1784b2cc..da338f5d 100644 --- a/src/modules/module-raop-sink.c +++ b/src/modules/module-raop-sink.c @@ -67,7 +67,7 @@ #include "raop_client.h" PA_MODULE_AUTHOR("Colin Guthrie"); -PA_MODULE_DESCRIPTION("RAOP Sink (Apple Airtunes)"); +PA_MODULE_DESCRIPTION("RAOP Sink"); PA_MODULE_VERSION(PACKAGE_VERSION); PA_MODULE_LOAD_ONCE(FALSE); PA_MODULE_USAGE( @@ -77,7 +77,7 @@ PA_MODULE_USAGE( "channels=<number of channels> " "rate=<sample rate>"); -#define DEFAULT_SINK_NAME "airtunes" +#define DEFAULT_SINK_NAME "raop" struct userdata { pa_core *core; @@ -564,7 +564,7 @@ int pa__init(pa_module*m) { pa_sink_new_data_set_name(&data, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME)); pa_sink_new_data_set_sample_spec(&data, &ss); pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, server); - pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Airtunes sink '%s'", server); + pa_proplist_setf(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "RAOP sink '%s'", server); u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY|PA_SINK_NETWORK); pa_sink_new_data_done(&data); diff --git a/src/modules/reserve-wrap.c b/src/modules/reserve-wrap.c new file mode 100644 index 00000000..709cb060 --- /dev/null +++ b/src/modules/reserve-wrap.c @@ -0,0 +1,168 @@ +/*** + 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 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 <pulse/xmalloc.h> +#include <pulse/i18n.h> + +#include <pulsecore/core-error.h> +#include <pulsecore/core-util.h> +#include <pulsecore/shared.h> + +#include <modules/dbus-util.h> + +#include "reserve.h" +#include "reserve-wrap.h" + +struct pa_reserve_wrapper { + PA_REFCNT_DECLARE; + pa_core *core; + pa_dbus_connection *connection; + pa_hook hook; + struct rd_device *device; + char *shared_name; +}; + +static void reserve_wrapper_free(pa_reserve_wrapper *r) { + pa_assert(r); + + if (r->device) + rd_release(r->device); + + pa_hook_done(&r->hook); + + if (r->connection) + pa_dbus_connection_unref(r->connection); + + if (r->shared_name) { + pa_assert_se(pa_shared_remove(r->core, r->shared_name) >= 0); + pa_xfree(r->shared_name); + } + + pa_xfree(r); +} + +static int request_cb(rd_device *d, int forced) { + pa_reserve_wrapper *r; + int k; + + pa_assert(d); + pa_assert_se(r = rd_get_userdata(d)); + pa_assert(PA_REFCNT_VALUE(r) >= 1); + + PA_REFCNT_INC(r); + + k = pa_hook_fire(&r->hook, PA_INT_TO_PTR(forced)); + pa_log_debug("Device unlock has been requested and %s.", k < 0 ? "failed" : "succeeded"); + + pa_reserve_wrapper_unref(r); + + return k < 0 ? -1 : 1; +} + +pa_reserve_wrapper* pa_reserve_wrapper_get(pa_core *c, const char *device_name) { + pa_reserve_wrapper *r; + DBusError error; + int k; + char *t; + + dbus_error_init(&error); + + pa_assert(c); + pa_assert(device_name); + + t = pa_sprintf_malloc("reserve-wrapper@%s", device_name); + + if ((r = pa_shared_get(c, t))) { + pa_xfree(t); + + pa_assert(PA_REFCNT_VALUE(r) >= 1); + PA_REFCNT_INC(r); + + return r; + } + + r = pa_xnew0(pa_reserve_wrapper, 1); + PA_REFCNT_INIT(r); + r->core = c; + pa_hook_init(&r->hook, r); + r->shared_name = t; + + pa_assert_se(pa_shared_set(c, r->shared_name, r) >= 0); + + if (!(r->connection = pa_dbus_bus_get(c, DBUS_BUS_SESSION, &error)) || dbus_error_is_set(&error)) { + pa_log_error("Unable to contact D-Bus session bus: %s: %s", error.name, error.message); + goto fail; + } + + if ((k = rd_acquire( + &r->device, + pa_dbus_connection_get(r->connection), + device_name, + _("PulseAudio Sound Server"), + 0, + request_cb, + NULL)) < 0) { + + pa_log_error("Failed to acquire reservation lock on device '%s': %s", device_name, pa_cstrerror(-k)); + goto fail; + } + + pa_log_debug("Successfully acquired reservation lock on device '%s'", device_name); + + rd_set_userdata(r->device, r); + + return r; + +fail: + dbus_error_free(&error); + + reserve_wrapper_free(r); + + return NULL; +} + +void pa_reserve_wrapper_unref(pa_reserve_wrapper *r) { + pa_assert(r); + pa_assert(PA_REFCNT_VALUE(r) >= 1); + + if (PA_REFCNT_DEC(r) > 0) + return; + + reserve_wrapper_free(r); +} + +pa_hook* pa_reserve_wrapper_hook(pa_reserve_wrapper *r) { + pa_assert(r); + pa_assert(PA_REFCNT_VALUE(r) >= 1); + + return &r->hook; +} + +void pa_reserve_wrapper_set_application_device_name(pa_reserve_wrapper *r, const char *name) { + pa_assert(r); + pa_assert(PA_REFCNT_VALUE(r) >= 1); + + rd_set_application_device_name(r->device, name); +} diff --git a/src/modules/reserve-wrap.h b/src/modules/reserve-wrap.h new file mode 100644 index 00000000..4625fe68 --- /dev/null +++ b/src/modules/reserve-wrap.h @@ -0,0 +1,38 @@ +#ifndef fooreservewraphfoo +#define fooreservewraphfoo + +/*** + 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 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. +***/ + +#include <pulsecore/core.h> +#include <pulsecore/hook-list.h> + +typedef struct pa_reserve_wrapper pa_reserve_wrapper; + +pa_reserve_wrapper* pa_reserve_wrapper_get(pa_core *c, const char *device_name); + +void pa_reserve_wrapper_unref(pa_reserve_wrapper *r); + +pa_hook* pa_reserve_wrapper_hook(pa_reserve_wrapper *r); + +void pa_reserve_wrapper_set_application_device_name(pa_reserve_wrapper *r, const char *name); + +#endif diff --git a/src/modules/reserve.c b/src/modules/reserve.c new file mode 100644 index 00000000..9a9591d2 --- /dev/null +++ b/src/modules/reserve.c @@ -0,0 +1,635 @@ +/*** + Copyright 2009 Lennart Poettering + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +***/ + +#include <string.h> +#include <unistd.h> +#include <errno.h> +#include <stdlib.h> +#include <stdio.h> +#include <assert.h> + +#include "reserve.h" + +struct rd_device { + int ref; + + char *device_name; + char *application_name; + char *application_device_name; + char *service_name; + char *object_path; + int32_t priority; + + DBusConnection *connection; + + int owning:1; + int registered:1; + int filtering:1; + int gave_up:1; + + rd_request_cb_t request_cb; + void *userdata; +}; + + +#define SERVICE_PREFIX "org.freedesktop.ReserveDevice1." +#define OBJECT_PREFIX "/org/freedesktop/ReserveDevice1/" + +static const char introspection[] = + DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE + "<node>" + " <!-- If you are looking for documentation make sure to check out\n" + " http://git.0pointer.de/?p=reserve.git;a=blob;f=reserve.txt -->\n" + " <interface name=\"org.freedesktop.ReserveDevice1\">" + " <method name=\"RequestRelease\">" + " <arg name=\"priority\" type=\"i\" direction=\"in\"/>" + " <arg name=\"result\" type=\"b\" direction=\"out\"/>" + " </method>" + " <property name=\"Priority\" type=\"i\" access=\"read\"/>" + " <property name=\"ApplicationName\" type=\"s\" access=\"read\"/>" + " <property name=\"ApplicationDeviceName\" type=\"s\" access=\"read\"/>" + " </interface>" + " <interface name=\"org.freedesktop.DBus.Properties\">" + " <method name=\"Get\">" + " <arg name=\"interface\" direction=\"in\" type=\"s\"/>" + " <arg name=\"property\" direction=\"in\" type=\"s\"/>" + " <arg name=\"value\" direction=\"out\" type=\"v\"/>" + " </method>" + " </interface>" + " <interface name=\"org.freedesktop.DBus.Introspectable\">" + " <method name=\"Introspect\">" + " <arg name=\"data\" type=\"s\" direction=\"out\"/>" + " </method>" + " </interface>" + "</node>"; + +static dbus_bool_t add_variant( + DBusMessage *m, + int type, + const void *data) { + + DBusMessageIter iter, sub; + char t[2]; + + t[0] = (char) type; + t[1] = 0; + + dbus_message_iter_init_append(m, &iter); + + if (!dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT, t, &sub)) + return FALSE; + + if (!dbus_message_iter_append_basic(&sub, type, data)) + return FALSE; + + if (!dbus_message_iter_close_container(&iter, &sub)) + return FALSE; + + return TRUE; +} + +static DBusHandlerResult object_handler( + DBusConnection *c, + DBusMessage *m, + void *userdata) { + + rd_device *d; + DBusError error; + DBusMessage *reply = NULL; + + dbus_error_init(&error); + + d = userdata; + assert(d->ref >= 1); + + if (dbus_message_is_method_call( + m, + "org.freedesktop.ReserveDevice1", + "RequestRelease")) { + + int32_t priority; + dbus_bool_t ret; + + if (!dbus_message_get_args( + m, + &error, + DBUS_TYPE_INT32, &priority, + DBUS_TYPE_INVALID)) + goto invalid; + + ret = FALSE; + + if (priority > d->priority && d->request_cb) { + d->ref++; + + if (d->request_cb(d, 0) > 0) { + ret = TRUE; + d->gave_up = 1; + } + + rd_release(d); + } + + if (!(reply = dbus_message_new_method_return(m))) + goto oom; + + if (!dbus_message_append_args( + reply, + DBUS_TYPE_BOOLEAN, &ret, + DBUS_TYPE_INVALID)) + goto oom; + + if (!dbus_connection_send(c, reply, NULL)) + goto oom; + + dbus_message_unref(reply); + + return DBUS_HANDLER_RESULT_HANDLED; + + } else if (dbus_message_is_method_call( + m, + "org.freedesktop.DBus.Properties", + "Get")) { + + const char *interface, *property; + + if (!dbus_message_get_args( + m, + &error, + DBUS_TYPE_STRING, &interface, + DBUS_TYPE_STRING, &property, + DBUS_TYPE_INVALID)) + goto invalid; + + if (strcmp(interface, "org.freedesktop.ReserveDevice1") == 0) { + const char *empty = ""; + + if (strcmp(property, "ApplicationName") == 0 && d->application_name) { + if (!(reply = dbus_message_new_method_return(m))) + goto oom; + + if (!add_variant( + reply, + DBUS_TYPE_STRING, + d->application_name ? (const char**) &d->application_name : &empty)) + goto oom; + + } else if (strcmp(property, "ApplicationDeviceName") == 0) { + if (!(reply = dbus_message_new_method_return(m))) + goto oom; + + if (!add_variant( + reply, + DBUS_TYPE_STRING, + d->application_device_name ? (const char**) &d->application_device_name : &empty)) + goto oom; + + } else if (strcmp(property, "Priority") == 0) { + if (!(reply = dbus_message_new_method_return(m))) + goto oom; + + if (!add_variant( + reply, + DBUS_TYPE_INT32, + &d->priority)) + goto oom; + } else { + if (!(reply = dbus_message_new_error_printf( + m, + DBUS_ERROR_UNKNOWN_METHOD, + "Unknown property %s", + property))) + goto oom; + } + + if (!dbus_connection_send(c, reply, NULL)) + goto oom; + + dbus_message_unref(reply); + + return DBUS_HANDLER_RESULT_HANDLED; + } + + } else if (dbus_message_is_method_call( + m, + "org.freedesktop.DBus.Introspectable", + "Introspect")) { + const char *i = introspection; + + if (!(reply = dbus_message_new_method_return(m))) + goto oom; + + if (!dbus_message_append_args( + reply, + DBUS_TYPE_STRING, + &i, + DBUS_TYPE_INVALID)) + goto oom; + + if (!dbus_connection_send(c, reply, NULL)) + goto oom; + + dbus_message_unref(reply); + + return DBUS_HANDLER_RESULT_HANDLED; + } + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + +invalid: + if (reply) + dbus_message_unref(reply); + + if (!(reply = dbus_message_new_error( + m, + DBUS_ERROR_INVALID_ARGS, + "Invalid arguments"))) + goto oom; + + if (!dbus_connection_send(c, reply, NULL)) + goto oom; + + dbus_message_unref(reply); + + dbus_error_free(&error); + + return DBUS_HANDLER_RESULT_HANDLED; + +oom: + if (reply) + dbus_message_unref(reply); + + dbus_error_free(&error); + + return DBUS_HANDLER_RESULT_NEED_MEMORY; +} + +static DBusHandlerResult filter_handler( + DBusConnection *c, + DBusMessage *m, + void *userdata) { + + DBusMessage *reply; + rd_device *d; + DBusError error; + + dbus_error_init(&error); + + d = userdata; + + if (dbus_message_is_signal(m, "org.freedesktop.DBus", "NameLost")) { + const char *name; + + if (!dbus_message_get_args( + m, + &error, + DBUS_TYPE_STRING, &name, + DBUS_TYPE_INVALID)) + goto invalid; + + if (strcmp(name, d->service_name) == 0 && d->owning) { + d->owning = 0; + + if (!d->gave_up) { + d->ref++; + + if (d->request_cb) + d->request_cb(d, 1); + d->gave_up = 1; + + rd_release(d); + } + + return DBUS_HANDLER_RESULT_HANDLED; + } + } + + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + +invalid: + if (!(reply = dbus_message_new_error( + m, + DBUS_ERROR_INVALID_ARGS, + "Invalid arguments"))) + goto oom; + + if (!dbus_connection_send(c, reply, NULL)) + goto oom; + + dbus_message_unref(reply); + + dbus_error_free(&error); + + return DBUS_HANDLER_RESULT_HANDLED; + +oom: + if (reply) + dbus_message_unref(reply); + + dbus_error_free(&error); + + return DBUS_HANDLER_RESULT_NEED_MEMORY; +} + + +static const struct DBusObjectPathVTable vtable ={ + .message_function = object_handler +}; + +int rd_acquire( + rd_device **_d, + DBusConnection *connection, + const char *device_name, + const char *application_name, + int32_t priority, + rd_request_cb_t request_cb, + DBusError *error) { + + rd_device *d = NULL; + int r, k; + DBusError _error; + DBusMessage *m = NULL, *reply = NULL; + dbus_bool_t good; + + if (!error) + error = &_error; + + dbus_error_init(error); + + if (!_d) + return -EINVAL; + + if (!connection) + return -EINVAL; + + if (!device_name) + return -EINVAL; + + if (!request_cb && priority != INT32_MAX) + return -EINVAL; + + if (!(d = calloc(sizeof(rd_device), 1))) + return -ENOMEM; + + d->ref = 1; + + if (!(d->device_name = strdup(device_name))) { + r = -ENOMEM; + goto fail; + } + + if (!(d->application_name = strdup(application_name))) { + r = -ENOMEM; + goto fail; + } + + d->priority = priority; + d->connection = dbus_connection_ref(connection); + d->request_cb = request_cb; + + if (!(d->service_name = malloc(sizeof(SERVICE_PREFIX) + strlen(device_name)))) { + r = -ENOMEM; + goto fail; + } + sprintf(d->service_name, SERVICE_PREFIX "%s", d->device_name); + + if (!(d->object_path = malloc(sizeof(OBJECT_PREFIX) + strlen(device_name)))) { + r = -ENOMEM; + goto fail; + } + sprintf(d->object_path, OBJECT_PREFIX "%s", d->device_name); + + if ((k = dbus_bus_request_name( + d->connection, + d->service_name, + DBUS_NAME_FLAG_DO_NOT_QUEUE| + (priority < INT32_MAX ? DBUS_NAME_FLAG_ALLOW_REPLACEMENT : 0), + error)) < 0) { + r = -EIO; + goto fail; + } + + if (k == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) + goto success; + + if (k != DBUS_REQUEST_NAME_REPLY_EXISTS) { + r = -EIO; + goto fail; + } + + if (priority <= INT32_MIN) { + r = -EBUSY; + goto fail; + } + + if (!(m = dbus_message_new_method_call( + d->service_name, + d->object_path, + "org.freedesktop.ReserveDevice1", + "RequestRelease"))) { + r = -ENOMEM; + goto fail; + } + + if (!dbus_message_append_args( + m, + DBUS_TYPE_INT32, &d->priority, + DBUS_TYPE_INVALID)) { + r = -ENOMEM; + goto fail; + } + + if (!(reply = dbus_connection_send_with_reply_and_block( + d->connection, + m, + 5000, /* 5s */ + error))) { + + if (dbus_error_has_name(error, DBUS_ERROR_TIMED_OUT) || + dbus_error_has_name(error, DBUS_ERROR_UNKNOWN_METHOD) || + dbus_error_has_name(error, DBUS_ERROR_NO_REPLY)) { + /* This must be treated as denied. */ + r = -EBUSY; + goto fail; + } + + r = -EIO; + goto fail; + } + + if (!dbus_message_get_args( + reply, + error, + DBUS_TYPE_BOOLEAN, &good, + DBUS_TYPE_INVALID)) { + r = -EIO; + goto fail; + } + + if (!good) { + r = -EBUSY; + goto fail; + } + + if ((k = dbus_bus_request_name( + d->connection, + d->service_name, + DBUS_NAME_FLAG_DO_NOT_QUEUE| + (priority < INT32_MAX ? DBUS_NAME_FLAG_ALLOW_REPLACEMENT : 0)| + DBUS_NAME_FLAG_REPLACE_EXISTING, + error)) < 0) { + r = -EIO; + goto fail; + } + + if (k != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + r = -EIO; + goto fail; + } + +success: + d->owning = 1; + + if (!(dbus_connection_register_object_path( + d->connection, + d->object_path, + &vtable, + d))) { + r = -ENOMEM; + goto fail; + } + + d->registered = 1; + + if (!dbus_connection_add_filter( + d->connection, + filter_handler, + d, + NULL)) { + r = -ENOMEM; + goto fail; + } + + d->filtering = 1; + + *_d = d; + return 0; + +fail: + if (m) + dbus_message_unref(m); + + if (reply) + dbus_message_unref(reply); + + if (&_error == error) + dbus_error_free(&_error); + + if (d) + rd_release(d); + + return r; +} + +void rd_release( + rd_device *d) { + + if (!d) + return; + + assert(d->ref > 0); + + if (--d->ref) + return; + + + if (d->filtering) + dbus_connection_remove_filter( + d->connection, + filter_handler, + d); + + if (d->registered) + dbus_connection_unregister_object_path( + d->connection, + d->object_path); + + if (d->owning) { + DBusError error; + dbus_error_init(&error); + + dbus_bus_release_name( + d->connection, + d->service_name, + &error); + + dbus_error_free(&error); + } + + free(d->device_name); + free(d->application_name); + free(d->application_device_name); + free(d->service_name); + free(d->object_path); + + if (d->connection) + dbus_connection_unref(d->connection); + + free(d); +} + +int rd_set_application_device_name(rd_device *d, const char *n) { + char *t; + + if (!d) + return -EINVAL; + + assert(d->ref > 0); + + if (!(t = strdup(n))) + return -ENOMEM; + + free(d->application_device_name); + d->application_device_name = t; + return 0; +} + +void rd_set_userdata(rd_device *d, void *userdata) { + + if (!d) + return; + + assert(d->ref > 0); + d->userdata = userdata; +} + +void* rd_get_userdata(rd_device *d) { + + if (!d) + return NULL; + + assert(d->ref > 0); + + return d->userdata; +} diff --git a/src/modules/reserve.h b/src/modules/reserve.h new file mode 100644 index 00000000..ceb1ad11 --- /dev/null +++ b/src/modules/reserve.h @@ -0,0 +1,68 @@ +#ifndef fooreservehfoo +#define fooreservehfoo + +/*** + Copyright 2009 Lennart Poettering + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +***/ + +#include <dbus/dbus.h> +#include <inttypes.h> + +typedef struct rd_device rd_device; + +/* Prototype for a function that is called whenever someone else wants + * your app to release the device you having locked. A return value <= + * 0 denies the request, a positive return value agrees to it. Before + * returning your application should close the device in question + * completely to make sure the new application may acceess it. */ +typedef int (*rd_request_cb_t)( + rd_device *d, + int forced); /* Non-zero if an application forcibly took the lock away without asking. If this is the case then the return value of this call is ignored. */ + +/* Try to lock the device. Returns 0 on success, a negative errno + * style return value on error. The DBus error might be set as well if + * the error was caused D-Bus. */ +int rd_acquire( + rd_device **d, /* On success a pointer to the newly allocated rd_device object will be filled in here */ + DBusConnection *connection, + const char *device_name, /* The device to lock, e.g. "Audio0" */ + const char *application_name, /* A human readable name of the application, e.g. "PulseAudio Sound Server" */ + int32_t priority, /* The priority for this application. If unsure use 0 */ + rd_request_cb_t request_cb, /* Will be called whenever someone asks that this device shall be released. May be NULL if priority is INT32_MAX */ + DBusError *error); /* If we fail due to a D-Bus related issue the error will be filled in here. May be NULL. */ + +/* Unlock (if needed) and destroy a rd_device object again */ +void rd_release(rd_device *d); + +/* Set the application device name for a rd_device object Returns 0 on + * success, a negative errno style return value on error. */ +int rd_set_application_device_name(rd_device *d, const char *name); + +/* Attach a userdata pointer to a rd_device */ +void rd_set_userdata(rd_device *d, void *userdata); + +/* Query the userdata pointer from a rd_device. Returns NULL if no + * userdata was set. */ +void* rd_get_userdata(rd_device *d); + +#endif diff --git a/src/pulse/proplist.h b/src/pulse/proplist.h index 7a585682..d30dc3b9 100644 --- a/src/pulse/proplist.h +++ b/src/pulse/proplist.h @@ -51,7 +51,7 @@ PA_C_DECL_BEGIN /** For streams: an XDG icon name for the media. e.g. "audio-x-mp3" */ #define PA_PROP_MEDIA_ICON_NAME "media.icon_name" -/** For streams: logic role of this media. One of the strings "video", "music", "game", "event", "phone", "animation", "production" */ +/** For streams: logic role of this media. One of the strings "video", "music", "game", "event", "phone", "animation", "production", "a11y" */ #define PA_PROP_MEDIA_ROLE "media.role" /** For event sound streams: XDG event sound name. e.g. "message-new-email" (Event sound streams are those with media.role set to "event") */ diff --git a/src/pulsecore/client.c b/src/pulsecore/client.c index 7ca7b97c..e6e8b528 100644 --- a/src/pulsecore/client.c +++ b/src/pulsecore/client.c @@ -132,15 +132,14 @@ void pa_client_set_name(pa_client *c, const char *name) { pa_log_info("Client %u changed name from \"%s\" to \"%s\"", c->index, pa_strnull(pa_proplist_gets(c->proplist, PA_PROP_APPLICATION_NAME)), name); pa_proplist_sets(c->proplist, PA_PROP_APPLICATION_NAME, name); - pa_hook_fire(&c->core->hooks[PA_CORE_HOOK_CLIENT_PROPLIST_CHANGED], c); - pa_subscription_post(c->core, PA_SUBSCRIPTION_EVENT_CLIENT|PA_SUBSCRIPTION_EVENT_CHANGE, c->index); + pa_client_update_proplist(c, 0, NULL); } void pa_client_update_proplist(pa_client *c, pa_update_mode_t mode, pa_proplist *p) { pa_assert(c); - pa_assert(p); - pa_proplist_update(c->proplist, mode, p); + if (p) + pa_proplist_update(c->proplist, mode, p); pa_hook_fire(&c->core->hooks[PA_CORE_HOOK_CLIENT_PROPLIST_CHANGED], c); pa_subscription_post(c->core, PA_SUBSCRIPTION_EVENT_CLIENT|PA_SUBSCRIPTION_EVENT_CHANGE, c->index); diff --git a/src/pulsecore/namereg.c b/src/pulsecore/namereg.c index 86bcef74..5ab3036e 100644 --- a/src/pulsecore/namereg.c +++ b/src/pulsecore/namereg.c @@ -194,7 +194,11 @@ void* pa_namereg_get(pa_core *c, const char *name, pa_namereg_type_t type) { } - if (!name || *name == '@' || !pa_namereg_is_valid_name(name)) + if (!name) + return NULL; + + if ((type == PA_NAMEREG_SINK || type == PA_NAMEREG_SOURCE || type == PA_NAMEREG_CARD) && + !pa_namereg_is_valid_name(name)) return NULL; if ((e = pa_hashmap_get(c->namereg, name))) diff --git a/src/pulsecore/protocol-esound.c b/src/pulsecore/protocol-esound.c index 840f4581..2d4e62fa 100644 --- a/src/pulsecore/protocol-esound.c +++ b/src/pulsecore/protocol-esound.c @@ -34,6 +34,7 @@ #include <pulse/timeval.h> #include <pulse/utf8.h> #include <pulse/xmalloc.h> +#include <pulse/proplist.h> #include <pulsecore/esound.h> #include <pulsecore/memblock.h> @@ -164,10 +165,12 @@ static int esd_proto_get_latency(connection *c, esd_proto_t request, const void static int esd_proto_server_info(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_all_info(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_stream_pan(connection *c, esd_proto_t request, const void *data, size_t length); +static int esd_proto_sample_pan(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_sample_cache(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_sample_free_or_play(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_sample_get_id(connection *c, esd_proto_t request, const void *data, size_t length); static int esd_proto_standby_or_resume(connection *c, esd_proto_t request, const void *data, size_t length); +static int esd_proto_standby_mode(connection *c, esd_proto_t request, const void *data, size_t length); /* the big map of protocol handler info */ static struct proto_handler proto_map[ESD_PROTO_MAX] = { @@ -186,8 +189,8 @@ static struct proto_handler proto_map[ESD_PROTO_MAX] = { { sizeof(int), NULL, "sample stop" }, { (size_t) -1, NULL, "TODO: sample kill" }, - { ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "standby" }, /* NOOP! */ - { ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "resume" }, /* NOOP! */ /* 13 */ + { ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "standby" }, + { ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "resume" }, /* 13 */ { ESD_NAME_MAX, esd_proto_sample_get_id, "sample getid" }, /* 14 */ { ESD_NAME_MAX + 2 * sizeof(int), NULL, "stream filter" }, @@ -198,9 +201,9 @@ static struct proto_handler proto_map[ESD_PROTO_MAX] = { { (size_t) -1, NULL, "TODO: unsubscribe" }, { 3 * sizeof(int), esd_proto_stream_pan, "stream pan"}, - { 3 * sizeof(int), NULL, "sample pan" }, + { 3 * sizeof(int), esd_proto_sample_pan, "sample pan" }, - { sizeof(int), NULL, "standby mode" }, + { sizeof(int), esd_proto_standby_mode, "standby mode" }, { 0, esd_proto_get_latency, "get latency" } }; @@ -372,6 +375,8 @@ static int esd_proto_connect(connection *c, esd_proto_t request, const void *dat return -1; } + pa_proplist_sets(c->client->proplist, "esound.byte_order", c->swap_byte_order ? "reverse" : "native"); + ok = 1; connection_write(c, &ok, sizeof(int)); return 0; @@ -404,7 +409,7 @@ static int esd_proto_stream_play(connection *c, esd_proto_t request, const void if (c->options->default_sink) { sink = pa_namereg_get(c->protocol->core, c->options->default_sink, PA_NAMEREG_SINK); - CHECK_VALIDITY(sink, "No such sink: %s", c->options->default_sink); + CHECK_VALIDITY(sink, "No such sink: %s", pa_strnull(c->options->default_sink)); } pa_strlcpy(name, data, sizeof(name)); @@ -489,23 +494,17 @@ static int esd_proto_stream_record(connection *c, esd_proto_t request, const voi if (request == ESD_PROTO_STREAM_MON) { pa_sink* sink; - if (!(sink = pa_namereg_get(c->protocol->core, c->options->default_sink, PA_NAMEREG_SINK))) { - pa_log("no such sink."); - return -1; - } + sink = pa_namereg_get(c->protocol->core, c->options->default_sink, PA_NAMEREG_SINK); + CHECK_VALIDITY(sink, "No such sink: %s", pa_strnull(c->options->default_sink)); - if (!(source = sink->monitor_source)) { - pa_log("no such monitor source."); - return -1; - } + source = sink->monitor_source; + CHECK_VALIDITY(source, "No such source."); } else { pa_assert(request == ESD_PROTO_STREAM_REC); if (c->options->default_source) { - if (!(source = pa_namereg_get(c->protocol->core, c->options->default_source, PA_NAMEREG_SOURCE))) { - pa_log("no such source."); - return -1; - } + source = pa_namereg_get(c->protocol->core, c->options->default_source, PA_NAMEREG_SOURCE); + CHECK_VALIDITY(source, "No such source: %s", pa_strnull(c->options->default_source)); } } @@ -570,7 +569,7 @@ static int esd_proto_get_latency(connection *c, esd_proto_t request, const void if (!(sink = pa_namereg_get(c->protocol->core, c->options->default_sink, PA_NAMEREG_SINK))) latency = 0; else { - double usec = (double) pa_sink_get_latency(sink); + double usec = (double) pa_sink_get_requested_latency(sink); latency = (int) ((usec*44100)/1000000); } @@ -621,7 +620,7 @@ static int esd_proto_all_info(connection *c, esd_proto_t request, const void *da k = sizeof(int32_t)*5+ESD_NAME_MAX; s = sizeof(int32_t)*6+ESD_NAME_MAX; - nsamples = c->protocol->core->scache ? pa_idxset_size(c->protocol->core->scache) : 0; + nsamples = pa_idxset_size(c->protocol->core->scache); t = s*(nsamples+1) + k*(c->protocol->n_player+1); connection_write_prepare(c, t); @@ -641,7 +640,7 @@ static int esd_proto_all_info(connection *c, esd_proto_t request, const void *da pa_cvolume volume = *pa_sink_input_get_volume(conn->sink_input); rate = (int32_t) conn->sink_input->sample_spec.rate; lvolume = (int32_t) ((volume.values[0]*ESD_VOLUME_BASE)/PA_VOLUME_NORM); - rvolume = (int32_t) ((volume.values[1]*ESD_VOLUME_BASE)/PA_VOLUME_NORM); + rvolume = (int32_t) ((volume.values[volume.channels == 2 ? 1 : 0]*ESD_VOLUME_BASE)/PA_VOLUME_NORM); format = format_native2esd(&conn->sink_input->sample_spec); } @@ -688,9 +687,26 @@ static int esd_proto_all_info(connection *c, esd_proto_t request, const void *da for (ce = pa_idxset_first(c->protocol->core->scache, &idx); ce; ce = pa_idxset_next(c->protocol->core->scache, &idx)) { int32_t id, rate, lvolume, rvolume, format, len; char name[ESD_NAME_MAX]; + pa_channel_map stereo = { .channels = 2, .map = { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT } }; + pa_cvolume volume; + pa_sample_spec ss; pa_assert(t >= s*2); + if (ce->volume_is_set) { + volume = ce->volume; + pa_cvolume_remap(&volume, &ce->channel_map, &stereo); + } else + pa_cvolume_reset(&volume, 2); + + if (ce->memchunk.memblock) + ss = ce->sample_spec; + else { + ss.format = PA_SAMPLE_S16NE; + ss.rate = 44100; + ss.channels = 2; + } + /* id */ id = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int) (ce->index+1)); connection_write(c, &id, sizeof(int32_t)); @@ -704,19 +720,19 @@ static int esd_proto_all_info(connection *c, esd_proto_t request, const void *da connection_write(c, name, ESD_NAME_MAX); /* rate */ - rate = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ce->sample_spec.rate); + rate = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ss.rate); connection_write(c, &rate, sizeof(int32_t)); /* left */ - lvolume = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ((ce->volume.values[0]*ESD_VOLUME_BASE)/PA_VOLUME_NORM)); + lvolume = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ((volume.values[0]*ESD_VOLUME_BASE)/PA_VOLUME_NORM)); connection_write(c, &lvolume, sizeof(int32_t)); /*right*/ - rvolume = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ((ce->volume.values[0]*ESD_VOLUME_BASE)/PA_VOLUME_NORM)); + rvolume = PA_MAYBE_INT32_SWAP(c->swap_byte_order, (int32_t) ((volume.values[1]*ESD_VOLUME_BASE)/PA_VOLUME_NORM)); connection_write(c, &rvolume, sizeof(int32_t)); /*format*/ - format = PA_MAYBE_INT32_SWAP(c->swap_byte_order, format_native2esd(&ce->sample_spec)); + format = PA_MAYBE_INT32_SWAP(c->swap_byte_order, format_native2esd(&ss)); connection_write(c, &format, sizeof(int32_t)); /*length*/ @@ -759,7 +775,8 @@ static int esd_proto_stream_pan(connection *c, esd_proto_t request, const void * pa_cvolume volume; volume.values[0] = (lvolume*PA_VOLUME_NORM)/ESD_VOLUME_BASE; volume.values[1] = (rvolume*PA_VOLUME_NORM)/ESD_VOLUME_BASE; - volume.channels = 2; + volume.channels = conn->sink_input->sample_spec.channels; + pa_sink_input_set_volume(conn->sink_input, &volume, TRUE); ok = 1; } else @@ -770,6 +787,46 @@ static int esd_proto_stream_pan(connection *c, esd_proto_t request, const void * return 0; } +static int esd_proto_sample_pan(connection *c, esd_proto_t request, const void *data, size_t length) { + int32_t ok = 0; + uint32_t idx, lvolume, rvolume; + pa_cvolume volume; + pa_scache_entry *ce; + + connection_assert_ref(c); + pa_assert(data); + pa_assert(length == sizeof(int32_t)*3); + + memcpy(&idx, data, sizeof(uint32_t)); + idx = PA_MAYBE_UINT32_SWAP(c->swap_byte_order, idx) - 1; + data = (const char*)data + sizeof(uint32_t); + + memcpy(&lvolume, data, sizeof(uint32_t)); + lvolume = PA_MAYBE_UINT32_SWAP(c->swap_byte_order, lvolume); + data = (const char*)data + sizeof(uint32_t); + + memcpy(&rvolume, data, sizeof(uint32_t)); + rvolume = PA_MAYBE_UINT32_SWAP(c->swap_byte_order, rvolume); + data = (const char*)data + sizeof(uint32_t); + + volume.values[0] = (lvolume*PA_VOLUME_NORM)/ESD_VOLUME_BASE; + volume.values[1] = (rvolume*PA_VOLUME_NORM)/ESD_VOLUME_BASE; + volume.channels = 2; + + if ((ce = pa_idxset_get_by_index(c->protocol->core->scache, idx))) { + pa_channel_map stereo = { .channels = 2, .map = { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT } }; + + pa_cvolume_remap(&volume, &stereo, &ce->channel_map); + ce->volume = volume; + ce->volume_is_set = TRUE; + ok = 1; + } + + connection_write(c, &ok, sizeof(int32_t)); + + return 0; +} + static int esd_proto_sample_cache(connection *c, esd_proto_t request, const void *data, size_t length) { pa_sample_spec ss; int32_t format, rate, sc_length; @@ -880,19 +937,47 @@ static int esd_proto_sample_free_or_play(connection *c, esd_proto_t request, con } static int esd_proto_standby_or_resume(connection *c, esd_proto_t request, const void *data, size_t length) { - int32_t ok; + int32_t ok = 1; connection_assert_ref(c); connection_write_prepare(c, sizeof(int32_t) * 2); - - ok = 1; connection_write(c, &ok, sizeof(int32_t)); + + if (request == ESD_PROTO_STANDBY) + ok = pa_sink_suspend_all(c->protocol->core, TRUE) >= 0; + else { + pa_assert(request == ESD_PROTO_RESUME); + ok = pa_sink_suspend_all(c->protocol->core, FALSE) >= 0; + } + connection_write(c, &ok, sizeof(int32_t)); return 0; } +static int esd_proto_standby_mode(connection *c, esd_proto_t request, const void *data, size_t length) { + int32_t mode; + pa_sink *sink, *source; + + connection_assert_ref(c); + + mode = ESM_RUNNING; + + if ((sink = pa_namereg_get(c->protocol->core, c->options->default_sink, PA_NAMEREG_SINK))) + if (pa_sink_get_state(sink) == PA_SINK_SUSPENDED) + mode = ESM_ON_STANDBY; + + if ((source = pa_namereg_get(c->protocol->core, c->options->default_source, PA_NAMEREG_SOURCE))) + if (pa_source_get_state(source) == PA_SOURCE_SUSPENDED) + mode = ESM_ON_STANDBY; + + mode = PA_MAYBE_INT32_SWAP(c->swap_byte_order, mode); + + connection_write(c, &mode, sizeof(mode)); + return 0; +} + /*** client callbacks ***/ static void client_kill_cb(pa_client *c) { @@ -912,7 +997,13 @@ static int do_read(connection *c) { ssize_t r; pa_assert(c->read_data_length < sizeof(c->request)); - if ((r = pa_iochannel_read(c->io, ((uint8_t*) &c->request) + c->read_data_length, sizeof(c->request) - c->read_data_length)) <= 0) { + if ((r = pa_iochannel_read(c->io, + ((uint8_t*) &c->request) + c->read_data_length, + sizeof(c->request) - c->read_data_length)) <= 0) { + + if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + pa_log_debug("read(): %s", r < 0 ? pa_cstrerror(errno) : "EOF"); return -1; } @@ -962,7 +1053,10 @@ static int do_read(connection *c) { pa_assert(c->read_data && c->read_data_length < handler->data_length); - if ((r = pa_iochannel_read(c->io, (uint8_t*) c->read_data + c->read_data_length, handler->data_length - c->read_data_length)) <= 0) { + if ((r = pa_iochannel_read(c->io, + (uint8_t*) c->read_data + c->read_data_length, + handler->data_length - c->read_data_length)) <= 0) { + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0; diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 22419ee5..34217c86 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -943,9 +943,9 @@ pa_bool_t pa_sink_input_get_mute(pa_sink_input *i) { /* Called from main thread */ void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p) { pa_sink_input_assert_ref(i); - pa_assert(p); - pa_proplist_update(i->proplist, mode, p); + if (p) + pa_proplist_update(i->proplist, mode, p); if (PA_SINK_IS_LINKED(i->state)) { pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_PROPLIST_CHANGED], i); diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 382fb88c..d63aca15 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -618,9 +618,9 @@ void pa_source_output_set_name(pa_source_output *o, const char *name) { /* Called from main thread */ void pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode, pa_proplist *p) { pa_source_output_assert_ref(o); - pa_assert(p); - pa_proplist_update(o->proplist, mode, p); + if (p) + pa_proplist_update(o->proplist, mode, p); if (PA_SINK_IS_LINKED(o->state)) { pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED], o); |