diff options
134 files changed, 15039 insertions, 12775 deletions
diff --git a/Makefile.am b/Makefile.am index 4d45a07d..5967f2ce 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@  ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo +EXTRA_DIST = bootstrap.sh git-version-gen LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo  SUBDIRS = src doxygen man po  MAINTAINERCLEANFILES = diff --git a/bootstrap.sh b/bootstrap.sh index d5025db6..970e884e 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -40,10 +40,21 @@ run_versioned() {  set -ex +case $(uname) in +	*Darwin*) +		LIBTOOLIZE="glibtoolize" +		;; +esac +  if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then      echo "Activating pre-commit hook." -    cp -av .git/hooks/pre-commit.sample .git/hooks/pre-commit -    chmod -c +x  .git/hooks/pre-commit +    cp -pv  .git/hooks/pre-commit.sample .git/hooks/pre-commit +    chmod -v +x  .git/hooks/pre-commit +fi + +if [ -f .tarball-version ]; then +    echo "Marking tarball version as modified." +    echo -n `cat .tarball-version | sed 's/-rebootstrapped$//'`-rebootstrapped >.tarball-version  fi  # We check for this here, because if pkg-config is not found in the @@ -83,7 +94,7 @@ else      run_versioned automake "$VERSION" --copy --foreign --add-missing      if test "x$NOCONFIGURE" = "x"; then -        CFLAGS="-g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@" +        CFLAGS="$CFLAGS -g -O0" ./configure --sysconfdir=/etc --localstatedir=/var --enable-force-preopen "$@"          make clean      fi  fi diff --git a/configure.ac b/configure.ac index 7e83a9c9..735b406f 100644 --- a/configure.ac +++ b/configure.ac @@ -44,11 +44,11 @@ AC_SUBST(PA_PROTOCOL_VERSION, 16)  # The stable ABI for client applications, for the version info x:y:z  # always will hold y=z -AC_SUBST(LIBPULSE_VERSION_INFO, [8:0:8]) +AC_SUBST(LIBPULSE_VERSION_INFO, [9:0:9])  # A simplified, synchronous, ABI-stable interface for client  # applications, for the version info x:y:z always will hold y=z -AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:2:0]) +AC_SUBST(LIBPULSE_SIMPLE_VERSION_INFO, [0:3:0])  # The ABI-stable network browsing interface for client applications,  # for the version info x:y:z always will hold y=z @@ -73,6 +73,10 @@ case $host in        AC_DEFINE(_XOPEN_SOURCE,        600, Needed to get declarations for msg_control and msg_controllen on Solaris)        AC_DEFINE(__EXTENSIONS__,         1, Needed to get declarations for msg_control and msg_controllen on Solaris)        ;; +   *-*-darwin* ) +      AC_DEFINE([_POSIX_C_SOURCE], [200112L], [Needed to get clock_gettime on Mac OS X]) +      AC_DEFINE([_DARWIN_C_SOURCE], [200112L], [Needed to get NSIG on Mac OS X]) +      ;;  esac  AM_SILENT_RULES([yes]) @@ -112,6 +116,21 @@ CC_CHECK_LDFLAGS([${tmp_ldflag}],      [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file'])  AC_SUBST([VERSIONING_LDFLAGS]) +dnl Use immediate (now) bindings; avoids the funky re-call in itself +dnl  the -z now syntax is lifted from Sun's linker and works with GNU's too +dnl  other linkes might be added later +CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"]) +AC_SUBST([IMMEDIATE_LDFLAGS]) + +dnl On ELF systems we don't want the libraries to be unloaded since we +dnl don't clean them up properly, so we request the nodelete flag to be +dnl enabled. +dnl +dnl On other systems, we don't really know how to do that, but it's +dnl welcome if somebody can tell. +CC_CHECK_LDFLAGS([-Wl,-z,nodelete], [NODELETE_LDFLAGS="-Wl,-z,nodelete"]) +AC_SUBST([NODELETE_LDFLAGS]) +  dnl Check for the proper way to build libraries that have no undefined  dnl symbols; on some hosts this needs to be avoided but the macro  dnl takes care of it. @@ -387,6 +406,7 @@ AC_SEARCH_LIBS([timer_create], [rt])  # BSD  AC_SEARCH_LIBS([connect], [socket]) +AC_SEARCH_LIBS([backtrace], [execinfo])  # Non-standard @@ -605,10 +625,11 @@ AM_CONDITIONAL([HAVE_LIBSAMPLERATE], [test "x$HAVE_LIBSAMPLERATE" = x1])  HAVE_TDB=0  HAVE_GDBM=0 +HAVE_SIMPLEDB=0  AC_ARG_WITH(          [database], -        AS_HELP_STRING([--with-database=auto|tdb|gdbm],[Choose database backend.]),[],[with_database=auto]) +        AS_HELP_STRING([--with-database=auto|tdb|gdbm|simple],[Choose database backend.]),[],[with_database=auto])  if test "x${with_database}" = "xauto" -o "x${with_database}" = "xtdb" ; then      PKG_CHECK_MODULES(TDB, [ tdb ], @@ -638,7 +659,12 @@ if test "x${with_database}" = "xauto" -o "x${with_database}" = "xgdbm" ; then     fi  fi -if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1; then +if test "x${with_database}" = "xauto" -o "x${with_database}" = "xsimple" ; then +    HAVE_SIMPLEDB=1 +    with_database=simple +fi + +if test "x${HAVE_TDB}" != x1 -a "x${HAVE_GDBM}" != x1 -a "x${HAVE_SIMPLEDB}" != x1; then     AC_MSG_ERROR([*** missing database backend])  fi @@ -650,6 +676,10 @@ if test "x${HAVE_GDBM}" = x1 ; then     AC_DEFINE([HAVE_GDBM], 1, [Have gdbm?])  fi +if test "x${HAVE_SIMPLEDB}" = x1 ; then +    AC_DEFINE([HAVE_SIMPLEDB], 1, [Have simple?]) +fi +  AC_SUBST(TDB_CFLAGS)  AC_SUBST(TDB_LIBS)  AC_SUBST(HAVE_TDB) @@ -660,28 +690,47 @@ AC_SUBST(GDBM_LIBS)  AC_SUBST(HAVE_GDBM)  AM_CONDITIONAL([HAVE_GDBM], [test "x$HAVE_GDBM" = x1]) +AC_SUBST(HAVE_SIMPLEDB) +AM_CONDITIONAL([HAVE_SIMPLEDB], [test "x$HAVE_SIMPLEDB" = x1]) +  #### OSS support (optional) #### -AC_ARG_ENABLE([oss], -    AS_HELP_STRING([--disable-oss],[Disable optional OSS support]), +AC_ARG_ENABLE([oss-output], +    AS_HELP_STRING([--disable-oss-output],[Disable optional OSS output support]), +        [ +            case "${enableval}" in +                yes) oss_output=yes ;; +                no) oss_output=no ;; +                *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-output) ;; +            esac +        ], +        [oss_output=auto]) + +AC_ARG_ENABLE([oss-wrapper], +    AS_HELP_STRING([--disable-oss-wrapper],[Disable optional OSS wrapper support]),          [              case "${enableval}" in -                yes) oss=yes ;; -                no) oss=no ;; -                *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss) ;; +                yes) oss_wrapper=yes ;; +                no) oss_wrapper=no ;; +                *) AC_MSG_ERROR(bad value ${enableval} for --disable-oss-wrapper) ;;              esac          ], -        [oss=auto]) +        [oss_wrapper=auto]) -if test "x${oss}" != xno ; then +if test "x${oss_output}" != xno || test "x${oss_wrapper}" != "xno"; then      AC_CHECK_HEADERS([sys/soundcard.h],          [ +            if test "x${oss_output}" != "xno"; then +                AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?]) +            fi +            if test "x${oss_wrapper}" != "xno"; then +                AC_DEFINE([HAVE_OSS_WRAPPER], 1, [Have OSS wrapper (padsp)?]) +            fi              HAVE_OSS=1 -            AC_DEFINE([HAVE_OSS], 1, [Have OSS?])          ],          [              HAVE_OSS=0 -            if test "x$oss" = xyes ; then +            if test "x$oss_output" = xyes || test "x$oss_wrapper" = "xyes"; then                  AC_MSG_ERROR([*** OSS support not found])              fi          ]) @@ -690,8 +739,8 @@ else  fi  AC_SUBST(HAVE_OSS) -AM_CONDITIONAL([HAVE_OSS], [test "x$HAVE_OSS" = x1]) - +AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS" = x1 && test "x${oss_output}" != "xno"]) +AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS" = x1 && test "x${oss_wrapper}" != "xno"])  #### ALSA support (optional) #### @@ -1079,7 +1128,27 @@ AC_SUBST(UDEV_LIBS)  AC_SUBST(HAVE_UDEV)  AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1]) -AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.]) +#### HAL compat support (optional) #### + +AC_ARG_ENABLE([hal-compat], +    AS_HELP_STRING([--disable-hal-compat],[Disable optional HAL->udev transition compatibility support]), +        [ +            case "${enableval}" in +                yes) halcompat=yes ;; +                no) halcompat=no ;; +                *) AC_MSG_ERROR(bad value ${enableval} for --disable-hal-compat) ;; +            esac +        ], +        [halcompat=auto]) +if test "x${halcompat}" != xno -a "x$HAVE_HAL" = "x0" -a "x$HAVE_UDEV" = "x1" ; then +    HAVE_HAL_COMPAT=1 +    AC_DEFINE([HAVE_HAL_COMPAT], 1, [Have HAL compatibility.]) +else +    HAVE_HAL_COMPAT=0 +fi + +AC_SUBST(HAVE_HAL_COMPAT) +AM_CONDITIONAL([HAVE_HAL_COMPAT], [test "x$HAVE_HAL_COMPAT" = x1])  #### BlueZ support (optional) #### @@ -1338,9 +1407,15 @@ if test "x$HAVE_X11" = "x1" ; then     ENABLE_X11=yes  fi -ENABLE_OSS=no +ENABLE_OSS_OUTPUT=no +ENABLE_OSS_WRAPPER=no  if test "x$HAVE_OSS" = "x1" ; then -   ENABLE_OSS=yes +   if test "x$enable_oss_output" != "xno"; then +      ENABLE_OSS_OUTPUT=yes +   fi +   if test "x$enable_oss_wrapper" != "xno"; then +      ENABLE_OSS_WRAPPER=yes +   fi  fi  ENABLE_ALSA=no @@ -1398,6 +1473,11 @@ if test "x$HAVE_UDEV" = "x1" ; then     ENABLE_UDEV=yes  fi +ENABLE_HAL_COMPAT=no +if test "x$HAVE_HAL_COMPAT" = "x1" ; then +   ENABLE_HAL_COMPAT=yes +fi +  ENABLE_TCPWRAP=no  if test "x${LIBWRAP_LIBS}" != x ; then     ENABLE_TCPWRAP=yes @@ -1423,6 +1503,11 @@ if test "x${HAVE_TDB}" = "x1" ; then     ENABLE_TDB=yes  fi +ENABLE_SIMPLEDB=no +if test "x${HAVE_SIMPLEDB}" = "x1" ; then +    ENABLE_SIMPLEDB=yes +fi +  ENABLE_OPENSSL=no  if test "x${HAVE_OPENSSL}" = "x1" ; then     ENABLE_OPENSSL=yes @@ -1451,7 +1536,8 @@ echo "      CFLAGS:                        ${CFLAGS}      Have X11:                      ${ENABLE_X11} -    Enable OSS:                    ${ENABLE_OSS} +    Enable OSS Output:             ${ENABLE_OSS_OUTPUT} +    Enable OSS Wrapper:            ${ENABLE_OSS_WRAPPER}      Enable Alsa:                   ${ENABLE_ALSA}      Enable Solaris:                ${ENABLE_SOLARIS}      Enable GLib 2.0:               ${ENABLE_GLIB20} @@ -1463,6 +1549,7 @@ echo "      Enable LIRC:                   ${ENABLE_LIRC}      Enable HAL:                    ${ENABLE_HAL}      Enable udev:                   ${ENABLE_UDEV} +    Enable HAL->udev compat:       ${ENABLE_HAL_COMPAT}      Enable BlueZ:                  ${ENABLE_BLUEZ}      Enable TCP Wrappers:           ${ENABLE_TCPWRAP}      Enable libsamplerate:          ${ENABLE_LIBSAMPLERATE} @@ -1470,6 +1557,7 @@ echo "      Enable OpenSSL (for Airtunes): ${ENABLE_OPENSSL}      Enable tdb:                    ${ENABLE_TDB}      Enable gdbm:                   ${ENABLE_GDBM} +    Enable simple database:        ${ENABLE_SIMPLEDB}      System User:                   ${PA_SYSTEM_USER}      System Group:                  ${PA_SYSTEM_GROUP} diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in index 26e38908..46cc8450 100644 --- a/man/pulse-client.conf.5.xml.in +++ b/man/pulse-client.conf.5.xml.in @@ -92,9 +92,9 @@ USA.      </option>      <option> -      <p><opt>disable-shm=</opt> Disable data transfer via POSIX +      <p><opt>enable-shm=</opt> Enable data transfer via POSIX        shared memory. Takes a boolean argument, defaults to -      <opt>no</opt>.</p> +      <opt>yes</opt>.</p>      </option>      <option> diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in index 68bcb77f..82c2b8e5 100644 --- a/man/pulse-daemon.conf.5.xml.in +++ b/man/pulse-daemon.conf.5.xml.in @@ -65,20 +65,21 @@ USA.      </option>      <option> -      <p><opt>disallow-module-loading=</opt> Disallow module loading -      after startup. This is a security feature that makes sure that -      no further modules may be loaded into the PulseAudio server -      after startup completed. It is recommended to enable this when -      <opt>system-instance</opt> is enabled. Please note that certain -      features like automatic hot-plug support will not work if this -      option is enabled. Takes a boolean argument, defaults to -      <opt>no</opt>. The <opt>--disallow-module-loading</opt> command line -      option takes precedence.</p> +      <p><opt>allow-module-loading=</opt> Allow/disallow module +      loading after startup. This is a security feature that if +      dsabled makes sure that no further modules may be loaded into +      the PulseAudio server after startup completed. It is recommended +      to disable this when <opt>system-instance</opt> is +      enabled. Please note that certain features like automatic +      hot-plug support will not work if this option is enabled. Takes +      a boolean argument, defaults to <opt>yes</opt>. The +      <opt>--disallow-module-loading</opt> command line option takes +      precedence.</p>      </option>      <option> -      <p><opt>disallow-exit=</opt> Disallow exit on user -      request. Defaults to <opt>no</opt>.</p> +      <p><opt>allow-exit=</opt> Allow/disallow exit on user +      request. Defaults to <opt>yes</opt>.</p>      </option>      <option> @@ -105,19 +106,19 @@ USA.      </option>      <option> -      <p><opt>disable-remixing=</opt> Never upmix or downmix channels -      to different channel maps. Instead, do a simple name-based -      matching only.</p> +      <p><opt>enable-remixing=</opt> If disabled never upmix or +      downmix channels to different channel maps. Instead, do a simple +      name-based matching only. Defaults to <opt>yes.</opt></p>      </option>      <option> -      <p><opt>disable-lfe-remixing=</opt> When upmixing or downmixing -      ignore LFE channels. When this option is on the output LFE -      channel will only get a signal when an input LFE channel is -      available as well. If no input LFE channel is available the -      output LFE channel will always be 0. If no output LFE channel is -      available the signal on the input LFE channel will be -      ignored. Defaults to "on".</p> +      <p><opt>enable-lfe-remixing=</opt> if disabeld when upmixing or +      downmixing ignore LFE channels. When this option is dsabled the +      output LFE channel will only get a signal when an input LFE +      channel is available as well. If no input LFE channel is +      available the output LFE channel will always be 0. If no output +      LFE channel is available the signal on the input LFE channel +      will be ignored. Defaults to <opt>no</opt>.</p>      </option>      <option> @@ -132,12 +133,12 @@ USA.      </option>      <option> -      <p><opt>no-cpu-limit=</opt> Do not install the CPU load limiter, -      even on platforms where it is supported. This option is useful -      when debugging/profiling PulseAudio to disable disturbing -      SIGXCPU signals. Takes a boolean argument, defaults to <opt>no</opt>. The -      <opt>--no-cpu-limit</opt> command line argument takes -      precedence.</p> +      <p><opt>cpu-limit=</opt> If disabled d not install the CPU load +      limiter, even on platforms where it is supported. This option is +      useful when debugging/profiling PulseAudio to disable disturbing +      SIGXCPU signals. Takes a boolean argument, defaults to +      <opt>yes</opt>. The <opt>--no-cpu-limit</opt> command line +      argument takes precedence.</p>      </option>      <option> @@ -148,9 +149,9 @@ USA.      </option>      <option> -      <p><opt>disable-shm=</opt> Disable data transfer via POSIX +      <p><opt>enable-shm=</opt> Enable data transfer via POSIX        shared memory. Takes a boolean argument, defaults to -      <opt>no</opt>. The <opt>--disable-shm</opt> command line +      <opt>yes</opt>. The <opt>--disable-shm</opt> command line        argument takes precedence.</p>      </option> @@ -204,7 +205,7 @@ USA.        real-time. The controlling thread is left a normally scheduled        thread. Thus enabling the high-priority option is orthogonal.        See <manref section="1" name="pulseaudio"/> for more -      information. Takes a boolean argument, defaults to "no". The +      information. Takes a boolean argument, defaults to "yes". The        <opt>--realtime</opt> command line option takes precedence.</p>      </option> @@ -230,7 +231,7 @@ USA.      <option>        <p><opt>exit-idle-time=</opt> Terminate the daemon after the        last client quit and this time in seconds passed. Use a negative value to -      disable this feature. Defaults to -1. The +      disable this feature. Defaults to 20. The        <opt>--exit-idle-time</opt> command line option takes        precedence.</p>      </option> diff --git a/po/POTFILES.in b/po/POTFILES.in index 534feb15..a6172442 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -55,7 +55,6 @@ src/pulsecore/queue.c  src/pulsecore/core.c  #src/pulsecore/shmasyncq.c  src/pulsecore/x11wrap.c -src/pulsecore/rtclock.c  src/pulsecore/ioline.c  src/pulsecore/asyncq.c  src/pulsecore/mutex-posix.c @@ -99,7 +98,6 @@ src/pulsecore/strlist.c  src/pulsecore/msgobject.c  src/pulsecore/mutex-win32.c  src/pulsecore/dynarray.c -src/pulsecore/rtsig.c  src/pulsecore/once.c  src/pulsecore/source.c  src/pulsecore/memchunk.c @@ -149,14 +147,12 @@ src/pulsecore/protocol-http.c  src/pulsecore/semaphore-win32.c  src/daemon/cpulimit.c  src/daemon/ltdl-bind-now.c -src/daemon/polkit.c  src/daemon/main.c  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 @@ -6,7 +6,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio.as\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-08 12:35+0530\n"  "Last-Translator: Amitakhya Phukan <aphukan@fedoraproject.org>\n"  "Language-Team: Assamese <fedora-trans-as@redhat.com>\n" @@ -16,7 +16,12 @@ msgstr ""  "X-Generator: Lokalize 0.3\n"  "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -28,7 +33,7 @@ msgstr ""  "অতি সমà§à¦à§± à¦à¦‡à¦Ÿà§‹ ALSA চালক '%s' à§° à¦à¦Ÿà¦¾ বাগ । অনà§à¦—à§à§°à¦¹ কৰি à¦à¦‡ সমসà§à¦¯à¦¾ ALSA বিকাশকক "  "জনাওক ।" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -40,7 +45,7 @@ msgstr ""  "অতি সমà§à¦à§± à¦à¦‡à¦Ÿà§‹ ALSA চালক '%s' à§° à¦à¦Ÿà¦¾ বাগ । অনà§à¦—à§à§°à¦¹ কৰি à¦à¦‡ সমসà§à¦¯à¦¾ ALSA বিকাশকক "  "জনাওক ।" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -65,7 +70,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "আà¦à§à¦¯à¦¨à§à¦¤à§°à§€à¦£ অ'ডিঅ'" @@ -85,371 +90,243 @@ msgstr "নতà§à¦¨ dl loader বিতৰণ কৰিবলৈ বিফল à  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader যোগ কৰিবলৈ বিফল ।" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° bus লৈ সংযোগ কৰিব পৰা ন'গ'ল: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID à§° পৰা caller পোৱা ন'গ'ল: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "caller বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব পৰা ন'গ'ল ।" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK অধিবেশন পাবলৈ বিফল ।" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "অধিবেশনৰ বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction বিতৰণ কৰিব নোৱাৰি ।" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext বিতৰণ কৰিব নোৱাৰি ।" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext আৰমà§à¦ কৰিব নোৱাৰি: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "caller à§° অনà§à¦®à¦¤à¦¿ আছে নে নাই নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth পাব নোৱাৰি: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit ঠ'%s' উতà§à¦¤à§° দিলে" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "চিগà§à¦¨à§‡à¦² %s পোৱা গ'ল ।" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা হৈছে ।" -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' পোৱা ন'গ'ল ।" -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "'%s' সমষà§à¦Ÿà¦¿ পোৱা ন'গ'ল ।" -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' (UID %lu) আৰৠসমষà§à¦Ÿà¦¿ '%s' (GID %lu) পোৱা গ'ল ।" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' আৰৠসমষà§à¦Ÿà¦¿ '%s' à§° GID অমিল ।" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "বà§à¦¯à§±à¦¹à¦¾à§°à¦•à§°à§à¦¤à¦¾ '%s' à§° ঘৰৰ পঞà§à¦œà¦¿à¦•া '%s' নহয়, আওকাণ কৰা হৈছে ।" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' সৃষà§à¦Ÿà¦¿ কৰিবলৈ বিফল: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "সমষà§à¦Ÿà¦¿à§° তালিকা সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID সলনি কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "ৰূটৰ অধিকাৰ সফলà¦à¦¾à¦¬à§‡ à¦à§°à§‹à§±à¦¾ গ'ল ।" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "à¦à¦‡ সà§à¦¥à¦¾à¦ªà¦¤à§à¦¯à¦¤ পà§à§°à¦£à¦¾à¦²à§€ বà§à¦¯à¦¾à¦ªà¦• মোড অসমৰà§à¦¥à¦¿à¦¤ ।" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) বিফল: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "আদেশ শাৰী বিশà§à¦²à§‡à¦·à¦£ কৰিবলৈ বিফল ।" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত high-priority scheduling à§° অনà§à¦®à¦¤à¦¿ আছে ।" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত real-time scheduling à§° অনà§à¦®à¦¤à¦¿ আছে ।" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit ঠআমাক acquire-high-priority অধিকাৰ দিয়ে ।" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit ঠacquire-high-priority অধিকাৰ নিদিয়ে ।" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit ঠআমাক acquire-real-time অধিকাৰ দিয়ে ।" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit ঠacquire-real-time অধিকাৰ নিদিয়ে ।" - -#: ../src/daemon/main.c:560 -#, 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 "" -"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." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ high-priority scheduling à§° সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো " -"অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO সফলতাৰে বৃদà§à¦§à¦¿ কৰা হৈছে" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO বিফল: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE বৰà§à¦œà¦¨ কৰা হৈছে" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ real-time scheduling à§° সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো অনà§à¦®à§‹à¦¦à¦¿à¦¤ " -"নহয় ।" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ডেমন নাই চলা" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "PID %u ৰূপে ডেমন চলিছে" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ডেমন kill কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr ""  "root পৰিচয়ে à¦à¦‡ পà§à§°à§‹à¦—à§à§°à¦¾à¦® সঞà§à¦šà¦¾à¦²à¦¿à¦¤ হোৱা উচিত নহয় (ন'হ'লে --system উলà§à¦²à¦¿à¦–িত হয়) ।" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root-à§° অধিকাৰ আৱশà§à¦¯à¦• ।" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "পà§à§°à¦£à¦¾à¦²à§€ চানেকিৰ কà§à¦·à§‡à¦¤à§à§°à¦¤ --start সমৰà§à¦¥à¦¿à¦¤ নহয় ।" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কিনà§à¦¤à§ --disallow-exit নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয়!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কিনà§à¦¤à§ --disallow-module-loading নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয়!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, SHM মোড বলপূৰà§à¦¬à¦• নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে, কাম নকৰা সময়ৰ পৰা পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা বলপূৰà§à¦¬à¦• নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe বিফল: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() বিফল: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() বিফল: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ডেমন আৰমà§à¦ কৰিবলৈ বিফল ।" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "সফলতাৰে ডেমন আৰমà§à¦ কৰা হৈছে ।" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "à¦à¦‡à¦Ÿà§‹ PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "সঙà§à¦•লনৰ গৃহসà§à¦¥: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "সঙà§à¦•লনৰ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "গৃহসà§à¦¥à¦¤ চলোৱা হৈছে: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPU পোৱা গৈছে ।" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "পেজৰ মাপ %lu bytes" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind সমৰà§à¦¥à¦¨à§° সৈতে সঙà§à¦•লন কৰা হৈছে: হয়" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind সমৰà§à¦¥à¦¨à§° সৈতে সঙà§à¦•লন কৰা হৈছে: নহয়" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind মোডত চলিছে: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimized build: হয়" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimized build: নহয়" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ কৰা হৈছে, সকলো asserts নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে ।" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ কৰা হৈছে, অকল fast path asserts নিষà§à¦•à§à§°à¦¿à§Ÿ কৰা হৈছে ।" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "সকলো asserts সকà§à§°à¦¿à§Ÿ কৰা হৈছে ।" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "যনà§à¦¤à§à§° ID পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "যনà§à¦¤à§à§° ID হ'ল %s ।" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "যনà§à¦¤à§à§° ID হ'ল %s ।" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "ৰান-টাইম পঞà§à¦œà¦¿à¦•া %s বà§à¦¯à§±à¦¹à¦¾à§° কৰা হৈছে ।" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "অৱসà§à¦¥à¦¾à¦¸à§‚চক পঞà§à¦œà¦¿à¦•া %s বà§à¦¯à§±à¦¹à¦¾à§° কৰা হৈছে ।" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "পà§à§°à¦£à¦¾à¦²à§€ মোডত চলিছে: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -459,15 +336,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() বà§à¦¯à§°à§à¦¥ ।" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "নতà§à¦¨ high-resolution timers পোৱা হয়! অà¦à¦¿à¦¨à¦¨à§à¦¦à¦¨!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -475,28 +352,28 @@ msgstr ""  "শà§à§°à§€à¦®à¦¾à¦¨, আপোনাৰ কাৰà§à¦£à§‡à¦² পূৰণি! high-resolution timer সকà§à§°à¦¿à§Ÿ থকা Linux ক আজি "  "উপদেশ দিয়া হয়!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() বà§à¦¯à§°à§à¦¥ ।" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ডেমন আৰমà§à¦ কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr ""  "তà§à¦²à¦¿ লোৱা মডিউল নোহোৱাকে ডেমন আৰমà§à¦ কৰা হৈছে, কোনো কাম সঞà§à¦šà¦¾à¦²à¦¨ কৰা সমà§à¦à§± নহয় ।" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ডেমন আৰমà§à¦ কৰা সমà§à¦ªà§‚à§°à§à¦£ ।" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ডেমন বনà§à¦§ কৰাৰ পà§à§°à¦•à§à§°à¦¿à§Ÿà¦¾ আৰমà§à¦ কৰা হৈছে ।" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ডেমন বনà§à¦§ কৰা হৈছে ।" @@ -831,14 +708,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### চিহà§à¦¨à¦¿à¦¤ বিনà§à¦¯à¦¾à¦¸ নথিপতà§à§°à§° পৰা পà§à¦¾ হ'ব: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "root-à§° অধিকাৰ বৰà§à¦œà¦¨ কৰা হৈছে ।" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE লৈ কাৰà§à¦¯à§à¦¯à¦•à§à¦·à¦®à¦¤à¦¾ সফলà¦à¦¾à¦¬à§‡ সীমিত কৰা হ'ল ।" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾" @@ -847,24 +720,6 @@ msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à§±à¦¸à§à¦¥à¦¾ আৰমà§à¦ কৰা হ'ব" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio ডেমনৰ কাৰণে High-priority scheduling (ঋণাতà§à¦®à¦• Unix nice সà§à¦¤à§°)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio ডেমনৰ কাৰণে Real-time scheduling" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক high-priority scheduling পাবলৈ নিদিয়ে ।" - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক real-time scheduling পাবলৈ নিদিয়ে ।" -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "মোনো" @@ -1237,183 +1092,187 @@ msgstr "কà§à¦•িৰ তথà§à¦¯ বিশà§à¦²à§‡à¦·à¦£ কৰিবলৈ  msgid "Failed to open configuration file '%s': %s"  msgstr "বিনà§à¦¯à¦¾à¦¸ নথিপতà§à§° '%s' খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "কোনো কà§à¦•ি তà§à¦²à¦¿ লোৱা নহয় । কà§à¦•ি নোহোৱাকে সংযোগৰ পà§à§°à¦šà§‡à¦·à§à¦Ÿà¦¾ কৰা হৈছে ।" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "অজানা à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ '%s'-à§° বাবে বাৰà§à¦¤à¦¾ পà§à§°à¦¾à¦ªà§à¦¤ হৈছে" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "সà§à¦Ÿà§à§°à¦¿à¦® drain কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "পà§à¦²à§‡à¦¬à§‡à¦• সà§à¦Ÿà§à§°à¦¿à¦®à¦• drain কৰা হ'ল ।\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "সেৱকৰ সৈতে সংযোগ Drain কৰা হৈছে ।\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() বà§à¦¯à§°à§à¦¥: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "সফলতাৰে সà§à¦Ÿà§à§°à¦¿à¦® নিৰà§à¦®à¦¿à¦¤ হৈছে ।\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "চানেকি spec '%s', চেনেল মেপ '%s'পà§à§°à§Ÿà§‹à¦— কৰা হৈছে\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "যনà§à¦¤à§à§° %s-à§° সৈতে সংযোগ কৰা হৈছে (%u, %ssuspended) ।\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® সংকà§à§°à¦¾à¦¨à§à¦¤ তà§à§°à§à¦Ÿà¦¿: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "সà§à¦Ÿà§à§°à¦¿à¦® যনà§à¦¤à§à§° সà§à¦¥à¦—িত কৰা হৈছে । %s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "সà§à¦Ÿà§à§°à¦¿à¦® যনà§à¦¤à§à§° পà§à¦¨à§°à¦¾à§°à¦®à§à¦ কৰা হৈছে । %s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® underrun: %s\n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ষà§à¦Ÿà§à§°à¦¿à¦® overrun: %s\n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "সà§à¦Ÿà§à§°à¦¿à¦® আৰমà§à¦ কৰা হৈছে । %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "%s যনà§à¦¤à§à§°à¦²à§ˆ সà§à¦Ÿà§à§°à¦¿à¦® সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à§° কৰা হৈছে (%u, %ssuspended) ।%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "not " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "সà§à¦Ÿà§à§°à¦¿à¦® পà§à§°à¦¶à¦®à¦•à§° গà§à¦£ পৰিবৰà§à¦¤à¦¿à¦¤ হৈছে । %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "সংযোগ সà§à¦¥à¦¾à¦ªà¦¿à¦¤ হৈছে ।%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "<b>সংযোগৰ মোড</b>: %s<br>\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF পোৱা গ'ল ।\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() বà§à¦¯à§°à§à¦¥: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF পোৱা গ'ল ।\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "চিগà§à¦¨à§‡à¦² পোৱা গ'ল, পà§à§°à¦¸à§à¦¥à¦¾à¦¨ কৰা হৈছে ।\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "latency পাবলৈ বà§à¦¯à§°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "সময়: %0.3f sec; Latency: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() বà§à¦¯à§°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:605 @@ -1535,34 +1394,34 @@ msgstr ""  "libpulse à§° সৈতে সঙà§à¦•লন কৰা হৈছে %s\n"  "libpulse à§° সৈতে যà§à¦•à§à¦¤ %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "চেনেল মেপ '%s' বৈধ নহয়\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "resample পদà§à¦§à¦¤à¦¿ '%s' বৈধ নহয় ।"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "চেনেল মেপ '%s' বৈধ নহয়\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "অবৈধ latency নিৰà§à¦§à¦¾à§°à¦£ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "অবৈধ পà§à§°à¦•à§à§°à¦¿à§Ÿà¦¾à§° সময়ৰ নিৰà§à¦§à¦¾à§°à¦£ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "resample পদà§à¦§à¦¤à¦¿ '%s' বৈধ নহয় ।"  #: ../src/utils/pacat.c:878 @@ -1571,60 +1430,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "অবৈধ চানেকি নিৰà§à¦§à¦¾à§°à¦¿à¦¤\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "অতà§à¦¯à¦¾à¦§à¦¿à¦• তৰà§à¦• ।\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "শবà§à¦¦à§‡à§° নথিপতà§à§° খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥ ।\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' à§° সৈতে খোলা হৈছে ।\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' à§° সৈতে খোলা হৈছে ।\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "চেনেল মেপ আৰৠনথিপতà§à§° অমিল ।\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' à§° সৈতে খোলা হৈছে ।\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "à¦à¦Ÿà¦¾ %s সà§à¦Ÿà§à§°à¦¿à¦® চানেকি নিৰà§à¦§à¦¾à§°à¦£ '%s' à§° সৈতে খোলা হৈছে ।\n"  #: ../src/utils/pacat.c:1006 @@ -1635,35 +1500,34 @@ msgstr "ৰেকৰà§à¦¡ কৰা হৈছে"  msgid "playback"  msgstr "পà§à¦²à§‡-বেক" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() বà§à¦¯à§°à§à¦¥ ।\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() বà§à¦¯à§°à§à¦¥ ।\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() বà§à¦¯à§°à§à¦¥ ।\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() বà§à¦¯à§°à§à¦¥ ।\n"  #: ../src/utils/pasuspender.c:81 @@ -1691,6 +1555,11 @@ msgstr "পà§à¦¨à§°à¦¾à§°à¦®à§à¦ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "সতৰà§à¦•বাৰà§à¦¤à¦¾: ধà§à¦¬à¦¨à¦¿ সেৱক সà§à¦¥à¦¾à¦¨à§€à§Ÿ নহয়, সà§à¦¥à¦—িত কৰা নহয় ।\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "<b>সংযোগৰ মোড</b>: %s<br>\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1731,6 +1600,21 @@ msgstr ""  "libpulse à§° সৈতে সঙà§à¦•লন কৰা হৈছে %s\n"  "libpulse à§° সৈতে যà§à¦•à§à¦¤ %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() বà§à¦¯à§°à§à¦¥ ।\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() বà§à¦¯à§°à§à¦¥ ।\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() বà§à¦¯à§°à§à¦¥ ।\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2145,6 +2029,11 @@ msgstr ""  "libpulseà§° সৈতে সঙà§à¦•লন কৰা %s\n"  "libpulse-à§° সৈতে যà§à¦•à§à¦¤ %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "চেনেল মেপ '%s' বৈধ নহয়\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "তà§à¦²à¦¿ লোৱাৰ উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à§°à¦¹ কৰে à¦à¦•টি চানেকি নথিপতà§à§° উলà§à¦²à§‡à¦– কৰà§à¦¨\n" @@ -2153,6 +2042,11 @@ msgstr "তà§à¦²à¦¿ লোৱাৰ উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§  msgid "Failed to open sound file.\n"  msgstr "শবà§à¦¦à§‡à§° নথিপতà§à§° খà§à¦²à¦¿à¦¬à¦²à§ˆ বà§à¦¯à§°à§à¦¥ ।\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "চানেকি সংকà§à§°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à§°à¦¾à¦ªà§à¦¤ কৰিবলৈ বà§à¦¯à§°à§à¦¥: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2212,11 +2106,6 @@ msgstr "কাৰà§à¦¡à§‡à§° নাম/ইনà§à¦¡à§‡à¦•à§à¦¸ আৰৠà¦à¦  msgid "No valid command specified.\n"  msgstr "সঞà§à¦šà¦¾à¦²à¦¨à§° বাবে আদেশ নিৰà§à¦§à¦¾à§°à¦¿à¦¤ নহয় ।\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2333,11 +2222,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn লক পà§à§°à§Ÿà§‹à¦— কৰিবলৈ বà§à¦¯à§°à§à¦¥ ।" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2353,7 +2242,7 @@ msgstr ""  "POLLOUT নিৰà§à¦§à¦¾à§°à¦¿à¦¤ হোৱাৰি পিছতো আমি উথিলো -- কিনà§à¦¤à§ তাৰ পিছৰ snd_pcm_avail() ঠ০ "  "দিলে বা অনà§à¦¯ à¦à¦Ÿà¦¾ মান < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2370,15 +2259,15 @@ msgstr ""  "দিলে বা অনà§à¦¯ à¦à¦Ÿà¦¾ মান < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "বনà§à¦§" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "High Fidelity Playback (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephony Duplex (HSP/HFP)" @@ -2386,6 +2275,133 @@ msgstr "Telephony Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio ধà§à¦¬à¦¨à¦¿ সেৱক" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° bus লৈ সংযোগ কৰিব পৰা ন'গ'ল: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID à§° পৰা caller পোৱা ন'গ'ল: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "caller বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব পৰা ন'গ'ল ।" + +#~ msgid "Failed to get CK session." +#~ msgstr "CK অধিবেশন পাবলৈ বিফল ।" + +#~ msgid "Cannot set UID on session object." +#~ msgstr "অধিবেশনৰ বসà§à¦¤à§à¦¤ UID নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।" + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction বিতৰণ কৰিব নোৱাৰি ।" + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি ।" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext বিতৰণ কৰিব নোৱাৰি ।" + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext আৰমà§à¦ কৰিব নোৱাৰি: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "caller à§° অনà§à¦®à¦¤à¦¿ আছে নে নাই নিৰà§à¦§à¦¾à§°à¦£ কৰিব নোৱাৰি: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth পাব নোৱাৰি: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ঠ'%s' উতà§à¦¤à§° দিলে" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "PulseAudio ডেমনৰ কাৰণে High-priority scheduling (ঋণাতà§à¦®à¦• Unix nice সà§à¦¤à§°)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio ডেমনৰ কাৰণে Real-time scheduling" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক high-priority scheduling পাবলৈ নিদিয়ে ।" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "পà§à§°à¦£à¦¾à¦²à§€à§° নীতিয়ে PulseAudio ক real-time scheduling পাবলৈ নিদিয়ে ।" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() বà§à¦¯à§°à§à¦¥: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() বà§à¦¯à§°à§à¦¥: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত high-priority scheduling à§° অনà§à¦®à¦¤à¦¿ আছে ।" + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "আমি '%s' সমষà§à¦Ÿà¦¿à¦¤, য'ত real-time scheduling à§° অনà§à¦®à¦¤à¦¿ আছে ।" + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit ঠআমাক acquire-high-priority অধিকাৰ দিয়ে ।" + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit ঠacquire-high-priority অধিকাৰ নিদিয়ে ।" + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit ঠআমাক acquire-real-time অধিকাৰ দিয়ে ।" + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit ঠacquire-real-time অধিকাৰ নিদিয়ে ।" + +#~ 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 "" +#~ "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." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ high-priority scheduling à§° সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো " +#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।" + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO সফলতাৰে বৃদà§à¦§à¦¿ কৰা হৈছে" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO বিফল: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE বৰà§à¦œà¦¨ কৰা হৈছে" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "বিনà§à¦¯à¦¾à¦¸ দà§à¦¬à¦¾à§°à¦¾ real-time scheduling à§° সকà§à§°à¦¿à§Ÿ হ'লেও নিয়মনীতি দà§à¦¬à¦¾à§°à¦¾ সেইটো " +#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নহয় ।" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE লৈ কাৰà§à¦¯à§à¦¯à¦•à§à¦·à¦®à¦¤à¦¾ সফলà¦à¦¾à¦¬à§‡ সীমিত কৰা হ'ল ।" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() বà§à¦¯à§°à§à¦¥ ।\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analog Mono" diff --git a/po/bn_IN.po b/po/bn_IN.po index 9214f16c..eac68825 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-08 16:21+0530\n"  "Last-Translator: Runa Bhattacharjee <runab@fedoraproject.org>\n"  "Language-Team: Bengali INDIA <fedora-trans-bn_in@redhat.com>\n" @@ -17,7 +17,12 @@ msgstr ""  "X-Generator: KBabel 1.11.4\n"  "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -29,7 +34,7 @@ msgstr ""  "সমà§à¦à¦¬à¦¤ à¦à¦Ÿà¦¿ ALSA ডà§à¦°à¦¾à¦‡à¦à¦¾à¦° '%s'-র à¦à¦•টি বাগ। অনà§à¦—à§à¦°à¦¹ করে à¦à¦‡ সমসà§à¦¯à¦¾ সমà§à¦¬à¦¨à§à¦§à§‡ ALSA "  "ডিà¦à§‡à¦²à¦ªà¦°à¦¦à§‡à¦° সূচিত করà§à¦¨à¥¤" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -41,7 +46,7 @@ msgstr ""  "সমà§à¦à¦¬à¦¤ à¦à¦Ÿà¦¿ ALSA ডà§à¦°à¦¾à¦‡à¦à¦¾à¦° '%s'-র à¦à¦•টি বাগ। অনà§à¦—à§à¦°à¦¹ করে à¦à¦‡ সমসà§à¦¯à¦¾ সমà§à¦¬à¦¨à§à¦§à§‡ ALSA "  "ডিà¦à§‡à¦²à¦ªà¦°à¦¦à§‡à¦° সূচিত করà§à¦¨à¥¤" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -66,7 +71,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "অà¦à§à¦¯à¦¨à§à¦¤à¦°à§€à¦£ অডিও" @@ -86,373 +91,246 @@ msgstr "নতà§à¦¨ dl লোডার বরাদà§à¦¦ করতে বà§à¦  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader যোগ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "সিসà§à¦Ÿà§‡à¦® বাসের সাথে সংযোগ করতে বà§à¦¯à¦°à§à¦¥: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID থেকে কলারের তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "কলার অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK সেশান পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "সেশান অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext আরমà§à¦ করতে বà§à¦¯à¦°à§à¦¥: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "কলার অনà§à¦®à§‹à¦¦à¦¿à¦¤ কি না তা নিরà§à¦§à¦¾à¦°à¦£ করা সমà§à¦à¦¬ নয়: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit থেকে '%s' পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "%s সিগনà§à¦¯à¦¾à¦² পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করা হচà§à¦›à§‡à¥¤" -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী সনà§à¦§à¦¾à¦¨ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "দল '%s' সনà§à¦§à¦¾à¦¨ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী '%s' (UID %lu) ও দল '%s' (GID %lu) পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ও '%s' দলের GID-র মধà§à¦¯à§‡ গরমিল।" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr ""  "'%s' বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত ডিরেকà§à¦Ÿà¦°à¦¿ রূপে '%s' ধারà§à¦¯ করা হয়নি, অগà§à¦°à¦¾à¦¹à§à¦¯ করা হবে।" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' নিরà§à¦®à¦¾à¦£ করতে বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "দলের তালিকা পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID পরিবরà§à¦¤à¦¨ করতে বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "root-র অধিকার সাফলà§à¦¯à§‡à¦° সাথে বরà§à¦œà¦¨ করা হয়েছে।" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "à¦à¦‡ পà§à¦²à§à¦¯à¦¾à¦Ÿà¦«à¦°à§à¦®à§‡, সিসà§à¦Ÿà§‡à¦®à¦¬à§à¦¯à¦¾à¦ªà§€ মোড সমরà§à¦¥à¦¿à¦¤ নয়।" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) বিফল: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "কমানà§à¦¡-লাইন পারà§à¦¸ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "অধিক গà§à¦°à§à¦¤à§à¦¬à¦¸à¦¹ শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•ারী '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "রিয়েল-টাইম শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•ারী '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।" - -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID root কল করা হয়েছে à¦à¦¬à¦‚ কনফিগারেশনের মধà§à¦¯à§‡ রিয়েল-টাইম à¦à¦¬à¦‚/অথবা উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° " -"শিডিউলিংয়ের অনà§à¦°à§‹à¦§ জানানো হয়েছে, কিনà§à¦¤à§ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ উপসà§à¦¥à¦¿à¦¤ নেই:\n" -"'%s' দলে অনà§à¦¤à¦°à§à¦à§à¦•à§à¦¤ নয়, PolicyKit দà§à¦¬à¦¾à¦°à¦¾ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হয়নি à¦à¦¬à¦‚ " -"RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿à¦° করতে হবে।\n" -"রিয়েল-টাইম/উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦¯à§‹à¦œà§à¦¯ PolicyKit " -"অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ করà§à¦¨, অথবা '%s' দলের সদসà§à¦¯ হন, অথবা সংশà§à¦²à¦¿à¦·à§à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর জনà§à¦¯ " -"RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿ করà§à¦¨à¥¤" - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ high-priority শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ " -"তা অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO সাফলà§à¦¯à§‡à¦° সাথে বৃদà§à¦§à¦¿ করা হয়েছে" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO বিফল: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE বরà§à¦œà¦¨ করা হচà§à¦›à§‡" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ real-time শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ তা " -"অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ডেমন চলছে না" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "PID %u রূপে ডেমন চলছে" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ডেমন kill করতে বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr ""  "root পরিচয়ে à¦à¦‡ পà§à¦°à§‹à¦—à§à¦°à¦¾à¦®à¦Ÿà¦¿ সঞà§à¦šà¦¾à¦²à¦¿à¦¤ হওয়া উচিত নয় (যদি না --system উলà§à¦²à¦¿à¦–িত হয়)।" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root-র অধিকার আবশà§à¦¯à¦•।" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "সিসà§à¦Ÿà§‡à¦® ইনসà§à¦Ÿà§à¦¯à¦¾à¦¨à§à¦¸à§‡à¦° কà§à¦·à§‡à¦¤à§à¦°à§‡ --start সমরà§à¦¥à¦¿à¦¤ নয়।" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, কিনà§à¦¤à§ --disallow-exit নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, কিনà§à¦¤à§ --disallow-module-loading নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, SHM মোড বলপূরà§à¦¬à¦• নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হচà§à¦›à§‡!"  # http://linux.die.net/man/1/pulseaudio à¦à¦–ানে রেফারেনà§à¦¸ পাওয়া যাবে -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "সিসà§à¦Ÿà§‡à¦® মোডে চলছে, করà§à¦®à¦¹à§€à¦¨ অবসà§à¦¥à¦¾à¦° জনà§à¦¯ ধারà§à¦¯ সময়সীমা পূরà§à¦¤à§€ পরে পà§à¦°à¦¸à§à¦¥à¦¾à¦¨à§‡à¦° বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾ "  "বলপূরà§à¦¬à¦• নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হচà§à¦›à§‡!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "পাইপ বিফল: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() বিফল: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() বিফল: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ডেমন আরমà§à¦ করতে বিফল।" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "সাফলà§à¦¯à§‡à¦° সাথে ডেমন আরমà§à¦ করা হয়েছে।" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "à¦à¦Ÿà¦¿ PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "কমà§à¦ªà¦¾à¦‡à¦²à§‡à¦¶à¦¨à§‡à¦° হোসà§à¦Ÿ: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "কমà§à¦ªà¦¾à¦‡à¦²à¦¶à¦¨à§‡à¦° CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "চিহà§à¦¨à¦¿à¦¤ হোসà§à¦Ÿà§‡ চলছে: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPU পাওয়া গিয়েছে।" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "পেজের মাপ %lu বাইট" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind সমরà§à¦¥à¦¨ সহ কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে: হà§à¦¯à¦¾à¦" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind সমরà§à¦¥à¦¨ সহ কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে: না" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind মোডে চলছে: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "সরà§à¦¬à¦¾à¦ªà§‡à¦•à§à¦· উতà§à¦¤à¦® বিলà§à¦¡: হà§à¦¯à¦¾à¦" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "সরà§à¦¬à¦¾à¦ªà§‡à¦•à§à¦· উতà§à¦¤à¦® বিলà§à¦¡: না" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ করা হয়েছে, সকল অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হয়েছে।" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH বà§à¦¯à¦¾à¦–à§à¦¯à¦¾ করা হয়েছে, শà§à¦§à§à¦®à¦¾à¦¤à§à¦° ফাসà§à¦Ÿ পাথ অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ নিষà§à¦•à§à¦°à¦¿à§Ÿ করা হয়েছে।" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "সকল অà§à¦¯à¦¾à¦¸à¦¾à¦°à§à¦Ÿ সকà§à¦°à¦¿à§Ÿ করা হয়েছে।" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "মেশিন ID পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "মেশিন ID হল %s।" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "মেশিন ID হল %s।" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "রান-টাইম ডিরেকà§à¦Ÿà¦°à¦¿ %s বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "অবসà§à¦¥à¦¾à¦¸à§‚চক ডিরেকà§à¦Ÿà¦°à¦¿ %s বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "সিসà§à¦Ÿà§‡à¦® মোডে চলছে: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -462,42 +340,42 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "উচà§à¦š-রেসোলিউশনের নতà§à¦¨ টাইমার উপলবà§à¦§ রয়েছে! পরীকà§à¦·à¦¾ করে দেখà§à¦¨!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr "উচà§à¦š-রেসোলিউশনের নতà§à¦¨ টাইমার সহ Linux সকà§à¦°à¦¿à§Ÿ করা বাঞà§à¦›à¦¨à§€à§Ÿ!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ডেমন আরমà§à¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr ""  "লোড করা মডিউল বিনা ডেমন আরমà§à¦ করা হয়েছে à¦à¦¬à¦‚ কোনো করà§à¦® সঞà§à¦šà¦¾à¦²à¦¨ করা সমà§à¦à¦¬ নয়।" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ডেমন আরমà§à¦ করা হয়েছে।" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ডেমন বনà§à¦§ করার পà§à¦°à¦•à§à¦°à¦¿à§Ÿà¦¾ আরমà§à¦ করা হয়েছে।" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ডেমন বনà§à¦§ করা হয়েছে।" @@ -841,14 +719,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### চিহà§à¦¨à¦¿à¦¤ কনফিগারেশন ফাইল থেকে পড়া হবে: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "root-র অধিকার বরà§à¦œà¦¨ করা হচà§à¦›à§‡à¥¤" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "সাফলà§à¦¯à§‡à¦° সাথে CAP_SYS_NICE-ঠকরà§à¦®à¦•à§à¦·à¦®à¦¤à¦¾ সীমিত করা হয়েছে।" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾" @@ -857,28 +731,6 @@ msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio শবà§à¦¦ বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾ আরমà§à¦ করা হবে" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio ডেমনের জনà§à¦¯ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং (Unix nice-র মাতà§à¦°à¦¾ নঞরà§à¦¥à¦•)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio ডেমনের জনà§à¦¯ রিয়েল-টাইম শিডিউলিং" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা " -"সমà§à¦à¦¬ হচà§à¦›à§‡ না।" - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ রিয়েল-টাইম শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা " -"সমà§à¦à¦¬ হচà§à¦›à§‡ না।" -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "মোনো" @@ -1251,187 +1103,191 @@ msgstr "কà§à¦•ির তথà§à¦¯ পারà§à¦¸ করতে বà§à¦¯à¦°à§  msgid "Failed to open configuration file '%s': %s"  msgstr "কনফিগারেশন ফাইল '%s' খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "কোনো কà§à¦•ি লোড করা হয়নি। কà§à¦•ি বিনা সংযোগের পà§à¦°à¦šà§‡à¦·à§à¦Ÿà¦¾ করা হচà§à¦›à§‡à¥¤" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "অজানা à¦à¦•à§à¦¸à¦Ÿà§‡à¦¨à¦¶à¦¨ '%s'-র জনà§à¦¯ বারà§à¦¤à¦¾ পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে"  # drain a stream = যখন সà§à¦Ÿà§à¦°à¦¿à¦®à§‡à¦° মধà§à¦¯à§‡ উপসà§à¦¥à¦¿à¦¤ সকল তথà§à¦¯ আহরণ করা হয় ও সà§à¦Ÿà§à¦°à¦¿à¦®à¦Ÿà¦¿ সমà§à¦ªà§‚রà§à¦£à¦°à§‚পে ফাà¦à¦•া হয়ে যায়। -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডà§à¦°à§‡à¦‡à¦¨ (অরà§à¦¥à¦¾à§Ž ফাà¦à¦•া) করতে বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "পà§à¦²à§‡-বà§à¦¯à¦¾à¦• সà§à¦Ÿà§à¦°à¦¿à¦® ফাà¦à¦•া করা হয়েছে।\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "সারà§à¦à¦¾à¦°à§‡à¦° সাথে সà§à¦¥à¦¾à¦ªà¦¿à¦¤ সংযোগ ফাà¦à¦•া করা হচà§à¦›à§‡à¥¤\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() বà§à¦¯à¦°à§à¦¥: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "সাফলà§à¦¯à§‡à¦° সাথে সà§à¦Ÿà§à¦°à¦¿à¦® নিরà§à¦®à¦¿à¦¤ হয়েছে।\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "বাফারের মাপ: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "বাফারের মাপ: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦²à§‡à¦° spec '%s', ও চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বà§à¦¯à¦¬à¦¹à¦¾à¦° করা হচà§à¦›à§‡à¥¤\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "ডিà¦à¦¾à¦‡à¦¸ %s-র সাথে সংযোগ করা হয়েছে (%u, %ssuspended)।\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ষà§à¦Ÿà§à¦°à¦¿à¦® সংকà§à¦°à¦¾à¦¨à§à¦¤ তà§à¦°à§à¦Ÿà¦¿: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডিà¦à¦¾à¦‡à¦¸ সà§à¦¥à¦—িত করা হয়েছে। %s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® ডিà¦à¦¾à¦‡à¦¸ পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦ করা হয়েছে। %s \n"  # underrun = ধীর গতির সà§à¦Ÿà§à¦°à¦¿à¦® -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ধীর গতির সà§à¦Ÿà§à¦°à¦¿à¦®.%s \n"  # overrun=the stream fills up the allocated buffer space and there is no more space for it -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® মাতà§à¦°à¦¾ অতিকà§à¦°à¦® করেছে।%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® আরমà§à¦ করা হয়েছে। %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "%s ডিà¦à¦¾à¦‡à¦¸à§‡ সà§à¦Ÿà§à¦°à¦¿à¦® সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা হয়েছে (%u, %ssuspended)।%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "না " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "সà§à¦Ÿà§à¦°à¦¿à¦® বাফারের অà§à¦¯à¦¾à¦Ÿà§à¦°à¦¿à¦¬à¦¿à¦‰à¦Ÿ পরিবরà§à¦¤à¦¿à¦¤ হয়েছে। %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "সংযোগ সà§à¦¥à¦¾à¦ªà¦¿à¦¤ হয়েছে।%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "সংযোগ বিফল: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "ফাইলের সমাপà§à¦¤à¦¿ সনাকà§à¦¤ হয়েছে। \n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() বà§à¦¯à¦°à§à¦¥: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "ফাইলের সমাপà§à¦¤à¦¿ সনাকà§à¦¤ হয়েছে। \n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "সিগনà§à¦¯à¦¾à¦² পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে, পà§à¦°à¦¸à§à¦¥à¦¾à¦¨ করা হবে।\n"  # latency here = delay (technical term -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "লেটেনà§à¦¸à¦¿à¦° পরিমাণ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "সময়: %0.3f সেকেনà§à¦¡; লেটেনà§à¦¸à¦¿: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() বà§à¦¯à¦°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:605 @@ -1550,34 +1406,34 @@ msgstr ""  "libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে %s\n"  "libpulse-র সাথে যà§à¦•à§à¦¤ %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "রি-সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² পদà§à¦§à¦¤à¦¿ '%s' বৈধ নয়।"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "লেটেনà§à¦¸à¦¿à¦° জনà§à¦¯ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ বৈশিষà§à¦Ÿà§à¦¯ '%s' বৈধ নয়\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "পà§à¦°à¦¸à§‡à¦¸à§‡à¦° সময়ের বৈশিষà§à¦Ÿà§à¦¯ '%s' বৈধ নয়\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "রি-সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² পদà§à¦§à¦¤à¦¿ '%s' বৈধ নয়।"  #: ../src/utils/pacat.c:878 @@ -1586,60 +1442,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "অবৈধ সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² নিরà§à¦§à¦¾à¦°à¦¿à¦¤\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "অতà§à¦¯à¦¾à¦§à¦¿à¦• আরà§à¦—à§à¦®à§‡à¦¨à§à¦Ÿà¥¤\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "শবà§à¦¦à§‡à¦° ফাইল খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥à¥¤\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "à¦à¦•টি %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "à¦à¦•টি %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦²à§‡à¦° মà§à¦¯à¦¾à¦ª ও সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦²à§‡à¦° মাপে গরমিল\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "à¦à¦•টি %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "à¦à¦•টি %s সà§à¦Ÿà§à¦°à¦¿à¦® '%s' সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² বৈশিষà§à¦Ÿà§à¦¯ সহ খোলা হচà§à¦›à§‡à¥¤\n"  #: ../src/utils/pacat.c:1006 @@ -1650,35 +1512,34 @@ msgstr "রেকরà§à¦¡ করা হচà§à¦›à§‡"  msgid "playback"  msgstr "পà§à¦²à§‡-বà§à¦¯à¦¾à¦•" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() বà§à¦¯à¦°à§à¦¥à¥¤\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() বà§à¦¯à¦°à§à¦¥à¥¤\n"  #: ../src/utils/pasuspender.c:81 @@ -1706,6 +1567,11 @@ msgstr "পà§à¦¨à¦°à¦¾à¦°à¦®à§à¦ করতে বà§à¦¯à¦°à§à¦¥: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "সতরà§à¦•বারà§à¦¤à¦¾: শবà§à¦¦à§‡à¦° সারà§à¦à¦¾à¦°à¦Ÿà¦¿ সà§à¦¥à¦¾à¦¨à§€à§Ÿ নয় ও সà§à¦¥à¦—িত করা হচà§à¦›à§‡ না।\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "সংযোগ বিফল: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1746,6 +1612,21 @@ msgstr ""  "libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা হয়েছে %s\n"  "libpulse-র সাথে যà§à¦•à§à¦¤ %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() বà§à¦¯à¦°à§à¦¥à¥¤\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2160,6 +2041,11 @@ msgstr ""  "libpulse সহযোগে কমà§à¦ªà¦¾à¦‡à¦² করা %s\n"  "libpulse-র সাথে যà§à¦•à§à¦¤ %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "চà§à¦¯à¦¾à¦¨à§‡à¦² মà§à¦¯à¦¾à¦ª '%s' বৈধ নয়\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "লোড করার উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à¦°à¦¹ করে à¦à¦•টি সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² ফাইল উলà§à¦²à§‡à¦– করà§à¦¨\n" @@ -2168,6 +2054,11 @@ msgstr "লোড করার উদà§à¦¦à§‡à¦¶à§à¦¯à§‡ অনà§à¦—à§à¦°à¦¹  msgid "Failed to open sound file.\n"  msgstr "শবà§à¦¦à§‡à¦° ফাইল খà§à¦²à¦¤à§‡ বà§à¦¯à¦°à§à¦¥à¥¤\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "সà§à¦¯à¦¾à¦®à§à¦ªà§‡à¦² সংকà§à¦°à¦¾à¦¨à§à¦¤ তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2227,11 +2118,6 @@ msgstr "কারà§à¦¡à§‡à¦° নাম/ইনà§à¦¡à§‡à¦•à§à¦¸ ও à¦à¦•টঠ msgid "No valid command specified.\n"  msgstr "কোনো কমানà§à¦¡ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ হয়নি।\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2348,11 +2234,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn লক পà§à¦°à§Ÿà§‹à¦— করতে বà§à¦¯à¦°à§à¦¥à¥¤" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2369,7 +2255,7 @@ msgstr ""  "POLLOUT set দà§à¦¬à¦¾à¦°à¦¾ চেতাবনী সৃষà§à¦Ÿà¦¿ হয়েছে -- পরবরà§à¦¤à§€ snd_pcm_avail() থেকে 0 অথবা < "  "min_avail-র থেকে কম অনà§à¦¯ à¦à¦•টি মান পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2387,15 +2273,15 @@ msgstr ""  "min_avail-র থেকে কম অনà§à¦¯ à¦à¦•টি মান পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।"  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "বনà§à¦§" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "হাই-ফিডেলিটি পà§à¦²à§‡-বà§à¦¯à¦¾à¦• (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "টেলিফোনি ডà§à¦ªà§à¦²à§‡ (HSP/HFP)" @@ -2403,6 +2289,134 @@ msgstr "টেলিফোনি ডà§à¦ªà§à¦²à§‡ (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio শবà§à¦¦à§‡à¦° সারà§à¦à¦¾à¦°" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "সিসà§à¦Ÿà§‡à¦® বাসের সাথে সংযোগ করতে বà§à¦¯à¦°à§à¦¥: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID থেকে কলারের তথà§à¦¯ পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "কলার অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤" + +#~ msgid "Failed to get CK session." +#~ msgstr "CK সেশান পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥à¥¤" + +#~ msgid "Cannot set UID on session object." +#~ msgstr "সেশান অবজেকà§à¦Ÿà§‡à¦° UID নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥à¥¤" + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤" + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id নিরà§à¦§à¦¾à¦°à¦£ করতে বà§à¦¯à¦°à§à¦¥" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext বরাদà§à¦¦ করতে বà§à¦¯à¦°à§à¦¥à¥¤" + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext আরমà§à¦ করতে বà§à¦¯à¦°à§à¦¥: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "কলার অনà§à¦®à§‹à¦¦à¦¿à¦¤ কি না তা নিরà§à¦§à¦¾à¦°à¦£ করা সমà§à¦à¦¬ নয়: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth পà§à¦°à¦¾à¦ªà§à¦¤ করতে বà§à¦¯à¦°à§à¦¥: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit থেকে '%s' পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "PulseAudio ডেমনের জনà§à¦¯ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং (Unix nice-র মাতà§à¦°à¦¾ নঞরà§à¦¥à¦•)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio ডেমনের জনà§à¦¯ রিয়েল-টাইম শিডিউলিং" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা " +#~ "সমà§à¦à¦¬ হচà§à¦›à§‡ না।" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "সিসà§à¦Ÿà§‡à¦®à§‡à¦° নিয়ম-নীতির কারণে PulseAudio দà§à¦¬à¦¾à¦°à¦¾ রিয়েল-টাইম শিডিউলিং পà§à¦°à§Ÿà§‹à¦— করা " +#~ "সমà§à¦à¦¬ হচà§à¦›à§‡ না।" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() বà§à¦¯à¦°à§à¦¥: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() বà§à¦¯à¦°à§à¦¥: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "অধিক গà§à¦°à§à¦¤à§à¦¬à¦¸à¦¹ শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•ারী '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤" + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "রিয়েল-টাইম শিডিউলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§à¦•ারী '%s' দলে আমরা উপসà§à¦¥à¦¿à¦¤à¥¤" + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-high-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।" + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ হয়েছে।" + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit-র পকà§à¦· থেকে acquire-real-priority অধিকার পà§à¦°à¦¤à§à¦¯à¦¾à¦–à§à¦¯à¦¾à¦¤ হয়েছে।" + +#~ 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 "" +#~ "SUID root কল করা হয়েছে à¦à¦¬à¦‚ কনফিগারেশনের মধà§à¦¯à§‡ রিয়েল-টাইম à¦à¦¬à¦‚/অথবা উচà§à¦š-" +#~ "গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিংয়ের অনà§à¦°à§‹à¦§ জানানো হয়েছে, কিনà§à¦¤à§ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ উপসà§à¦¥à¦¿à¦¤ নেই:\n" +#~ "'%s' দলে অনà§à¦¤à¦°à§à¦à§à¦•à§à¦¤ নয়, PolicyKit দà§à¦¬à¦¾à¦°à¦¾ পরà§à¦¯à¦¾à¦ªà§à¦¤ অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হয়নি à¦à¦¬à¦‚ " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿à¦° করতে হবে।\n" +#~ "রিয়েল-টাইম/উচà§à¦š-গà§à¦°à§à¦¤à§à¦¬à§‡à¦° শিডিউলিং সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ অনà§à¦—à§à¦°à¦¹ করে পà§à¦°à¦¯à§‹à¦œà§à¦¯ PolicyKit " +#~ "অধিকার পà§à¦°à¦¾à¦ªà§à¦¤ করà§à¦¨, অথবা '%s' দলের সদসà§à¦¯ হন, অথবা সংশà§à¦²à¦¿à¦·à§à¦Ÿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর জনà§à¦¯ " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO রিসোরà§à¦¸à§‡à¦° সীমা বৃদà§à¦§à¦¿ করà§à¦¨à¥¤" + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ high-priority শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি " +#~ "দà§à¦¬à¦¾à¦°à¦¾ তা অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।" + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO সাফলà§à¦¯à§‡à¦° সাথে বৃদà§à¦§à¦¿ করা হয়েছে" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO বিফল: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE বরà§à¦œà¦¨ করা হচà§à¦›à§‡" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "কনফিগারেশন দà§à¦¬à¦¾à¦°à¦¾ real-time শিডিইলিংয়ের সà§à¦¬à¦¿à¦§à¦¾ উপলবà§à¦§ হলেও নিয়মনীতি দà§à¦¬à¦¾à¦°à¦¾ তা " +#~ "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "সাফলà§à¦¯à§‡à¦° সাথে CAP_SYS_NICE-ঠকরà§à¦®à¦•à§à¦·à¦®à¦¤à¦¾ সীমিত করা হয়েছে।" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() বà§à¦¯à¦°à§à¦¥à¥¤\n" +  #~ msgid "Analog Mono"  #~ msgstr "অà§à¦¯à¦¾à¦¨à¦¾à¦²à¦— মোনো" @@ -23,15 +23,20 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" -"PO-Revision-Date: 2009-06-10 18:47+0200\n" -"Last-Translator: Judith Pintó Subirada <judithp@gmail.com>\n" -"Language-Team: \n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n" +"PO-Revision-Date: 2009-07-18 11:40+0100\n" +"Last-Translator: Tomàs Bigordà <t0mynoker@gmail.com>\n" +"Language-Team: Catalan <fedora@softcatala.net>\n"  "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n"  "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -44,7 +49,7 @@ msgstr ""  "Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "  "d'aquest incident als desenvolupadors de l'ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -57,7 +62,7 @@ msgstr ""  "Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "  "d'aquest incident als desenvolupadors de l'ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -72,7 +77,7 @@ msgstr ""  #: ../src/modules/module-ladspa-sink.c:49  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Conducte virtual LADSPA"  #: ../src/modules/module-ladspa-sink.c:53  msgid "" @@ -82,8 +87,13 @@ msgid ""  "plugin name> label=<ladspa plugin label> control=<comma seperated list of "  "input control values>"  msgstr "" +"sink_name=<nom per al conducte> sink_properties=<propietats per al conducte> " +"master=<nom del conducte del filtre> format=<format de mostra> rate=<ràtio " +"de mostra> channels=<nombre de canals> channel_map=<mapa de canals> " +"pulgin=<nom del connector ladspa> label=<etiqueta del connector ladspa> " +"control=<llista separada per comes dels valors de control d'entrada>" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Audio intern" @@ -103,223 +113,92 @@ msgstr "No s'ha pogut allotjar el nou carregador dl."  msgid "Failed to add bind-now-loader."  msgstr "No s'ha pogut afegir bind-now-loader." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "No s'ha pogut connectar al bus del sistema: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "No s'ha pogut obtenir una crida del PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "No s'ha pogut especificar l'UID en l'objecte crida." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "No s'ha pogut obtenir la sessió CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "No s'ha pogut definir l'UID en l'objecte sessió." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "No s'ha pogut assignar PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "No s'ha pogut definir action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "No s'ha pogut assignar PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "No s'ha pogut inicialitzar PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "No s'ha pogut determinar si la crida està autoritzada: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "No s'ha pogut obtenir l'autorització: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit ha respós '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "S'ha obtingut la senyal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "S'està sortint." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "No s'ha trobat l'usuari '%s'." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "No s'ha trobat el grup '%s'." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "S'han trobat l'usuari '%s' (UID %lu) i el grup '%s' (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "El GID de l'usuari '%s' i del grup '%s' no coincideixen." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "El directori arrel de l'usuari '%s' no és '%s', s'ignorarà." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "No s'ha pogut crear '%s': %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s" -msgstr "No s'ha pogut canviar la llista del grup :%s" +msgstr "No s'ha pogut canviar la llista del grup: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "No s'ha pogut canviar el GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "No s'ha pogut canviar l'UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "S'han alliberat els permisos de root." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "El mode de sistema global no és compatible amb aquesta plataforma." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "S'ha produït un error en setrlimit(%s, (%u, %u)): %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "No s'ha pogut interpretar la lÃnia d'ordres." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit ha permés el privilegi acquire-high-priority." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit ha rebutjat el privilegi acquire-high-priority." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit ha permés el privilegi acquire-real-time." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit ha rebutjat el privilegi acquire-real-time." - -#: ../src/daemon/main.c:560 -#, 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 "" -"S'ha demanat SUID de root i una planificació de temps real i/o d'alta " -"prioritat. De totes formes, falten els privilegis necessaris:\n" -"No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i no " -"s'ha incrementat els lÃmits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n" -"Per habilitar la planificació en temps real o d'alta prioritat, heu " -"d'obtenir els privilegis de PolicyKits adequats, o pertànyer al grup '%s', o " -"incrementar els lÃmits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a aquest " -"usuari." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit." - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "S'abandona CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"La prioritat de temps real està habilitada en la configuració però no està " -"permesa per la polÃtica." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "El dimoni no s'està executant" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "El dimoni s'està executant amb PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "S'ha produït un error en matar el dimoni: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -327,158 +206,158 @@ msgstr ""  "No és necessari executar aquesta aplicació com a root (excepte si "  "s'especifica --system)" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Es requereixen privilegis de root." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "La opció --start no està suportada per a instàncies de sistema." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr ""  "S'està executant en mode sistema, però no s'ha especificat l'opció --"  "disallow-exit." -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "S'està executant en mode sistema, però no s'ha especificat l'opció --"  "disallow-module-loading." -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  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:745 +#: ../src/daemon/main.c:591  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:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "S'ha produït un error en adquirir stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "Ha fallat la canonada: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "Ha fallat fork(): %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "Ha fallat read(): %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "S'ha produït un error en iniciar el dimoni." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "S'ha iniciat el dimoni." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Aquest és el PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Host de compilació: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS de compilació: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "S'està executant en el host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "S'han trobat %u CPU's" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "La mida de pàgina és de %lu bytes." -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compilat amb suport per a Valgrind: sÃ" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compilat amb suport per a Valgrind: no" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "S'està executant amb el mode valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Construcció optimitzada: sÃ" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Construcció optmitzada: no" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG està definit, s'han desactivat totes les assercions." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr ""  "FASTPATH està definit, només s'ha deshabilitat les assercions de camà ràpid." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "S'han habilitat totes les assercions." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "No s'ha pogut obtenir l'ID de la màquina" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "L'ID de la màquina és %s." -#: ../src/daemon/main.c:917 -#, fuzzy, c-format +#: ../src/daemon/main.c:770 +#, c-format  msgid "Session ID is %s." -msgstr "L'ID de la màquina és %s." +msgstr "L'ID de la sessió és %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "S'està utilitzant el directori d'execució %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "S'està utilitzant el directori d'estat %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "S'està executant en mode sistema: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -487,16 +366,22 @@ msgid ""  "Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "  "explanation why system mode is usually a bad idea."  msgstr "" - -#: ../src/daemon/main.c:951 +"Esteu utilitzant el PA en mode sistema. Tingueu en compte que molt " +"probablement no haurÃeu de fer-ho.\n" +"No obstant això, si ho feu és la vostra responsabilitat si no funciona com " +"s'esperava.\n" +"Si us plau, llegiu http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode per " +"a una explicació de per què el mode sistema sol ser una mala idea." + +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "S'ha produït un error en pa_pid_file_create()." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Estan disponibles els temporitzadors frescos d'alta resolució." -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -504,27 +389,27 @@ msgstr ""  "Es recomana la utilització d'un nucli amb els temporitzadors d'alta "  "resolució habilitats." -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "S'ha produït un error en pa_core_new()." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "S'ha produït un error en inicialitzar el dimoni." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "El dimoni s'ha iniciat sense cap mòdul carregat, no funcionarà." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "S'ha completat la inicialització del dimoni." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "S'ha iniciat l'aturada del dimoni." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "S'ha aturat el dimoni." @@ -624,7 +509,7 @@ msgstr ""  "inicialització\n"  "      --fail[=BOOL]                     Surt quan falli la inicialització\n"  "      --high-priority[=BOOL]            Prova d'establir un nivell de \n" -"                                        prioritat alt (només disponible com " +"                                        Prioritat alta (només disponible com "  "a root,\n"  "                                        amb SUID o amb un RLIMIT_NICE "  "elevat)\n" @@ -658,12 +543,12 @@ msgstr ""  "missatges de registre\n"  "      --log-time[=BOOL]                 Inclou marques de temps en els "  "missatges de registre\n" -"      --log-backtrace=FRAMES            Inclou una traça en els missatges de " +"      --log-backtrace=MARCS             Inclou una traça en els missatges de "  "registre\n" -"  -p, --dl-search-path=CAMI             Estableix el camà de cerca " +"  -p, --dl-search-path=CAMà             Estableix el camà de cerca "  "d'objectes dinàmics\n"  "                                        compartits (plugins)\n" -"      --resample-method=METODE          Utilitza el mètode de remostreig\n" +"      --resample-method=MÈTODE          Utilitza el mètode de remostreig\n"  "                                        (Per veure els valors possibles "  "utilitza                                        --dump-resample-methods)\n"  "      --use-pid-file[=BOOL]             Crea un fitxer PID\n" @@ -674,7 +559,7 @@ msgstr ""  "compartida.\n"  "\n"  "SCRIPT D'INICI:\n" -"  -L, --load=\"ARGUMENTS MODUL\"        Carrega el mòdul especificat amb\n" +"  -L, --load=\"ARGUMENTS MÃ’DUL\"        Carrega el mòdul especificat amb\n"  "                                        els arguments especificats\n"  "  -F, --file=NOMFITXER                  Executa l'script especificat\n"  "  -C                                    Obre una lÃnia d'ordres en la TTY " @@ -787,7 +672,7 @@ msgstr "Càrrega: %s\n"  #: ../src/daemon/dumpmodules.c:75  #, c-format  msgid "DEPRECATION WARNING: %s\n" -msgstr "" +msgstr "Advertència d'obsolescència: %s\n"  #: ../src/daemon/dumpmodules.c:79  #, c-format @@ -872,14 +757,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lectura del fitxer de configuració: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Alliberant els privilegis de root." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "S'han limitat les capacitats cap a CAP_SYS_NICE." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "Sistema de so PulseAudio" @@ -888,30 +769,6 @@ msgstr "Sistema de so PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Inicialitza el sistema de so PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Programació d'alta prioritat (nivell Unix nice negatiu) per al dimoni " -"PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Programació en temps real per al dimoni PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Les normes d'ús del sistema no permeten PulseAudio adquirir programació " -"d'alta prioritat." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"Les normes d'ús del sistema no permeten la programació en temps real de " -"PulseAudio." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1284,189 +1141,193 @@ msgstr "Ha fallat el parseig de les dades de la cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "S'ha produït un error en obrir el fitxer de configuració '%s': %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "No s'ha carregat cap cookie. S'està intentant connectar sense aquesta." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "S'ha rebut un missatge per a una extensió desconeguda '%s'" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "S'ha produït un error en drenar el fluxe: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Flux de reproducció drenat.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "S'està drenant la connexió amb el servidor.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "Ha fallat pa_stream_write(): %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "Ha fallat pa_stream_write(): %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "Ha fallat pa_stream_peek(): %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Flux creat correctament.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "Ha fallat pa_stream_get_buffer_attr(): %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Mètriques del búffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Mètriques del búffer: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr ""  "S'estan utilitzant les especificacions de mostreig '%s', mapejat del canal '%"  "s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "S'ha connectat al dispositiu %s (%u, %ssuspés).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "S'ha produït un error en l'stream: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" -msgstr "Flux del dispositiu suspés.%s\n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s" +msgstr "Flux del dispositiu suspés.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" -msgstr "Flux del dispositiu représ.%s\n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s" +msgstr "Flux del dispositiu représ.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" -msgstr "Dades insuficients al flux .%s\n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s" +msgstr "Dades insuficients al flux.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" -msgstr "Desbordament de flux.%s\n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s" +msgstr "Desbordament de flux.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" -msgstr "S'ha iniciat el flux.%s\n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s" +msgstr "S'ha iniciat el flux.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" -msgstr "S'ha mogut el flux al dispositiu %s (%u, %ssuspés).%s\n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s" +msgstr "S'ha mogut el flux al dispositiu %s (%u, %ssuspés).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not " -msgstr "no" +msgstr "no " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" -msgstr "Atributs del fluxe de la memòria intermèdia canviats.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s" +msgstr "Els atributs del flux de memòria intermèdia han canviat.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" -msgstr "S'ha establert la connexió.%s\n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s" +msgstr "S'ha establert la connexió.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "Ha fallat pa_stream_new(): %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "Ha fallat pa_stream_connect_playback(): %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "Ha fallat pa_stream_connect_record(): %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Ha fallat la connexió: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "S'ha llegit EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "Ha fallat read(): %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "S'ha llegit EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "Ha fallat write(): %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "S'ha rebut un senyal, s'està sortint.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "No s'ha pogut obtenir la latència: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r" -msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs.\r" +msgstr "Temps: %0.3f segs; Latència: %0.0f microsegs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "Ha fallat pa_stream_update_timing_info(): %s\n"  #: ../src/utils/pacat.c:605 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -1542,7 +1403,8 @@ msgstr ""  "connectar-se\n"  "  -n, --client-name=NOM                 Com cridar aquest client al "  "servidor\n" -"      --stream-name=NOM                 Com cridar aquest flux al servidor\n" +"      --stream-name=NOM                 Com cridar aquest flux de dades al " +"servidor\n"  "      --volume=VOLUM                    Especifica el volum inicial lineal "  "dins el rang 0...65536\n"  "      --rate=VELOCITATMOSTREIG          La velocitat de mostreig en Hz (per " @@ -1555,7 +1417,7 @@ msgstr ""  "per a estèreo\n"  "                                        (per omissió, 2)\n"  "      --channel-map=MAPACANAL           Mapa de canals a utilitzar\n" -"      --fix-format                      Pren el format de mostra del " +"      --format-fix                      Pren el format de mostra del "  "conducte al qual s'està connectant\n"  "                                        el flux.\n"  "      --fix-rate                        Pren la velocitat de mostreig del " @@ -1564,13 +1426,21 @@ msgstr ""  "      --fix-channels                    Pren el número de canals i el mapa "  "de canals del\n"  "                                        conducte al qual s'està connectant " -"el flux.\n" +"el flux de dades.\n"  "      --no-remix                        No barregis els canals.\n"  "      --no-remap                        Mapeja els canals per Ãndex en "  "comptes de per nom .\n" -"      --latency=BYTES                   Sol·licita la latència en bytes.\n" +"      --latencia=BYTES                   Sol·licita la latència en bytes.\n"  "      --process-time=BYTES              Sol·licita el temps de procés per "  "petició en bytes.\n" +"      --property=PROPIETAT=VALOR         Establir la propietat especificada " +"per al valor especificat.\n" +"      --raw                             Gravació/reproducció de dades crues " +"PCM.\n" +"      --format-fitxer=FFORMAT             Gravació/reproducció de dades amb " +"format PCM.\n" +"      --list-file-formats               Llista disponible de formats de " +"fitxer.\n"  #: ../src/utils/pacat.c:727  #, c-format @@ -1583,97 +1453,108 @@ msgstr ""  "Compilat amb libpulse %s\n"  "Enllaçat amb libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Mapa de canals invàlid '%s'\n" +msgid "Invalid client name '%s'" +msgstr "Nom del client invàlid '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Mètode de remostratge invàlid '%s'." +msgid "Invalid stream name '%s'" +msgstr "Nom de flux de dades invàlid '%s'\n"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Mapa de canals invàlid '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Especificació de latència invàlida '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Especificació de temps de procés invàlida '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Mètode de remostratge invàlid '%s'." +msgid "Invalid property '%s'" +msgstr "Propietat invàlida '%s'\n"  #: ../src/utils/pacat.c:878  #, c-format  msgid "Unknown file format %s." -msgstr "" +msgstr "Format desconegut de fitxer %s."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Especificació de mostra invàlida\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" -msgstr "Hi han massa arguments.\n" +#, fuzzy +msgid "Too many arguments." +msgstr "Massa arguments.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" -msgstr "No s'ha pogut obtenir informació de la mostra: %s\n" +msgid "Failed to generate sample specification for file." +msgstr "No s'ha pogut obtenir informació del fitxer.\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "No s'ha pogut obrir el fitxer de so.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" +"Advertència: l'especificació de mostra especificada se sobreescriurà amb " +"l'especificació del fitxer.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" -msgstr "No s'ha pogut obtenir informació de la mostra: %s\n" +msgid "Failed to determine sample specification from file." +msgstr "No s'ha pogut determinar l'especificació de mostra del fitxer.\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" +#, fuzzy +msgid "Warning: Failed to determine channel map from file."  msgstr "" +"Advertència: no s'ha pogut determinar el mapeig de canals des del fitxer.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "El mapa de canals no coincideix amb l'especificació de mostra\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Advertència: no s'ha pogut escriure el mapa de canals en un fitxer.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" -msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'." +msgstr "" +"S'està obrint un flux de dades %s amb especificació de mostra '%s' i mapa de " +"canals '%s'.\n"  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1683,36 +1564,35 @@ msgstr "enregistrant"  msgid "playback"  msgstr "reproducció" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" -msgstr "Ha fallat pa_mainloop_new().\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed." +msgstr "Ha fallat el pa_mainloop_new().\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" -msgstr "Ha fallat io_new().\n" +#, fuzzy +msgid "io_new() failed." +msgstr "Ha fallat el io_new().\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" -msgstr "Ha fallat pa_context_new().\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed." +msgstr "Ha fallat el pa_context_new().\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "Ha fallat pa_context_connect(): %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "Ha fallat time_new().\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "Ha fallat el pa_context_new().\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" -msgstr "Ha fallat pa_mainloop_run().\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed." +msgstr "Ha fallat el pa_mainloop_run().\n"  #: ../src/utils/pasuspender.c:81  #, c-format @@ -1739,6 +1619,11 @@ msgstr "No s'ha pogut en rependre: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "ADVERTÈNCIA: el sevidor de so no és local, no s'està suspenent.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Ha fallat la connexió: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1779,6 +1664,21 @@ msgstr ""  "Compilat amb libpulse %s\n"  "Enllaçat amb libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "Ha fallat el pa_mainloop_new().\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "Ha fallat el pa_context_new().\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "Ha fallat el pa_mainloop_run().\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1874,14 +1774,14 @@ msgstr ""  "\t\t%s\n"  #: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 -#, fuzzy, c-format +#, c-format  msgid "\tPorts:\n" -msgstr "\tPerfils:\n" +msgstr "\tPorts:\n"  #: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#, c-format  msgid "\tActive Port: %s\n" -msgstr "\tPerfil actiu: %s\n" +msgstr "\tPort actiu: %s\n"  #: ../src/utils/pactl.c:290  #, c-format @@ -1933,7 +1833,7 @@ msgstr ""  #: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631  #: ../src/utils/pactl.c:638  msgid "n/a" -msgstr "n/d" +msgstr "n/a"  #: ../src/utils/pactl.c:368  #, c-format @@ -2136,7 +2036,7 @@ msgid "Premature end of file\n"  msgstr "S'ha trobat un fi de fitxer prematurament\n"  #: ../src/utils/pactl.c:826 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options] stat\n"  "%s [options] list\n" @@ -2170,18 +2070,19 @@ msgstr ""  "%s [opcions] remove-sample NOM\n"  "%s [opcions] move-sink-input ID CONDUCTE\n"  "%s [opcions] move-source-output ID FONT\n" -"%s [opcions] load-module NOM [ARGS ...]\n" +"%s [opcions] load-module NOM [ARGUMENTS ...]\n"  "%s [opcions] unload-module ID\n"  "%s [opcions] suspend-sink [CONDUCTE] 1|0\n"  "%s [opcions] suspend-source [FONT] 1|0\n"  "%s [opcions] set-card-profile [TARGETA] [PERFIL] \n" +"%s [opcions] set-sink-port [CONDUCTE] [PORT] \n" +"%s [opcions] set-source-port [FONT] [PORT] \n"  "\n"  "  -h, --help                            Mostra aquesta ajuda\n"  "      --version                         Mostra la versió\n"  "\n" -"  -s, --server=SERVIDOR                 Nom del servidor al qual connectar-" -"se\n" -"  -n, --client-name=NOM                 Com cridar aquest client al " +"  -s, --server=SERVER                   Nom del servidor on connectar-s'hi\n" +"  -n, --client-name=NAME                Com cridar aquest client en el "  "servidor\n"  #: ../src/utils/pactl.c:880 @@ -2195,6 +2096,11 @@ msgstr ""  "Compilat amb libpulse %s\n"  "Enllaçat amb libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "Nom del client invàlid '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Especifiqueu un fitxer de mostra per a carregar\n" @@ -2203,10 +2109,15 @@ msgstr "Especifiqueu un fitxer de mostra per a carregar\n"  msgid "Failed to open sound file.\n"  msgstr "No s'ha pogut obrir el fitxer de so.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "No s'ha pogut determinar l'especificació de mostra del fitxer.\n" +  #: ../src/utils/pactl.c:951 -#, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" -msgstr "S'està obrint un flux %s amb especificació de mostra '%s'.\n" +msgstr "" +"Advertència: No s'ha pogut determinar l'especificació de mostra a partir del " +"fitxer.\n"  #: ../src/utils/pactl.c:961  msgid "You have to specify a sample name to play\n" @@ -2214,7 +2125,7 @@ msgstr "Heu d'especificar un nom de mostra a reproduir\n"  #: ../src/utils/pactl.c:973  msgid "You have to specify a sample name to remove\n" -msgstr "Heu d'especificar un nom de mostra a esborrar\n" +msgstr "Heu d'especificar un nom de mostra a suprimir\n"  #: ../src/utils/pactl.c:982  msgid "You have to specify a sink input index and a sink\n" @@ -2252,24 +2163,17 @@ msgid "You have to specify a card name/index and a profile name\n"  msgstr "Heu d'especificar un nom o un Ãndex de targeta i un nom de perfil\n"  #: ../src/utils/pactl.c:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "Heu d'especificar un nom o un Ãndex de targeta i un nom de perfil\n" +msgstr "Heu d'especificar un nom o un Ãndex de conducte i un nom de port\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "Heu d'especificar un nom o un Ãndex de targeta i un nom de perfil\n" +msgstr "Heu d'especificar un nom o un Ãndex de font i un nom de port\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "S'ha especificat una ordre invàlida.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "Ha fallat pa_context_connect(): %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2354,6 +2258,8 @@ msgstr "Encara no s'ha implementat.\n"  #: ../src/utils/pacmd.c:61  msgid "No PulseAudio daemon running, or not running as session daemon."  msgstr "" +"El dimoni PulseAudio no s'està executant, o no s'està executant com a dimoni " +"de la sessió."  #: ../src/utils/pacmd.c:66  #, c-format @@ -2388,11 +2294,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "No s'ha pogut accedir al bloqueig d'autospawn." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2406,10 +2312,10 @@ msgstr ""  "havia res a escriure!\n"  "Probablement es tracta d'un error del controlador de l'ALSA '%s'. Informeu "  "d'aquest problema als desenvolupadors de l'ALSA.\n" -"Ens han cridat mitjançant POLLOUT set -- tammateix una crida posterior de " +"Ens han aixecat amb POLLOUT activat -- tanmateix una crida posterior a "  "snd_pcm_avail() ha retornat 0 o un altre valor < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2423,19 +2329,19 @@ msgstr ""  "res a llegir!\n"  "Probablement es tracta d'un error de la controladora '%s' de l'ALSA. "  "Reporteu aquest problema als desenvolupadors de l'ALSA.\n" -"Ens ha cridat mitjançant POLLIN set -- tammateix una ordre posterior " +"Ens han aixecat amb POLLIN activat -- tanmateix una crida posterior a "  "snd_pcm_avail() ha retornat 0 o un altre valor < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Inactiu" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Reproducció d'alta fidelitat (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Dúplex de telefonia (HSP/HFP)" @@ -2443,6 +2349,140 @@ msgstr "Dúplex de telefonia (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Servidor de so PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "No s'ha pogut connectar al bus del sistema: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "No s'ha pogut obtenir una crida del PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "No s'ha pogut especificar l'UID en l'objecte crida." + +#~ msgid "Failed to get CK session." +#~ msgstr "No s'ha pogut obtenir la sessió CK." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "No s'ha pogut definir l'UID en l'objecte sessió." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "No s'ha pogut assignar PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "No s'ha pogut definir action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "No s'ha pogut assignar PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "No s'ha pogut inicialitzar PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "No s'ha pogut determinar si la crida està autoritzada: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "No s'ha pogut obtenir l'autorització: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ha respós '%s'" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Programació d'alta prioritat (nivell Unix nice negatiu) per al dimoni " +#~ "PulseAudio" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Programació en temps real per al dimoni PulseAudio" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Les normes d'ús del sistema no permeten PulseAudio adquirir programació " +#~ "d'alta prioritat." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Les normes d'ús del sistema no permeten la programació en temps real de " +#~ "PulseAudio." + +#~ msgid "read() failed: %s\n" +#~ msgstr "Ha fallat read(): %s\n" + +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "Ha fallat el pa_context_connect(): %s\n" + +#~ 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." + +#~ 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." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit ha permés el privilegi acquire-high-priority." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit ha rebutjat el privilegi acquire-high-priority." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit ha permés el privilegi acquire-real-time." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit ha rebutjat el privilegi acquire-real-time." + +#~ 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 "" +#~ "S'ha demanat SUID de root i una planificació de temps real i/o d'alta " +#~ "prioritat. Tanmateix, falten els privilegis necessaris:\n" +#~ "No es pertany al grup '%s'. PolicyKit no atorga els privilegis demanats i " +#~ "no s'ha incrementat els lÃmits de recursos RLIMIT_NICE/RLIMIT_RTPRIO.\n" +#~ "Per habilitar la planificació en temps real o d'alta prioritat, heu " +#~ "d'obtenir els privilegis de PolicyKit adequats, o pertànyer al grup '%s', " +#~ "o incrementar els lÃmits de recursos de RLIMIT_NICE/RLIMIT_RTPRIO per a " +#~ "aquest usuari." + +#~ 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." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "S'ha incrementat el valor de RLIMIT_RTPRIO amb éxit." + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "S'ha produït un error amb RLIMIT_RTPRIO: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "S'abandona CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "La prioritat de temps real està habilitada en la configuració però no " +#~ "està permesa per la polÃtica." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "S'han limitat les capacitats cap a CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "Ha fallat el time_new().\n" +  #~ msgid "Analog Mono"  #~ msgstr "Mono analògic" @@ -7,17 +7,22 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" -"PO-Revision-Date: 2009-05-03 23:57+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n" +"PO-Revision-Date: 2009-07-07 20:37+0200\n"  "Last-Translator: Petr Kovar <pknbe@volny.cz>\n"  "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"  "MIME-Version: 1.0\n"  "Content-Type: text/plain; charset=UTF-8\n"  "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: Lokalize 0.3\n"  "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -30,7 +35,7 @@ msgstr ""  "S nejvÄ›tšà pravdÄ›podobnostà se jedná o chybu v ovladaÄi ALSA \"%s\". "  "Nahlaste prosÃm tento problém vývojářům ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -43,7 +48,7 @@ msgstr ""  "S nejvÄ›tšà pravdÄ›podobnostà se jedná o chybu v ovladaÄi ALSA \"%s\". "  "Nahlaste prosÃm tento problém vývojářům ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -58,7 +63,7 @@ msgstr ""  #: ../src/modules/module-ladspa-sink.c:49  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Virtuálnà cÃl LADSPA"  #: ../src/modules/module-ladspa-sink.c:53  msgid "" @@ -68,8 +73,13 @@ msgid ""  "plugin name> label=<ladspa plugin label> control=<comma seperated list of "  "input control values>"  msgstr "" +"sink_name=<název cÃle> sink_properties=<vlastnosti cÃle> master=<název " +"filtrovaného cÃle> format=<vzorkovacà formát> rate=<vzorkovacà frekvence> " +"channels=<poÄet kanálů> channel_map=<mapa kanálů> plugin=<název zásuvného " +"modulu ladspa> label=<popisek zásuvného modulu ladspa> control=<Äárkou " +"oddÄ›lený seznam hodnot ovládánà vstupu>" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "VnitÅ™nà zvukový systém" @@ -89,218 +99,92 @@ msgstr "NezdaÅ™ilo se pÅ™idÄ›lenà nového nahrávacÃho programu dl."  msgid "Failed to add bind-now-loader."  msgstr "NezdaÅ™ilo se pÅ™idat bind-now-loader." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Nelze se spojit se systémovou sbÄ›rnicÃ: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Nelze zÃskat volajÃcÃho z PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Nelze nastavit UID na objekt volajÃcÃho." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "NezdaÅ™ilo se zÃskánà sezenà CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Nelze nastavit UID na objekt sezenÃ." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Nelze alokovat PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Nelze nastavit action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Nelze alokovat PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Nelze spustit PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "NezdaÅ™ilo se urÄit, zda je volajÃcà oprávnÄ›n: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "NezdaÅ™ilo se zÃskat oprávnÄ›nÃ: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit odpovÄ›dÄ›l s \"%s\"" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "ZÃskán signál %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "UkonÄovánÃ." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "NezdaÅ™ilo se nalézt uživatele \"%s\"." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "NezdaÅ™ilo se nalézt skupinu \"%s\"." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Nalezen uživatel \"%s\" (UID %lu) a skupina \"%s\" (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID uživatele \"%s\" a skupiny \"%s\" nesouhlasÃ." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Domovský adresář uživatele \"%s\" nenà \"%s\", bude ignorováno." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "NezdaÅ™ilo se vytvoÅ™it \"%s\": %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "NezdaÅ™ilo se zmÄ›nit seznam skupin: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "NezdaÅ™ilo se zmÄ›nit GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "NezdaÅ™ilo se zmÄ›nit UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "OprávnÄ›nà superuživatele úspěšnÄ› zruÅ¡ena." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Režim celého systému nenà na této platformÄ› podporován." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) selhalo: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "NezdaÅ™ila se analýza pÅ™Ãkazového řádku." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit nám udÄ›lil oprávnÄ›nà acquire-high-priority." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit nám neudÄ›lil oprávnÄ›nà acquire-high-priority." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit nám udÄ›lil oprávnÄ›nà acquire-real-time." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit nám neudÄ›lil oprávnÄ›nà acquire-real-time." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Voláno SUID root a v nastavenà bylo požádáno o plánovánà v reálném Äase Äi o " -"vysoké prioritÄ›. Scházà nám ovÅ¡em potÅ™ebná oprávnÄ›nÃ.\n" -"Nejsme ve skupinÄ› \"%s\", PolicyKit nám odmÃtá pÅ™idÄ›lit požadovaná oprávnÄ›nà " -"a je nutné zvýšit omezenà zdroje RLIMIT_NICE/RLIMIT_RTPRIO.\n" -"Plánovánà v reálném Äase Äi o vysoké prioritÄ› zapnete zÃskánÃm pÅ™ÃsluÅ¡ných " -"oprávnÄ›nà PolicyKit, nebo tÃm, že se stanete Äleny \"%s\", nebo uživateli " -"zvýšÃte omezenà zdroje RLIMIT_NICE/RLIMIT_RTPRIO." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "ÚspěšnÄ› zvýšeno RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO selhalo: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Vzdávánà se CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Démon neběžÃ" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Démon běžà jako PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Zabità démona se nezdaÅ™ilo: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -308,150 +192,150 @@ msgstr ""  "Tento program nenà urÄen ke spuÅ¡tÄ›nà pod superuživatelem (nenÃ-li zadáno --"  "system)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Jsou vyžadována oprávnÄ›nà superuživatele." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start nepodporováno u systémových instancÃ." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  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:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  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:745 +#: ../src/daemon/main.c:591  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:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "NezdaÅ™ilo se zÃskánà stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe selhalo: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() selhalo: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() selhalo: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "SpuÅ¡tÄ›nà démona selhalo." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "SpuÅ¡tÄ›nà démona bylo úspěšné." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Toto je PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "PÅ™ekladový poÄÃtaÄ: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "PÅ™ekladové CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Běžà na poÄÃtaÄi: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Nalezen následujÃcà poÄet CPU: %u." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Velikost stránky je %lu bajtů" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "PÅ™eloženo s podporou Valgrind: ano" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "PÅ™eloženo s podporou Valgrind: ne" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Běžà v režimu valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimalizované sestavenÃ: ano" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimalizované sestavenÃ: ne" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definováno, vÅ¡echny výrazy zakázány." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definováno, zakázány pouze výrazy rychlých cest." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "VÅ¡echny výrazy povoleny." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "NezdaÅ™ilo se zÃskánà ID poÄÃtaÄe" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "ID poÄÃtaÄe je %s." -#: ../src/daemon/main.c:917 -#, fuzzy, c-format +#: ../src/daemon/main.c:770 +#, c-format  msgid "Session ID is %s." -msgstr "ID poÄÃtaÄe je %s." +msgstr "ID sezenà je %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "PoužÃván bÄ›hový adresář %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "PoužÃván stavový adresář %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Běžà v systémovém režimu: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -460,17 +344,23 @@ msgid ""  "Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "  "explanation why system mode is usually a bad idea."  msgstr "" - -#: ../src/daemon/main.c:951 +"Dobrá, máte tedy PA spuÅ¡tÄ›n v systémovém režimu. Vemte prosÃm na vÄ›domÃ, že " +"k tomuto by až na výjimeÄné situace nÄ›melo docházet.\n" +"Pokud v této Äinnosti pÅ™esto budete pokraÄovat, nesete riziko za možné " +"Å¡patné a nepÅ™edvÃdatelné chovánà systému.\n" +"VysvÄ›tlenÃ, proÄ je systémový režim obvykle velmi Å¡patný nápad, si můžete " +"pÅ™eÄÃst na http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode." + +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() selhalo." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  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:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -478,27 +368,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:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() selhalo." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Selhalo spuÅ¡tÄ›nà démona." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  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:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "SpuÅ¡tÄ›nà démona dokonÄeno." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "VypÃnánà démona spuÅ¡tÄ›no." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Démon ukonÄen." @@ -752,7 +642,7 @@ msgstr "NaÄÃst jednou: %s\n"  #: ../src/daemon/dumpmodules.c:75  #, c-format  msgid "DEPRECATION WARNING: %s\n" -msgstr "" +msgstr "VAROVÃNà ZASTARALOSTI: %s\n"  #: ../src/daemon/dumpmodules.c:79  #, c-format @@ -837,14 +727,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### ÄŒtenà z konfiguraÄnÃho souboru: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "RuÅ¡enà superuživatelských oprávnÄ›nÃ." -#: ../src/daemon/caps.c:103 -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 "Zvukový systém PulseAudio" @@ -853,29 +739,6 @@ msgstr "Zvukový systém PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Spustit zvukový systém PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Plánovánà o vysoké prioritÄ› (záporná úroveň nice v Unixu) démona PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Plánovánà v reálném Äase démona PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Systémová pravidla znemožňujà technologii PulseAudio zÃskat pÅ™Ãstup k " -"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 "" -"Systémová pravidla znemožňujà technologii PulseAudio zÃskat pÅ™Ãstup k " -"plánovánà v reálném Äase." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1248,188 +1111,192 @@ msgstr "Selhala analýza dat cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "Selhalo otevÅ™enà konfiguraÄnÃho souboru \"%s\": %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Žádný soubor cookie nenahrán. Pokus o spojenà bez tohoto kroku." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "PÅ™ijata zpráva pro neznámé rozÅ¡ÃÅ™enà \"%s\"" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "NezdaÅ™ilo se vyprázdnit proud: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Proud pÅ™ehrávánà vyprázdnÄ›n.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Vyprazdňovánà spojenà se serverem.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() selhalo: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() selhalo: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() selhalo: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Proud úspěšnÄ› vytvoÅ™en.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() selhalo: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr ""  "Metrika vyrovnávacà pamÄ›ti: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Metrika vyrovnávacà pamÄ›ti: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" -msgstr "PoužÃvána vzorkovacà specifikace \"%s\", mapa kanálů \"%s\".\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'." +msgstr "PoužÃváno urÄenà vzorku \"%s\", mapa kanálů \"%s\".\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "PÅ™ipojeno k zaÅ™Ãzenà %s (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Chyba proudu: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Proudové zaÅ™Ãzenà pozastaveno.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Proudové zaÅ™Ãzenà obnoveno.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "PodbÄ›hnutà proudu.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "PÅ™ebÄ›hnutà proudu.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Proud spuÅ¡tÄ›n.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Proud pÅ™esunut na zaÅ™Ãzenà %s (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "nikoliv " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "ZmÄ›nÄ›ny atributy vyrovnávacà pamÄ›ti proudu.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Spojenà navázáno.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() selhalo: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() selhalo: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() selhalo: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Spojenà selhalo: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "ZÃskáno EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() selhalo: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "ZÃskáno EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() selhalo: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "ZÃskán signál, ukonÄovánÃ.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "NezdaÅ™ilo se zÃskat latenci: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "ÄŒas: %0.3f sekund; latence: %0.0f μs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() selhalo: %s\n"  #: ../src/utils/pacat.c:605 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -1531,6 +1398,13 @@ msgstr ""  "      --latency=BAJTY                   Vyžádá urÄenou latenci v bajtech.\n"  "      --process-time=BAJTY              Vyžádá urÄený Äas zpracovánà na "  "požadavek v bajtech.\n" +"      --property=VLASTNOST=HODNOTA      Nastavà urÄenou vlastnost na urÄenou " +"hodnotu.\n" +"      --raw                             Nahrává/pÅ™ehrává surová data PCM.\n" +"      --file-format=FORMÃT              Nahrává/pÅ™ehrává formátovaná data " +"PCM.\n" +"      --list-file-formats               Zobrazà seznam dostupných formátů " +"souborů.\n"  #: ../src/utils/pacat.c:727  #, c-format @@ -1543,97 +1417,104 @@ msgstr ""  "PÅ™eloženo s libpulse %s\n"  "Propojeno s libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Neplatná mapa kanálů \"%s\"\n" +msgid "Invalid client name '%s'" +msgstr "Neplatný název klienta \"%s\"\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Neplatná metoda pÅ™evzorkovánà \"%s\"." +msgid "Invalid stream name '%s'" +msgstr "Neplatný název proudu \"%s\"\n"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Neplatná mapa kanálů \"%s\"\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Neplatné upÅ™esnÄ›nà latence \"%s\"\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Neplatné upÅ™esnÄ›nà Äasu zpracovánà \"%s\"\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Neplatná metoda pÅ™evzorkovánà \"%s\"." +msgid "Invalid property '%s'" +msgstr "Neplatná vlastnost \"%s\"\n"  #: ../src/utils/pacat.c:878  #, c-format  msgid "Unknown file format %s." -msgstr "" +msgstr "Neznámý formát souboru %s."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "Neplatné upÅ™esnÄ›nà vzorkovánÃ\n" +#, fuzzy +msgid "Invalid sample specification" +msgstr "Neplatné urÄenà vzorku\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "PÅ™ÃliÅ¡ mnoho argumentů.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" -msgstr "Selhalo zÃskánà informace o vzorku: %s\n" +msgid "Failed to generate sample specification for file." +msgstr "Selhalo vytvoÅ™enà urÄenà vzorku souboru.\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Selhalo otevÅ™enà zvukového souboru.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" +"VarovánÃ: zadané urÄenà vzorku bude pÅ™epsáno urÄenÃm zÃskaným ze souboru.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" -msgstr "Selhalo zÃskánà informace o vzorku: %s\n" +msgid "Failed to determine sample specification from file." +msgstr "Selhalo zjiÅ¡tÄ›nà urÄenà vzorku ze souboru.\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "VarovánÃ: Selhalo zjiÅ¡tÄ›nà mapy kanálů ze souboru.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "Mapa kanálů se neshoduje s upÅ™esnÄ›nÃm vzorkovánÃ\n" +#, fuzzy +msgid "Channel map doesn't match sample specification" +msgstr "Mapa kanálů se neshoduje s urÄenÃm vzorku\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "VarovánÃ: selhal zápis mapy kanálů do souboru.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" -msgstr "OtevÃránà proudu %s s upÅ™esnÄ›nÃm vzorkovánà \"%s\".\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'." +msgstr "OtevÃránà proudu %s s urÄenÃm vzorku \"%s\" a mapou kanálů \"%s\".\n"  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1643,35 +1524,34 @@ msgstr "nahrávánÃ"  msgid "playback"  msgstr "pÅ™ehrávánÃ" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() selhalo.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() selhalo.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() selhalo.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() selhalo: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() selhalo.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() selhalo.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() selhalo.\n"  #: ../src/utils/pasuspender.c:81 @@ -1699,6 +1579,11 @@ 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:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Spojenà selhalo: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1738,6 +1623,21 @@ msgstr ""  "PÅ™eloženo s libpulse %s\n"  "Propojeno s libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() selhalo.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() selhalo.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() selhalo.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1780,7 +1680,7 @@ msgstr ""  "Název poÄÃtaÄe: %s\n"  "Název serveru: %s\n"  "Verze serveru: %s\n" -"Výchozà upÅ™esnÄ›nà vzorkovánÃ: %s\n" +"Výchozà urÄenà vzorku: %s\n"  "Výchozà mapa kanálů: %s\n"  "Výchozà cÃl: %s\n"  "Výchozà zdroj: %s\n" @@ -1817,7 +1717,7 @@ msgstr ""  "\tNázev: %s\n"  "\tPopis: %s\n"  "\tOvladaÄ: %s\n" -"\tUpÅ™esnÄ›nà vzorkovánÃ: %s\n" +"\tUrÄenà vzorku: %s\n"  "\tMapa kanálů: %s\n"  "\tModul vlastnÃka: %u\n"  "\tZtlumenÃ: %s\n" @@ -1831,14 +1731,14 @@ msgstr ""  "\t\t%s\n"  #: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 -#, fuzzy, c-format +#, c-format  msgid "\tPorts:\n" -msgstr "\tProfily:\n" +msgstr "\tPorty:\n"  #: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#, c-format  msgid "\tActive Port: %s\n" -msgstr "\tAktivnà profil: %s\n" +msgstr "\tAktivnà port: %s\n"  #: ../src/utils/pactl.c:290  #, c-format @@ -1871,7 +1771,7 @@ msgstr ""  "\tNázev: %s\n"  "\tPopis: %s\n"  "\tOvladaÄ: %s\n" -"\tUpÅ™esnÄ›nà vzorkovánÃ: %s\n" +"\tUrÄenà vzorku: %s\n"  "\tMapa kanálů: %s\n"  "\tModul vlastnÃka: %u\n"  "\tZtlumenÃ: %s\n" @@ -1996,7 +1896,7 @@ msgstr ""  "\tModul vlastnÃka: %s\n"  "\tKlient: %s\n"  "\tCÃl: %u\n" -"\tUpÅ™esnÄ›nà vzorkovánÃ: %s\n" +"\tUrÄenà vzorku: %s\n"  "\tMapa kanálů: %s\n"  "\tZtlumenÃ: %s\n"  "\tHlasitost: %s\n" @@ -2034,7 +1934,7 @@ msgstr ""  "\tModul vlastnÃka: %s\n"  "\tKlient: %s\n"  "\tZdroj: %u\n" -"\tUpÅ™esnÄ›nà vzorkovánÃ: %s\n" +"\tUrÄenà vzorku: %s\n"  "\tMapa kanálů: %s\n"  "\tLatence vyrovnávacà pamÄ›ti: %0.0f μs\n"  "\tLatence zdroje: %0.0f μs\n" @@ -2066,7 +1966,7 @@ msgid ""  msgstr ""  "Vzorek Ä. %u\n"  "\tNázev: %s\n" -"\tUpÅ™esnÄ›nà vzorkovánÃ: %s\n" +"\tUrÄenà vzorku: %s\n"  "\tMapa kanálů: %s\n"  "\tHlasitost: %s\n"  "\t        %s\n" @@ -2093,7 +1993,7 @@ msgid "Premature end of file\n"  msgstr "PÅ™edÄasný konec souboru\n"  #: ../src/utils/pactl.c:826 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options] stat\n"  "%s [options] list\n" @@ -2132,6 +2032,8 @@ msgstr ""  "%s [pÅ™epÃnaÄe] suspend-sink [CÃL] 1|0\n"  "%s [pÅ™epÃnaÄe] suspend-source [ZDROJ] 1|0\n"  "%s [pÅ™epÃnaÄe] set-card-profile [KARTA] [PROFIL] \n" +"%s [pÅ™epÃnaÄe] set-sink-port [CÃL] [PORT] \n" +"%s [pÅ™epÃnaÄe] set-source-port [ZDROJ] [PORT] \n"  "\n"  "  -h, --help                            Zobrazà tuto nápovÄ›du\n"  "      --version                         Zobrazà verzi\n" @@ -2151,6 +2053,11 @@ msgstr ""  "PÅ™eloženo s libpulse %s\n"  "Propojeno s libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "Neplatný název klienta \"%s\"\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Zadejte prosÃm soubor se vzorkem urÄeným k nahránÃ\n" @@ -2159,10 +2066,13 @@ msgstr "Zadejte prosÃm soubor se vzorkem urÄeným k nahránÃ\n"  msgid "Failed to open sound file.\n"  msgstr "Selhalo otevÅ™enà zvukového souboru.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "Selhalo zjiÅ¡tÄ›nà urÄenà vzorku ze souboru.\n" +  #: ../src/utils/pactl.c:951 -#, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" -msgstr "OtevÃránà proudu %s s upÅ™esnÄ›nÃm vzorkovánà \"%s\".\n" +msgstr "VarovánÃ: Selhalo zjiÅ¡tÄ›nà urÄenà vzorku ze souboru.\n"  #: ../src/utils/pactl.c:961  msgid "You have to specify a sample name to play\n" @@ -2206,24 +2116,17 @@ msgid "You have to specify a card name/index and a profile name\n"  msgstr "Je nutné upÅ™esnit název karty/indexu a název profilu\n"  #: ../src/utils/pactl.c:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "Je nutné upÅ™esnit název karty/indexu a název profilu\n" +msgstr "Je nutné upÅ™esnit název cÃle/indexu a název portu\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "Je nutné upÅ™esnit název karty/indexu a název profilu\n" +msgstr "Je nutné upÅ™esnit název zdroje/indexu a název portu\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "Nezadán žádný platný pÅ™Ãkaz.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() selhalo: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2305,7 +2208,7 @@ msgstr "Doposud neimplementováno.\n"  #: ../src/utils/pacmd.c:61  msgid "No PulseAudio daemon running, or not running as session daemon." -msgstr "" +msgstr "Neběžà žádný démon PulseAudio, nebo neběžà jako démon sezenÃ."  #: ../src/utils/pacmd.c:66  #, c-format @@ -2340,11 +2243,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Nelze pÅ™istoupit k zámku automatického spouÅ¡tÄ›nÃ." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2361,7 +2264,7 @@ msgstr ""  "Probudilo nás nastavenà POLLOUT - nicménÄ› následné snd_pcm_avail() vrátilo 0 "  "Äi jinou hodnotu < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2379,15 +2282,15 @@ msgstr ""  "Äi jinou hodnotu < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Vypnuto" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "PÅ™ehrávánà s velmi vÄ›rnou reprodukcà (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Duplexnà telefonie (HSP/HFP)" @@ -2395,6 +2298,136 @@ msgstr "Duplexnà telefonie (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Zvukový server PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Nelze se spojit se systémovou sbÄ›rnicÃ: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Nelze zÃskat volajÃcÃho z PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Nelze nastavit UID na objekt volajÃcÃho." + +#~ msgid "Failed to get CK session." +#~ msgstr "NezdaÅ™ilo se zÃskánà sezenà CK." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Nelze nastavit UID na objekt sezenÃ." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Nelze alokovat PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Nelze nastavit action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Nelze alokovat PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Nelze spustit PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "NezdaÅ™ilo se urÄit, zda je volajÃcà oprávnÄ›n: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "NezdaÅ™ilo se zÃskat oprávnÄ›nÃ: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit odpovÄ›dÄ›l s \"%s\"" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Plánovánà o vysoké prioritÄ› (záporná úroveň nice v Unixu) démona " +#~ "PulseAudio" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Plánovánà v reálném Äase démona PulseAudio" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Systémová pravidla znemožňujà technologii PulseAudio zÃskat pÅ™Ãstup k " +#~ "plánovánà o vysoké prioritÄ›." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Systémová pravidla znemožňujà technologii PulseAudio zÃskat pÅ™Ãstup k " +#~ "plánovánà v reálném Äase." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() selhalo: %s\n" + +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() selhalo: %s\n" + +#~ 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Ä›." + +#~ 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." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit nám udÄ›lil oprávnÄ›nà acquire-high-priority." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit nám neudÄ›lil oprávnÄ›nà acquire-high-priority." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit nám udÄ›lil oprávnÄ›nà acquire-real-time." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit nám neudÄ›lil oprávnÄ›nà acquire-real-time." + +#~ 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 "" +#~ "Voláno SUID root a v nastavenà bylo požádáno o plánovánà v reálném Äase " +#~ "Äi o vysoké prioritÄ›. Scházà nám ovÅ¡em potÅ™ebná oprávnÄ›nÃ.\n" +#~ "Nejsme ve skupinÄ› \"%s\", PolicyKit nám odmÃtá pÅ™idÄ›lit požadovaná " +#~ "oprávnÄ›nà a je nutné zvýšit omezenà zdroje RLIMIT_NICE/RLIMIT_RTPRIO.\n" +#~ "Plánovánà v reálném Äase Äi o vysoké prioritÄ› zapnete zÃskánÃm " +#~ "pÅ™ÃsluÅ¡ných oprávnÄ›nà PolicyKit, nebo tÃm, že se stanete Äleny \"%s\", " +#~ "nebo uživateli zvýšÃte omezenà zdroje RLIMIT_NICE/RLIMIT_RTPRIO." + +#~ 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." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "ÚspěšnÄ› zvýšeno RLIMIT_RTPRIO" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO selhalo: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Vzdávánà se CAP_NICE" + +#~ 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." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Schopnosti úspěšnÄ› omezeny na CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() selhalo.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analogové mono" @@ -3,13 +3,13 @@  # This file is distributed under the same license as the pulseaudio package.  #  # Fabian Affolter <fab@fedoraproject.org>, 2008-2009. -# Micha Pietsch <barney@fedoraproject.org>, 2008 +# Micha Pietsch <barney@fedoraproject.org>, 2008, 2009.  #  msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-18 12:43+0100\n"  "Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"  "Language-Team: German <fedora-trans-de@redhat.com>\n" @@ -19,7 +19,12 @@ msgstr ""  "Plural-Forms: nplurals=2; plural=(n != 1);\n"  "X-Poedit-Language: German\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -32,7 +37,7 @@ msgstr ""  "Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "  "diesen Punkt den ALSA-Entwicklern." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -45,7 +50,7 @@ msgstr ""  "Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "  "diesen Punkt den ALSA-Entwicklern." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -71,7 +76,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Internes Audio" @@ -91,214 +96,92 @@ msgstr "Neuer dlopen-Loader konnte nicht gefunden werden."  msgid "Failed to add bind-now-loader."  msgstr "Hinzufügen von Bind-Now-Loader fehlgeschlagen." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Kann nicht mit dem System-Bus verbinden: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Kann Caller von PID nicht beziehen: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Kann UID für Caller-Objekt nicht setzen." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Kann CK-Session nicht beziehen." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Kann UID für Session-Objekt nicht setzen." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Konnte PolKitAction nicht zuordnen." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Kann action_id nicht setzen" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Konnte PolKitContext nicht zuordnen." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Konnte PolKitContext nicht initialisieren: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Keine Authorisierung erhalten: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit antwortete mit '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Signal %s empfangen." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Wird beendet." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Benutzer '%s' nicht gefunden." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Gruppe '%s' nicht gefunden." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Benutzer '%s' (UID %lu) und Gruppe '%s' (GID %lu) gefunden." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID von Benutzer '%s' und Gruppe '%s' stimmen nicht überein." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Benutzerverzeichnis von Benutzer '%s' ist nicht '%s', ignoriere." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Konnte '%s' nciht erzeugen: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Wechseln der Gruppen-Liste fehlgeschlagen: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Wechseln der GID fehlgeschlagen: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Wechseln der UID fehlgeschlagen: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Root-Berechtigungen erfolgreich zurückgesetzt." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "System-Modus auf dieser Plattform nicht unterstützt." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Parsen der Kommandzeile fehlgeschlagen." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "Richtlinien gewähren das Recht aquire-high-priority." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "Richtlinien verweigern das Recht acquire-high-priority." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "Richtlinien gewähren das Recht aquire-real-time." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "Richtlinien verweigern das Recht acquire-real-time." - -#: ../src/daemon/main.c:560 -#, 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 '%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 "" -"' 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:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO erfolgreich erhöht" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Verwerfe CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Daemon läuft nicht" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Daemon läuft als PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Konnte Prozess nicht abbrechen: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -306,153 +189,150 @@ msgstr ""  "Dieses Programm sollte ohne die Option --system nicht als Administrator "  "ausgeführt werden." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root-Berechtigungen benötigt." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start nicht unterstützt für System-Instanzen." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "System-Modus aktiv, SHM-Modus gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermaßen deaktiviert!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Reservieren von STDIO fehlgeschlagen." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe fehlgeschlagen: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() fehlgeschlagen: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() fehlgeschlagen: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Start des Daemons fehlgeschlagen." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Start des Daemons erfolgreich." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Dies ist PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Kompilier-Host: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Kompilier-CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Laufe auf Host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs gefunden." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Seitengröße ist %lu Bytes." -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Kompiliere mit Valgrind-Unterstützung: ja" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Kompiliere mit Valgrind-Unterstützung: nein" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Läuft im Valgrind-Modus: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimiertes Build: ja" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimiertes Build: nein" -#: ../src/daemon/main.c:902 -#, fuzzy +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definiert, alle Ansprüche deaktiviert." -#: ../src/daemon/main.c:904 -#, fuzzy +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definiert, nur fast-path-Ansprüche deaktiviert." -#: ../src/daemon/main.c:906 -#, fuzzy +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Alle Ansprüche aktiviert." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Beziehen der Maschinen-ID fehlgeschlagen" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "System- ID ist %s." -#: ../src/daemon/main.c:917 -#, fuzzy, c-format +#: ../src/daemon/main.c:770 +#, c-format  msgid "Session ID is %s."  msgstr "System- ID ist %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Nutze Laufzeit-Verzeichnis %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Nutze Zustands-Verzeichnis %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Laufe im System-Modus: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -462,41 +342,41 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() fehlgeschlagen." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  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:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() fehlgeschlagen." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Konnte Daemon nicht initialisieren." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Daemon verweigert Ausführung, da keine Module geladen." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Start des Daemons abgeschlossen." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Herunterfahren des Daemon gestartet." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Daemon beendet." @@ -816,7 +696,6 @@ msgid "Failed to open configuration file: %s"  msgstr "Öffnen der Konfigurationsdatei fehlgeschlagen : %s"  #: ../src/daemon/daemon-conf.c:540 -#, fuzzy  msgid ""  "The specified default channel map has a different number of channels than "  "the specified default number of channels." @@ -829,14 +708,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lese von Konfigurationsdatei: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Root-Privilegien aufgeben." -#: ../src/daemon/caps.c:103 -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 "PulseAudio Sound System" @@ -845,31 +720,6 @@ msgstr "PulseAudio Sound System"  msgid "Start the PulseAudio Sound System"  msgstr "Das PulseAudio Sound System starten" -#: ../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 "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -#, fuzzy -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"System-Richtlinien verhindert PulseAudio beim Erlangen des  high-priority " -"scheduling." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -#, fuzzy -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-" -"Terminierung.." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1202,7 +1052,7 @@ msgstr "Fehlende Implementation"  #: ../src/pulse/error.c:67  msgid "Client forked" -msgstr "" +msgstr "Client geteilt"  #: ../src/pulse/sample.c:169  #, c-format @@ -1242,183 +1092,187 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen"  msgid "Failed to open configuration file '%s': %s"  msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Verbindungsversuch ohne Cookie, da keines geladen." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Entleeren des Streams fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Wiedergabe-Stream entleert.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Draining connection to server.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() fehlgeschlagen: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Stream wurde erfolgreich erstellt.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Pufferdaten: maxlenght=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Pufferdaten: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "Benutze Sample-Angabe '%s', Kanalzuordnung '%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Verbunden mit Gerät %s (%u, %sausgesetzt).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Stream-Fehler: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Stream-Gerät ausgesetzt.%s\n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Stream-Gerät reaktiviert.%s\n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Stream unterlaufen.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Stream überlief.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Stream gestartet: %s\n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Stream an Gerät %s übergeben (%u, %sausgesetzt).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "nicht " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Stream-Zwischenspeicher-Attribute geändert.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Verbindung hergestellt.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Verbindungsfehler: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF empfangen.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() fehlgeschlagen: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF empfangen.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Signal empfangen, beende.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Erhalten der Latenz fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Zeit: %0.3f sec; Latenz: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() fehlgeschlagen: %s\n"  #: ../src/utils/pacat.c:605 @@ -1531,97 +1385,104 @@ msgstr ""  "Kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Ungültige Kanal-Zuweisung '%s'\n" +msgid "Invalid client name '%s'" +msgstr "Ungültiger Client-Name '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Ungültige Resample-Methode '%s'." +msgid "Invalid stream name '%s'" +msgstr "Ungültiger Stream-Name '%s'\n"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Ungültige Kanal-Zuweisung '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Ungültige Latenz-Angaben '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Ungültige Prozesszeit-Angaben '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Ungültige Resample-Methode '%s'." +msgid "Invalid property '%s'" +msgstr "Ungültige Eigenschaft '%s'\n"  #: ../src/utils/pacat.c:878  #, c-format  msgid "Unknown file format %s." -msgstr "" +msgstr "Unbekanntes Dateiformat %s."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Ungültige Sample-Angaben\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Zu viele Argumente.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" -msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n" +msgid "Failed to generate sample specification for file." +msgstr "Beziehen der Sample-Informationen für die Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Warnung: Beziehen der Sample-Angabe aus Datei fehlgeschlagen.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" -msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n" +msgid "Failed to determine sample specification from file." +msgstr "Beziehen der Sample-Informationen der Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Warnung: Bestimmung der Kanalzuordnung aus Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Kanalzuordnung entspricht nicht Einstellungen des Samples\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Warnung: Schreiben der Kanalzuordnung in Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" -msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'." +msgstr "" +"Öffnen eines %s-Streams mit Sample-Angabe '%s' und Kanalzuordnung '%s'.\n"  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1631,35 +1492,34 @@ msgstr "aufnehmen"  msgid "playback"  msgstr "abspielen" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() fehlgeschlagen.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_new() fehlgeschlagen: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() fehlgeschlagen.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() fehlgeschlagen.\n"  #: ../src/utils/pasuspender.c:81 @@ -1687,6 +1547,11 @@ 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:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Verbindungsfehler: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1726,6 +1591,21 @@ msgstr ""  "kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() fehlgeschlagen.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() fehlgeschlagen.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() fehlgeschlagen.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1819,12 +1699,12 @@ msgstr ""  "\t\t%s\n"  #: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 -#, fuzzy, c-format +#, c-format  msgid "\tPorts:\n"  msgstr "\tProfile:\n"  #: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#, c-format  msgid "\tActive Port: %s\n"  msgstr "\tAktive Profile: %s\n" @@ -2138,6 +2018,11 @@ msgstr ""  "Kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "Ungültiger Client-Name '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Geben Sie eine zu öffnende Sample-Datei an\n" @@ -2146,10 +2031,13 @@ msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"  msgid "Failed to open sound file.\n"  msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "Beziehen der Sample-Informationen der Datei fehlgeschlagen.\n" +  #: ../src/utils/pactl.c:951 -#, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" -msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n" +msgstr "Warnung: Beziehen der Sample-Angabe aus Datei fehlgeschlagen.\n"  #: ../src/utils/pactl.c:961  msgid "You have to specify a sample name to play\n" @@ -2197,24 +2085,17 @@ 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:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n" +msgstr "Sie müssen einen Senkennamen/-Indexwert und einen Portnamen angeben\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n" +msgstr "Sie müssen einen Quellennamen/-Indexwert und einen Portnamen angeben\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "Kein gültiger Befehl angegeben.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_new() fehlgeschlagen: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2296,7 +2177,7 @@ msgstr "Noch nicht implementiert.\n"  #: ../src/utils/pacmd.c:61  msgid "No PulseAudio daemon running, or not running as session daemon." -msgstr "" +msgstr "Es läuft kein PulseAudio-Dienst oder nicht als Sessiondienst."  #: ../src/utils/pacmd.c:66  #, c-format @@ -2331,11 +2212,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Fehler beim Zugriff auf Autostart -Sperre." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2346,7 +2227,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2358,15 +2239,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Aus" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "High Fidelity Playback (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephony Duplex (HSP/HFP)" @@ -2374,6 +2255,132 @@ msgstr "Telephony Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio Sound Server" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Kann nicht mit dem System-Bus verbinden: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Kann Caller von PID nicht beziehen: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Kann UID für Caller-Objekt nicht setzen." + +#~ msgid "Failed to get CK session." +#~ msgstr "Kann CK-Session nicht beziehen." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Kann UID für Session-Objekt nicht setzen." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Konnte PolKitAction nicht zuordnen." + +#~ msgid "Cannot set action_id" +#~ msgstr "Kann action_id nicht setzen" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Konnte PolKitContext nicht zuordnen." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Konnte PolKitContext nicht initialisieren: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Keine Authorisierung erhalten: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit antwortete mit '%s'" + +#, fuzzy +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Hochprioritäts-Terminierung () (negative Unix nice level) für den " +#~ "PulseAudio-Dienst" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Echtzeit-Terminierung des PulseAudio-Daemon" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "System-Richtlinien verhindert PulseAudio beim Erlangen des high-priority " +#~ "scheduling." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-" +#~ "Terminierung." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() fehlgeschlagen: %s\n" + +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() fehlgeschlagen: %s\n" + +#~ 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." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "Richtlinien gewähren das Recht aquire-high-priority." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "Richtlinien verweigern das Recht acquire-high-priority." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "Richtlinien gewähren das Recht aquire-real-time." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "Richtlinien verweigern das Recht acquire-real-time." + +#, 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 '%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 "" +#~ "' 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 '" + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO erfolgreich erhöht" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Verwerfe CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() fehlgeschlagen.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analog Mono" diff --git a/po/de_CH.po b/po/de_CH.po index 7c069efb..5944c3f3 100644 --- a/po/de_CH.po +++ b/po/de_CH.po @@ -8,7 +8,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-18 12:55+0100\n"  "Last-Translator: Fabian Affolter <fab@fedoraproject.org>\n"  "Language-Team: German <fedora-trans-de@redhat.com>\n" @@ -18,7 +18,12 @@ msgstr ""  "Plural-Forms: nplurals=2; plural=(n != 1);\n"  "X-Poedit-Language: Swiss German\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -31,7 +36,7 @@ msgstr ""  "Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "  "diesen Punkt den ALSA-Entwicklern." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -44,7 +49,7 @@ msgstr ""  "Dies ist wahrscheinlich ein Fehler im ALSA-Treiber '%s'. Bitte melden Sie "  "diesen Punkt den ALSA-Entwicklern." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -70,7 +75,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Internes Audio" @@ -90,214 +95,92 @@ msgstr "Neuer dlopen-Loader konnte nicht gefunden werden."  msgid "Failed to add bind-now-loader."  msgstr "Hinzufügen von Bind-Now-Loader fehlgeschlagen." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Kann nicht mit dem System-Bus verbinden: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Kann Caller von PID nicht beziehen: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Kann UID für Caller-Objekt nicht setzen." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Kann CK-Session nicht beziehen." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Kann UID für Session-Objekt nicht setzen." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Konnte PolKitAction nicht zuordnen." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Kann action_id nicht setzen" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Konnte PolKitContext nicht zuordnen." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Konnte PolKitContext nicht initialisieren: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Keine Authorisierung erhalten: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit antwortete mit '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Signal %s empfangen." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Wird beendet." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Benutzer '%s' nicht gefunden." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Gruppe '%s' nicht gefunden." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Benutzer '%s' (UID %lu) und Gruppe '%s' (GID %lu) gefunden." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID von Benutzer '%s' und Gruppe '%s' stimmen nicht überein." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Benutzerverzeichnis von Benutzer '%s' ist nicht '%s', ignoriere." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Konnte '%s' nciht erzeugen: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Wechseln der Gruppen-Liste fehlgeschlagen: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Wechseln der GID fehlgeschlagen: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Wechseln der UID fehlgeschlagen: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Root-Berechtigungen erfolgreich zurückgesetzt." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "System-Modus auf dieser Plattform nicht unterstützt." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) fehlgeschlagen: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Parsen der Kommandzeile fehlgeschlagen." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "Richtlinien gewähren das Recht aquire-high-priority." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "Richtlinien verweigern das Recht acquire-high-priority." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "Richtlinien gewähren das Recht aquire-real-time." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "Richtlinien verweigern das Recht acquire-real-time." - -#: ../src/daemon/main.c:560 -#, 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 '%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 "" -"' 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:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO erfolgreich erhöht" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Verwerfe CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Daemon läuft nicht" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Daemon läuft als PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Konnte Prozess nicht abbrechen: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -305,153 +188,153 @@ msgstr ""  "Dieses Programm sollte ohne die Option --system nicht als Administrator "  "ausgeführt werden." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root-Berechtigungen benötigt." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start nicht unterstützt für System-Instanzen." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "System-Modus aktiv, jeodch --disallow-exit nicht gesetzt!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "System-Modus aktiv, SHM-Modus gezwungenermassen deaktiviert!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "System-Modus aktiv, Exit-Idle-Time gezwungenermassen deaktiviert!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Reservieren von STDIO fehlgeschlagen." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe fehlgeschlagen: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() fehlgeschlagen: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() fehlgeschlagen: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Start des Daemons fehlgeschlagen." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Start des Daemons erfolgreich." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Dies ist PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Kompilier-Host: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Kompilier-CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Laufe auf Host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs gefunden." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Seitengrösse ist %lu Bytes." -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Kompiliere mit Valgrind-Unterstützung: ja" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Kompiliere mit Valgrind-Unterstützung: nein" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Läuft im Valgrind-Modus: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimiertes Build: ja" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimiertes Build: nein" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  #, fuzzy  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definiert, alle Ansprüche deaktiviert." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  #, fuzzy  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definiert, nur fast-path-Ansprüche deaktiviert." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  #, fuzzy  msgid "All asserts enabled."  msgstr "Alle Ansprüche aktiviert." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Beziehen der Maschinen-ID fehlgeschlagen" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "System- ID ist %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "System- ID ist %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Nutze Laufzeit-Verzeichnis %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Nutze Zustands-Verzeichnis %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Laufe im System-Modus: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -461,41 +344,41 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() fehlgeschlagen." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Neue hochauslösende Timer verfügbar! Guten Appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  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:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() fehlgeschlagen." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Konnte Daemon nicht initialisieren." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Daemon verweigert Ausführung, da keine Module geladen." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Start des Daemons abgeschlossen." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Herunterfahren des Daemon gestartet." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Daemon beendet." @@ -828,14 +711,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lese von Konfigurationsdatei: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Root-Privilegien aufgeben." -#: ../src/daemon/caps.c:103 -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 "PulseAudio Sound System" @@ -844,34 +723,6 @@ msgstr "PulseAudio Sound System"  msgid "Start the PulseAudio Sound System"  msgstr "Das PulseAudio Sound System starten" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -#, fuzzy -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"High-priority scheduling (verkleinere Unix nice-Stufe) für den PulseAudio-" -"Daemon" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -#, fuzzy -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -#, fuzzy -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"System-Richtlinien verhindert PulseAudio beim Erlangen des  high-priority " -"scheduling." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -#, fuzzy -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-" -"Terminierung.." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1245,183 +1096,187 @@ msgstr "Parsen der Cookie-Daten fehlgeschlagen"  msgid "Failed to open configuration file '%s': %s"  msgstr "Konfigurationsdatei '%s' konnte nicht geöffnet werden: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Verbindungsversuch ohne Cookie, da keines geladen." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Nachricht für unbekannte Erweiterung '%s' erhalten" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Entleeren des Streams fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Wiedergabe-Stream entleert.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Draining connection to server.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() fehlgeschlagen: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Stream wurde erfolgreich erstellt.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Pufferdaten: maxlenght=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Pufferdaten: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "Benutze Sample-Angabe '%s', Kanalzuordnung '%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Verbunden mit Gerät %s (%u, %sausgesetzt).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Stream-Fehler: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Stream-Gerät ausgesetzt.%s\n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Stream-Gerät reaktiviert.%s\n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Stream unterlaufen.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Stream überlief.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Stream gestartet: %s\n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Stream an Gerät %s übergeben (%u, %sausgesetzt).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "nicht " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Stream-Zwischenspeicher-Attribute geändert.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Verbindung hergestellt.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Verbindungsfehler: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF empfangen.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() fehlgeschlagen: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF empfangen.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Signal empfangen, beende.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Erhalten der Latenz fehlgeschlagen: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Zeit: %0.3f sec; Latenz: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() fehlgeschlagen: %s\n"  #: ../src/utils/pacat.c:605 @@ -1534,34 +1389,34 @@ msgstr ""  "Kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Ungültige Kanal-Zuweisung '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Ungültige Resample-Methode '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Ungültige Kanal-Zuweisung '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Ungültige Latenz-Angaben '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Ungültige Prozesszeit-Angaben '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Ungültige Resample-Methode '%s'."  #: ../src/utils/pacat.c:878 @@ -1570,60 +1425,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Ungültige Sample-Angaben\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Zu viele Argumente.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Kanalzuordnung entspricht nicht Einstellungen des Samples\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Öffne eine %s-Stream mit Sample-Angabe '%s'.\n"  #: ../src/utils/pacat.c:1006 @@ -1634,35 +1495,34 @@ msgstr "aufnehmen"  msgid "playback"  msgstr "abspielen" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() fehlgeschlagen.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_new() fehlgeschlagen: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() fehlgeschlagen.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() fehlgeschlagen.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() fehlgeschlagen.\n"  #: ../src/utils/pasuspender.c:81 @@ -1690,6 +1550,11 @@ 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:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Verbindungsfehler: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1729,6 +1594,21 @@ msgstr ""  "kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() fehlgeschlagen.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() fehlgeschlagen.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() fehlgeschlagen.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2141,6 +2021,11 @@ msgstr ""  "Kompiliert mit libpulse %s\n"  "Gelinkt mit libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Ungültige Kanal-Zuweisung '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Geben Sie eine zu öffnende Sample-Datei an\n" @@ -2149,6 +2034,11 @@ msgstr "Geben Sie eine zu öffnende Sample-Datei an\n"  msgid "Failed to open sound file.\n"  msgstr "Öffnen der Audio-Datei fehlgeschlagen.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Beziehen der Sample-Informationen fehlgeschlagen: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2213,11 +2103,6 @@ msgstr "Sie müssen einen Karten-Name/Indexwert und einen Profilnamen angeben\n"  msgid "No valid command specified.\n"  msgstr "Kein gültiger Befehl angegeben.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_new() fehlgeschlagen: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2334,11 +2219,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Fehler beim Zugriff auf Autostart -Sperre." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2356,7 +2241,7 @@ msgstr ""  "von snd_pcm_avail() liefert 0 oder einen anderen Wert zurück, der < "  "min_avail ist." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2375,15 +2260,15 @@ msgstr ""  "min_avail ist."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Aus" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "High Fidelity Playback (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephony Duplex (HSP/HFP)" @@ -2391,6 +2276,136 @@ msgstr "Telephony Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio Sound Server" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Kann nicht mit dem System-Bus verbinden: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Kann Caller von PID nicht beziehen: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Kann UID für Caller-Objekt nicht setzen." + +#~ msgid "Failed to get CK session." +#~ msgstr "Kann CK-Session nicht beziehen." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Kann UID für Session-Objekt nicht setzen." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Konnte PolKitAction nicht zuordnen." + +#~ msgid "Cannot set action_id" +#~ msgstr "Kann action_id nicht setzen" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Konnte PolKitContext nicht zuordnen." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Konnte PolKitContext nicht initialisieren: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Autorisierung des Callers konnte nicht sichergestellt werden: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Keine Authorisierung erhalten: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit antwortete mit '%s'" + +#, fuzzy +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "High-priority scheduling (verkleinere Unix nice-Stufe) für den PulseAudio-" +#~ "Daemon" + +#, fuzzy +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Echtzeit-Terminierung des PulseAudio-Daemon fehlgeschlagen" + +#, fuzzy +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "System-Richtlinien verhindert PulseAudio beim Erlangen des  high-priority " +#~ "scheduling." + +#, fuzzy +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "System-Richtlinien verhindert PulseAudio beim Erlangen der Echtzeit-" +#~ "Terminierung.." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() fehlgeschlagen: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_new() fehlgeschlagen: %s" + +#~ 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." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Wir befinden uns in der Gruppe '%s', was Echtzeit-Scheduling ermöglicht." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "Richtlinien gewähren das Recht aquire-high-priority." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "Richtlinien verweigern das Recht acquire-high-priority." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "Richtlinien gewähren das Recht aquire-real-time." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "Richtlinien verweigern das Recht acquire-real-time." + +#, 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 '%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 "" +#~ "' 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 '" + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "Scheduling höchster Priorität konfiguriert, jedoch nicht erlaubt." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO erfolgreich erhöht" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO fehlgeschlagen: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Verwerfe CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "Echtzeit-Scheduling konfiguriert, jedoch nicht erlaubt." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Fähigkeiten erfolgreich auf CAP_SYS_NICE reduziert." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() fehlgeschlagen.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analog Mono" @@ -6,7 +6,7 @@ msgid ""  msgstr ""  "Project-Id-Version: el\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\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,7 +16,12 @@ msgstr ""  "X-Generator: KAider 0.1\n"  "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -25,7 +30,7 @@ msgid ""  "to the ALSA developers."  msgstr "" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -34,7 +39,7 @@ msgid ""  "to the ALSA developers."  msgstr "" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -56,7 +61,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "" @@ -76,357 +81,241 @@ msgstr ""  msgid "Failed to add bind-now-loader."  msgstr "" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Έξοδος." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Αποτυχία εÏÏεσης ομάδας χÏηστών '%s'." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "" - -#: ../src/daemon/main.c:560 -#, 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:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Αυτό είναι το PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, c-format  msgid "Session ID is %s."  msgstr "" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -436,15 +325,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -452,27 +341,27 @@ msgstr ""  "ΔικΠμου, ο πυÏήνας σου είναι για τα μπάζα! Η Ï€Ïόταση του σεφ σήμεÏα είναι "  "Linux με ενεÏγοποιημÎνα τα high-resolution timers!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "" @@ -734,14 +623,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "" @@ -750,24 +635,6 @@ msgstr ""  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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "" @@ -1140,183 +1007,182 @@ msgstr ""  msgid "Failed to open configuration file '%s': %s"  msgstr "" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s" +msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'." + +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained."  msgstr "" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server."  msgstr "" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:136 +#, c-format +msgid "pa_stream_drain(): %s"  msgstr "" -#: ../src/utils/pacat.c:135 +#: ../src/utils/pacat.c:159  #, c-format -msgid "pa_stream_drain(): %s\n" +msgid "pa_stream_write() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:158 +#: ../src/utils/pacat.c:197  #, c-format -msgid "pa_stream_write() failed: %s\n" +msgid "pa_stream_begin_write() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267  #, c-format -msgid "pa_stream_peek() failed: %s\n" +msgid "pa_stream_peek() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created."  msgstr "" -#: ../src/utils/pacat.c:305 +#: ../src/utils/pacat.c:310  #, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:309 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "" -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +msgid "Using sample spec '%s', channel map '%s'."  msgstr "" -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "" -#: ../src/utils/pacat.c:330 +#: ../src/utils/pacat.c:335  #, c-format -msgid "Stream error: %s\n" +msgid "Stream error: %s"  msgstr "" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" +msgid "Stream device suspended.%s"  msgstr "" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" +msgid "Stream device resumed.%s"  msgstr "" -#: ../src/utils/pacat.c:350 +#: ../src/utils/pacat.c:355  #, c-format -msgid "Stream underrun.%s \n" +msgid "Stream underrun.%s"  msgstr "" -#: ../src/utils/pacat.c:357 +#: ../src/utils/pacat.c:362  #, c-format -msgid "Stream overrun.%s \n" +msgid "Stream overrun.%s"  msgstr "" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" +msgid "Stream started.%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "" -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "" -#: ../src/utils/pacat.c:411 +#: ../src/utils/pacat.c:416  #, c-format -msgid "Connection established.%s \n" +msgid "Connection established.%s"  msgstr "" -#: ../src/utils/pacat.c:414 +#: ../src/utils/pacat.c:419  #, c-format -msgid "pa_stream_new() failed: %s\n" +msgid "pa_stream_new() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:442 +#: ../src/utils/pacat.c:447  #, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +msgid "pa_stream_connect_playback() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:448 +#: ../src/utils/pacat.c:453  #, c-format -msgid "pa_stream_connect_record() failed: %s\n" +msgid "pa_stream_connect_record() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 +#: ../src/utils/pacat.c:467  #, c-format -msgid "Connection failure: %s\n" -msgstr "" - -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" +msgid "Connection failure: %s"  msgstr ""  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" +msgid "Got EOF."  msgstr "" -#: ../src/utils/pacat.c:532 +#: ../src/utils/pacat.c:537  #, c-format -msgid "write() failed: %s\n" -msgstr "" - -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +msgid "write() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:558 +msgid "Got signal, exiting."  msgstr ""  #: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s" +msgstr "Αποτυχία εÏÏεσης χÏήστη '%s'." + +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "" -#: ../src/utils/pacat.c:592 +#: ../src/utils/pacat.c:595  #, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +msgid "pa_stream_update_timing_info() failed: %s"  msgstr ""  #: ../src/utils/pacat.c:605 @@ -1387,34 +1253,34 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr ""  #: ../src/utils/pacat.c:776  #, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr ""  #: ../src/utils/pacat.c:813  #, c-format -msgid "Invalid channel map '%s'\n" +msgid "Invalid channel map '%s'"  msgstr ""  #: ../src/utils/pacat.c:842  #, c-format -msgid "Invalid latency specification '%s'\n" +msgid "Invalid latency specification '%s'"  msgstr ""  #: ../src/utils/pacat.c:849  #, c-format -msgid "Invalid process time specification '%s'\n" +msgid "Invalid process time specification '%s'"  msgstr ""  #: ../src/utils/pacat.c:861  #, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr ""  #: ../src/utils/pacat.c:878 @@ -1423,57 +1289,57 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +msgid "Invalid sample specification"  msgstr ""  #: ../src/utils/pacat.c:907  #, c-format -msgid "open(): %s\n" +msgid "open(): %s"  msgstr ""  #: ../src/utils/pacat.c:912  #, c-format -msgid "dup2(): %s\n" +msgid "dup2(): %s"  msgstr ""  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +msgid "Too many arguments."  msgstr ""  #: ../src/utils/pacat.c:930 -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr ""  #: ../src/utils/pacat.c:950 -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr ""  #: ../src/utils/pacat.c:956  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -msgid "Failed to determine sample specification from file.\n" +#: ../src/utils/pacat.c:959 +msgid "Failed to determine sample specification from file."  msgstr ""  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" +msgid "Warning: Failed to determine channel map from file."  msgstr ""  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +msgid "Channel map doesn't match sample specification"  msgstr ""  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" +msgid "Warning: failed to write channel map to file."  msgstr ""  #: ../src/utils/pacat.c:1005  #, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr ""  #: ../src/utils/pacat.c:1006 @@ -1484,35 +1350,29 @@ msgstr ""  msgid "playback"  msgstr "" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +msgid "pa_mainloop_new() failed."  msgstr ""  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +msgid "io_new() failed."  msgstr "" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +msgid "pa_context_new() failed."  msgstr "" -#: ../src/utils/pacat.c:1066 +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122  #, c-format -msgid "pa_context_connect() failed: %s\n" +msgid "pa_context_connect() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" +#: ../src/utils/pacat.c:1072 +msgid "pa_context_rttime_new() failed."  msgstr "" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +msgid "pa_mainloop_run() failed."  msgstr ""  #: ../src/utils/pasuspender.c:81 @@ -1540,6 +1400,11 @@ msgstr ""  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1570,6 +1435,21 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1859,6 +1739,11 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "" @@ -1867,6 +1752,10 @@ msgstr ""  msgid "Failed to open sound file.\n"  msgstr "" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "" +  #: ../src/utils/pactl.c:951  msgid "Warning: Failed to determine sample specification from file.\n"  msgstr "" @@ -1923,11 +1812,6 @@ msgstr ""  msgid "No valid command specified.\n"  msgstr "" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2037,11 +1921,11 @@ msgstr ""  msgid "write(): %s"  msgstr "" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2052,7 +1936,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2064,15 +1948,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -8,68 +8,57 @@ msgid ""  msgstr ""  "Project-Id-Version: PulseAudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" -"PO-Revision-Date: 2009-06-11 21:48-0300\n" -"Last-Translator: Dennis Tobar <dennis.tobar@gmail.com>\n" +"POT-Creation-Date: 2009-08-10 14:50+0000\n" +"PO-Revision-Date: 2009-08-10 14:36-0300\n" +"Last-Translator: Héctor Daniel Cabrera <h.daniel.cabrera@gmail.com>\n"  "Language-Team: Fedora Spanish <fedora-trans-es@redhat.com>\n"  "MIME-Version: 1.0\n"  "Content-Type: text/plain; charset=UTF-8\n"  "Content-Transfer-Encoding: 8bit\n"  "X-Poedit-Language: Spanish\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 +#: ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "%s %s" + +#: ../src/modules/alsa/alsa-util.c:1023  #, 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." +"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() devolvió un valor que es excepcionalmente grande: %lu bytes " -"(%lu ms).\n" -"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, " -"informe ésto a los desarrolladores de ALSA." +"snd_pcm_avail() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n" +"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, 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." +"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_delay() devolvió un valor que es excepcionalmente grande: %li bytes " -"(%s%lu ms).\n" -"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, " -"informe ésto a los desarrolladores de ALSA." +"snd_pcm_delay() devolvió un valor que es excepcionalmente grande: %li bytes (%s%lu ms).\n" +"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, 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." +"snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes (%lu ms).\n" +"Most likely this is a bug in the ALSA driver '%s'. Please report this issue to the ALSA developers."  msgstr "" -"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu " -"bytes (%lu ms).\n" -"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, " -"informe ésto a los desarrolladores de ALSA." +"snd_pcm_mmap_begin() devolvió un valor que es excepcionalmente grande: %lu bytes (%lu ms).\n" +"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe ésto a los desarrolladores de ALSA."  #: ../src/modules/module-ladspa-sink.c:49  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Sumidero virtual LADSPA"  #: ../src/modules/module-ladspa-sink.c:53 -msgid "" -"sink_name=<name for the sink> sink_properties=<properties for the sink> " -"master=<name of sink to filter> format=<sample format> rate=<sample rate> " -"channels=<number of channels> channel_map=<channel map> plugin=<ladspa " -"plugin name> label=<ladspa plugin label> control=<comma seperated list of " -"input control values>" -msgstr "" +msgid "sink_name=<name for the sink> sink_properties=<properties for the sink> master=<name of sink to filter> format=<sample format> rate=<sample rate> channels=<number of channels> channel_map=<channel map> plugin=<ladspa plugin name> label=<ladspa plugin label> control=<comma seperated list of input control values>" +msgstr "sink_name=<nombre para el sumidero> sink_properties=<propiedades para el sumidero> master=<nombre del sumidero a filtrar> format=<formato de ejemplo> rate=<tasa de ejemplo> channels=<cantidad de canaless> channel_map=<mapeo de canales> plugin=<nombre del complemento ladspa> label=<etiqueta del complemento ladspa> control=<lista separada por comas de valores de control de entrada>" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Audio Interno" @@ -89,427 +78,283 @@ msgstr "Falló al asignar el cargador dl nuevo."  msgid "Failed to add bind-now-loader."  msgstr "Falló al agregar bind-now-loader." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "No se puede conectar al bus del sistema: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "No se puede obtener el llamador desde el PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "No se puede poner UID en el objeto llamador." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Falló al obtener sesión CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "No se puede poner UID en el objeto de sesión." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "No se puede asignar PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "No se pudo poner action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "No se pudo asignar PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "No se pudo inicializar PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "No se pudo determinar si el llamador está autorizado: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "No se pudo obtener auth: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit respondió con '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Se obtuvo la señal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Saliendo." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Falló al buscar usuario '%s'." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Falló al buscar grupo '%s'." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Se encontró el usuario '%s' (UID %lu) y el grupo '%s' (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID del usuario '%s' y del grupo '%s' no son similares." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "El directorio de inicio del usuario '%s' no es '%s', ignorando." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 +#: ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Falló al crear '%s': %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Falló al cambiar la lista de grupo: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Falló al cambiar GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Falló al cambiar UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Se han liberado con éxitos los privilegios de root." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "El modo a nivel de sistema no es soportado en esta plataforma." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) falló: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Falló al analizar la lÃnea de comando." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Se llamó con SUID root y se pidió planificación en tiempo real y/o de alta " -"prioridad en la configuración. Sin embargo, no se tiene los privilegios " -"necesarios:\n" -"No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso necesario y " -"no se puede aumentar los lÃmites del recurso RLIMIT_NICE/RLIMIT_RTPRIO.\n" -"Para habilitar la planifiación de tiempo real/alta prioridad por favor " -"adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%s', " -"o aumente los lÃmites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este " -"usuario." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO incrementado en forma exitosa" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "Fallo en RLIMIT_RTPRIO: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Abandonando CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "El demonio no está funcionando" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "El demonio está funcionando como PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "No se ha podido detener el demonio: %s" -#: ../src/daemon/main.c:722 -msgid "" -"This program is not intended to be run as root (unless --system is " -"specified)." -msgstr "" -"Este programa no tiene por qué ser ejecutado como root (a menos que --system " -"sea especificado)." +#: ../src/daemon/main.c:568 +msgid "This program is not intended to be run as root (unless --system is specified)." +msgstr "Este programa no tiene por qué ser ejecutado como root (a menos que --system sea especificado)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Se necesitan privilegios de root." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start no está soportado para las instancias del sistema." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!" -msgstr "" -"Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! " +msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-exit! " -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  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!" +msgstr "Ejecutándose en modo de sistema, ¡pero no se ha configurado --disallow-module-loading!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!" -msgstr "" -"Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!" +msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente el modo SHM!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!" -msgstr "" -"Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!" +msgstr "Ejecutándose en modo de sistema, ¡desactivando forzadamente exit idle time!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Fallo al intentar adquirir stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "Falló el pipe: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "Falló el fork(): %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 +#: ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "Falló la operación read(): %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Falló el inicio del demonio. " -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "El demonio se inició exitosamente." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Esto es PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Host de compilación: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Compilación CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Ejecutándose en el host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Se encontraron %u CPUs." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "El tamaño de la página es de %lu bytes" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Soporte para compilar con Valgrind: si" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Soporte para compilar con Valgrind: no" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Ejecutándose en modo valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Build optimizado: si" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Build optimizado: no" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definido, todos los chequeos deshabilitados." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definido, sólo se deshabilitan los chequeos fast path." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Todos los chequeos habilitados." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Fallo al intentar obtener el ID de la máquina" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "El ID de la máquina es %s" -#: ../src/daemon/main.c:917 -#, fuzzy, c-format +#: ../src/daemon/main.c:770 +#, c-format  msgid "Session ID is %s." -msgstr "El ID de la máquina es %s" +msgstr "El ID de la sesión es %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Utilizando directorio de tiempo de ejecución %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Utilizando directorio de estado %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Ejecutándose en modo de sistema: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid "" -"OK, so you are running PA in system mode. Please note that you most likely " -"shouldn't be doing that.\n" -"If you do it nonetheless then it's your own fault if things don't work as " -"expected.\n" -"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an " -"explanation why system mode is usually a bad idea." +"OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that.\n" +"If you do it nonetheless then it's your own fault if things don't work as expected.\n" +"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an explanation why system mode is usually a bad idea."  msgstr "" +"Bien, o sea que está ejecutando PA en modo de sistema. Por favor entienda que, en general, no deberÃa estar haciéndolo.\n" +"Si insiste en seguir utilizando este modo, será debido a su propio accionar que las cosas no funcionen como se esperaba.\n" +"Por favor lea http://pulseaudio.org/wiki/WhatIsWrongWithSystemMod para obtener una explicación acerca de por qué es una mala idea utilizar el  modo sistema." -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "Ha fallado pa_pid_file_create()." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!" -msgstr "" -"¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon " -"appetit!" +msgstr "¡Existen cronómetros de alta resolución fresquitos y disponibles! ¡Bon appetit!" -#: ../src/daemon/main.c:963 -msgid "" -"Dude, your kernel stinks! The chef's recommendation today is Linux with high-" -"resolution timers enabled!" -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:816 +msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!" +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:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "Falló pa_core_new()." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Fallo al intentar iniciar el demonio." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  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." +msgstr "El demonio se ha iniciado sin ningún módulo cargado, y por ello se niega a funcionar." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "El demonio se inició completamente." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Comienza a apagarse el demonio." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "El demonio se ha apagado." @@ -524,48 +369,37 @@ msgid ""  "      --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" +"      --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" +"      --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" +"                                        (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" +"                                        (only available as root, when SUID or\n"  "                                        with elevated RLIMIT_RTPRIO)\n" -"      --disallow-module-loading[=BOOL]  Disallow module user requested " -"module\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" +"      --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" +"      --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" +"      --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-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" +"  -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" @@ -576,12 +410,10 @@ msgid ""  "      --disable-shm[=BOOL]              Disable shared memory support.\n"  "\n"  "STARTUP SCRIPT:\n" -"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module " -"with\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" +"  -C                                    Open a command line on the running TTY\n"  "                                        after startup\n"  "\n"  "  -n                                    Don't load default script file\n" @@ -592,78 +424,50 @@ msgstr ""  "  -h, --help                            Muestra esta ayuda\n"  "      --version                         Muestra la versión\n"  "      --dump-conf                       Vuelca la configuración por defecto\n" -"      --dump-modules                    Vuelca una lista de múdulos " -"disponibles\n" -"      --dump-resample-methods           Vuelca los métodos disponibles de " -"remuestreo\n" -"      --cleanup-shm                     Limpia los segmentos de memoria " -"compartidos\n" -"      --start                           Inicia el demonio, si es que aún no " -"está funcionando\n" +"      --dump-modules                    Vuelca una lista de múdulos disponibles\n" +"      --dump-resample-methods           Vuelca los métodos disponibles de remuestreo\n" +"      --cleanup-shm                     Limpia los segmentos de memoria compartidos\n" +"      --start                           Inicia el demonio, si es que aún no está funcionando\n"  "  -k  --kill                            Detiene a un demonio funcionando\n" -"      --check                           Verifica qué demonios están " -"funcionando\n" +"      --check                           Verifica qué demonios están funcionando\n"  "\n"  "OPCIONES:\n" -"      --system[=BOOL]                   Se ejecuta como unica instancia a " -"nivel del sistema\n" -"  -D, --daemonize[=BOOL]                Se convierte en demonio luego de " -"iniciarse\n" +"      --system[=BOOL]                   Se ejecuta como unica instancia a nivel del sistema\n" +"  -D, --daemonize[=BOOL]                Se convierte en demonio luego de iniciarse\n"  "      --fail[=BOOL]                     Se cierra cuando falla el inicio\n" -"      --high-priority[=BOOL]            Trata de establecer un nivel de nice " -"alto\n" -"                                        (sólo disponible como root, cuando " -"el SUID o\n" +"      --high-priority[=BOOL]            Trata de establecer un nivel de nice alto\n" +"                                        (sólo disponible como root, cuando el SUID o\n"  "                                        con RLIMIT_NICE) elevado\n" -"      --realtime[=BOOL]                 Trata de activar planificación en " -"tiempo real\n" -"                                        (sólo disponible como root, cuando " -"el SUID o\n" +"      --realtime[=BOOL]                 Trata de activar planificación en tiempo real\n" +"                                        (sólo disponible como root, cuando el SUID o\n"  "                                        con RLIMIT_RTPRIO) elevado\n" -"      --disallow-module-loading[=BOOL]  No permite la carga/descarga del " -"módulo por el usuario\n" +"      --disallow-module-loading[=BOOL]  No permite la carga/descarga del módulo por el usuario\n"  "                                        después que se haya iniciado\n" -"      --disallow-exit[=BOOL]            No permite la petición del usuario " -"de abandonar el programa\n" -"      --exit-idle-time=SECS             Desactiva un demonio cuando está " -"ocioso y\n" -"                                        ha transcurrido esta cantidad de " -"tiempo\n" -"      --module-idle-time=SECS           Descarga modulos que se han cargado " -"automáticamente cuando están ociosos y\n" -"                                        ha transcurrido esta cantidad de " -"tiempo\n" -"      --scache-idle-time=SECS           Descarga muestras cargadas " -"automáticamente cuando están\n" -"                                        ociosos y ha transcurrido esta " -"cantidad de tiempo\n" -"      --log-level[=LEVEL]               Aumenta o define el grado de salida " -"a utilizar\n" +"      --disallow-exit[=BOOL]            No permite la petición del usuario de abandonar el programa\n" +"      --exit-idle-time=SECS             Desactiva un demonio cuando está ocioso y\n" +"                                        ha transcurrido esta cantidad de tiempo\n" +"      --module-idle-time=SECS           Descarga modulos que se han cargado automáticamente cuando están ociosos y\n" +"                                        ha transcurrido esta cantidad de tiempo\n" +"      --scache-idle-time=SECS           Descarga muestras cargadas automáticamente cuando están\n" +"                                        ociosos y ha transcurrido esta cantidad de tiempo\n" +"      --log-level[=LEVEL]               Aumenta o define el grado de salida a utilizar\n"  "  -v                                    Aumenta el grado de salida\n"  "      --log-target={auto,syslog,stderr} Especifica el destino del log\n" -"  -p, --dl-search-path=PATH             Establece la ruta de búsqueda " -"(search path) para complementos\n" +"  -p, --dl-search-path=PATH             Establece la ruta de búsqueda (search path) para complementos\n"  "                                        (plugins) compartidos\n" -"      --resample-method=METHOD          Utiliza un método de remuestreo " -"especÃfico\n" -"                                        (Ver en --dump-resample-methods los " -"valores posibles)\n" +"      --resample-method=METHOD          Utiliza un método de remuestreo especÃfico\n" +"                                        (Ver en --dump-resample-methods los valores posibles)\n"  "      --use-pid-file[=BOOL]             Crea el archivo PID\n" -"      --no-cpu-limit[=BOOL]             No instala un limitador de carga de " -"CPU en\n" +"      --no-cpu-limit[=BOOL]             No instala un limitador de carga de CPU en\n"  "                                        plataformas que lo soporten.\n" -"      --disable-shm[=BOOL]              Deshabilita el soporte para memoria " -"compartida.\n" +"      --disable-shm[=BOOL]              Deshabilita el soporte para memoria compartida.\n"  "\n"  "SCRIPT DE INICIO:\n" -"  -L, --load=\"ARGUMENTOS DEL MODULO\"  Carga el módulo complemento con los " -"parámetros dados\n" +"  -L, --load=\"ARGUMENTOS DEL MODULO\"  Carga el módulo complemento con los parámetros dados\n"  "  -F, --file=FILENAME                   Ejecuta el script especificado\n" -"  -C                                    Abre una lÃnea de comando en el TTY " -"actual después de iniciar\n" +"  -C                                    Abre una lÃnea de comando en el TTY actual después de iniciar\n"  "\n" -"  -n                                    No carga el archivo script " -"predeterminado\n" +"  -n                                    No carga el archivo script predeterminado\n"  #: ../src/daemon/cmdline.c:247  msgid "--daemonize expects boolean argument" @@ -674,13 +478,8 @@ msgid "--fail expects boolean argument"  msgstr "--fail espera un argumento booleano"  #: ../src/daemon/cmdline.c:264 -msgid "" -"--log-level expects log level argument (either numeric in range 0..4 or one " -"of debug, info, notice, warn, error)." -msgstr "" -"--log-level espera un argumento en el nivel del log (ya sea numérico, que " -"caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o " -"error). " +msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)." +msgstr "--log-level espera un argumento en el nivel del log (ya sea numérico, que caiga en el rango de 0..4; ya sea uno de debug, info, notice, warn, o error). "  #: ../src/daemon/cmdline.c:276  msgid "--high-priority expects boolean argument" @@ -767,7 +566,7 @@ msgid "Load Once: %s\n"  msgstr "Carga una vez: %s\n"  #: ../src/daemon/dumpmodules.c:75 -#, fuzzy, c-format +#, c-format  msgid "DEPRECATION WARNING: %s\n"  msgstr "ADVERTENCIA DE COMPATIBILIDAD: %s\n" @@ -842,26 +641,18 @@ msgid "Failed to open configuration file: %s"  msgstr "No se pudo abrir el archivo de configuración: %s"  #: ../src/daemon/daemon-conf.c:540 -msgid "" -"The specified default channel map has a different number of channels than " -"the specified default number of channels." -msgstr "" -"El mapa de canal predeterminado especificado tiene un número de canales " -"distinto al especificado como predeterminado." +msgid "The specified default channel map has a different number of channels than the specified default number of channels." +msgstr "El mapa de canal predeterminado especificado tiene un número de canales distinto al especificado como predeterminado."  #: ../src/daemon/daemon-conf.c:616  #, c-format  msgid "### Read from configuration file: %s ###\n"  msgstr "### Leyendo desde el archivo de confioguración: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Abandonando privilegios de root." -#: ../src/daemon/caps.c:103 -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 "Sistema de Sonido PulseAudio" @@ -870,31 +661,8 @@ msgstr "Sistema de Sonido PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Iniciar el Sistema de Sonido PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Planificación de alta prioridad (nivel Unix negativo) para el demonio " -"PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Planificación de tiempo real para el demonio de PulseAudio." - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Las polÃticas del sistema impidieron a PulseAudio adquirir la planificación " -"de alta prioridad." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"Las polÃticas del sistema impidieron a PulseAudio adquirir la planificación " -"de tiempo real." - -#: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747 +#: ../src/pulse/channelmap.c:105 +#: ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1098,9 +866,12 @@ msgstr "Posterior izquierdo superior"  msgid "Top Rear Right"  msgstr "Posterior derecho superior" -#: ../src/pulse/channelmap.c:478 ../src/pulse/sample.c:167 -#: ../src/pulse/volume.c:239 ../src/pulse/volume.c:265 -#: ../src/pulse/volume.c:285 ../src/pulse/volume.c:315 +#: ../src/pulse/channelmap.c:478 +#: ../src/pulse/sample.c:167 +#: ../src/pulse/volume.c:239 +#: ../src/pulse/volume.c:265 +#: ../src/pulse/volume.c:285 +#: ../src/pulse/volume.c:315  msgid "(invalid)"  msgstr "(inválido)" @@ -1253,7 +1024,8 @@ msgstr "%0.1f KiB"  msgid "%u B"  msgstr "%u B" -#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100 +#: ../src/pulse/client-conf-x11.c:55 +#: ../src/utils/pax11publish.c:100  msgid "XOpenDisplay() failed"  msgstr "XOpenDisplay() falló" @@ -1266,187 +1038,187 @@ msgstr "Fallo al analizar los datos de la cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "Fallo al abrir el archivo de configuración '%s': %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "No se ha cargado ninguna cookie. Intentando conectar de todos modos." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(:) %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Se ha recibido un mensaje para una extensión desconocida '%s'" -#: ../src/utils/pacat.c:107 +#: ../src/utils/pacat.c:108  #, c-format -msgid "Failed to drain stream: %s\n" -msgstr "Error al drenar el flujo: %s\n" +msgid "Failed to drain stream: %s" +msgstr "Falló al drenar el flujo: %s" + +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained." +msgstr "El flujo de reproducción ha sido drenado." -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" -msgstr "El flujo de platback se ha drenado.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server." +msgstr "Drenando conexión con el servidor." -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" -msgstr "Drenando conexión con el servidor.\n" +#: ../src/utils/pacat.c:136 +#, c-format +msgid "pa_stream_drain(): %s" +msgstr "pa_stream_drain(): %s" -#: ../src/utils/pacat.c:135 +#: ../src/utils/pacat.c:159  #, c-format -msgid "pa_stream_drain(): %s\n" -msgstr "pa_stream_drain(): %s\n" +msgid "pa_stream_write() failed: %s" +msgstr "pa_stream_write() falló: %s" -#: ../src/utils/pacat.c:158 +#: ../src/utils/pacat.c:197  #, c-format -msgid "pa_stream_write() failed: %s\n" -msgstr "pa_stream_write() falló: %s\n" +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() falló: %s" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 +#: ../src/utils/pacat.c:237 +#: ../src/utils/pacat.c:267  #, c-format -msgid "pa_stream_peek() failed: %s\n" -msgstr "pa_stream_peek() falló: %s\n" +msgid "pa_stream_peek() failed: %s" +msgstr "pa_stream_peek() falló: %s" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" -msgstr "Se ha creado exitosamente el flujo (stream).\n" +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created." +msgstr "Se ha creado exitosamente el flujo (stream)." -#: ../src/utils/pacat.c:305 +#: ../src/utils/pacat.c:310  #, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" -msgstr "pa_stream_get_buffer_attr() falló: %s\n" +msgid "pa_stream_get_buffer_attr() failed: %s" +msgstr "pa_stream_get_buffer_attr() falló: %s" -#: ../src/utils/pacat.c:309 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -msgstr "Métrica del búfer: maxlenght=%u, tlenghth=%u, prebuf=%u, minreq=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u" +msgstr "Métrica del búfer: maxlenght=%u, tlenghth=%u, prebuf=%u, minreq=%u" -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" -msgstr "Métrica del búfer: maxlenght=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u" +msgstr "Métrica del búfer: maxlenght=%u, fragsize=%u" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" -msgstr "Utilizando especificaciones de muestra '%s', mapa del canal '%s'.\n" +msgid "Using sample spec '%s', channel map '%s'." +msgstr "Utilizando especificaciones de muestra '%s', mapa del canal '%s'." -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" -msgstr "Conectado al dispositivo %s (%u, %ssuspended).\n" +msgid "Connected to device %s (%u, %ssuspended)." +msgstr "Conectado al dispositivo %s (%u, %ssuspended)." -#: ../src/utils/pacat.c:330 +#: ../src/utils/pacat.c:335  #, c-format -msgid "Stream error: %s\n" -msgstr "Error de flujo: %s\n" +msgid "Stream error: %s" +msgstr "Error de flujo: %s" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" -msgstr "Dispositivo de flujo suspendido. %s \n" +msgid "Stream device suspended.%s" +msgstr "Dispositivo de flujo suspendido.%s" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" -msgstr "Dispositivo de flujo reestablecido. %s \n" +msgid "Stream device resumed.%s" +msgstr "Dispositivo de flujo reestablecido.%s" -#: ../src/utils/pacat.c:350 +#: ../src/utils/pacat.c:355  #, c-format -msgid "Stream underrun.%s \n" -msgstr "Flujo agotado. %s \n" +msgid "Stream underrun.%s" +msgstr "Flujo agotado.%s" -#: ../src/utils/pacat.c:357 +#: ../src/utils/pacat.c:362  #, c-format -msgid "Stream overrun.%s \n" -msgstr "Flujo saturado.%s \n" +msgid "Stream overrun.%s" +msgstr "Flujo saturado.%s" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" -msgstr "Flujo iniciado. %s \n" +msgid "Stream started.%s" +msgstr "Flujo iniciado.%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" -msgstr "Fujo trasladado al dispositivo %s (%u, %ssuspended). %s\n" +msgid "Stream moved to device %s (%u, %ssuspended).%s" +msgstr "Fujo trasladado al dispositivo %s (%u, %ssuspended).%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "no" -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" -msgstr "Los atributos del buffer de flujo cambiaron. %s \n" +msgid "Stream buffer attributes changed.%s" +msgstr "Los atributos del búfer de flujo han cambiado.%s" -#: ../src/utils/pacat.c:411 +#: ../src/utils/pacat.c:416  #, c-format -msgid "Connection established.%s \n" -msgstr "Conexión establecida. %s \n" +msgid "Connection established.%s" +msgstr "Conexión establecida.%s" -#: ../src/utils/pacat.c:414 +#: ../src/utils/pacat.c:419  #, c-format -msgid "pa_stream_new() failed: %s\n" -msgstr "pa_stream_new() falló; %s\n" +msgid "pa_stream_new() failed: %s" +msgstr "pa_stream_new() falló: %s" -#: ../src/utils/pacat.c:442 +#: ../src/utils/pacat.c:447  #, c-format -msgid "pa_stream_connect_playback() failed: %s\n" -msgstr "pa_stream_connect_playback() falló: %s\n" +msgid "pa_stream_connect_playback() failed: %s" +msgstr "pa_stream_connect_playback() falló: %s" -#: ../src/utils/pacat.c:448 +#: ../src/utils/pacat.c:453  #, c-format -msgid "pa_stream_connect_record() failed: %s\n" -msgstr "pa_stream_connect_record() falló: %s\n" +msgid "pa_stream_connect_record() failed: %s" +msgstr "pa_stream_connect_record() falló: %s" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 +#: ../src/utils/pacat.c:467  #, c-format -msgid "Connection failure: %s\n" -msgstr "Error en la conexión: %s\n" - -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Hay EOF.\n" +msgid "Connection failure: %s" +msgstr "Error en la conexión: %s"  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() falló: %s\n" +msgid "Got EOF." +msgstr "Se tiene EOF." -#: ../src/utils/pacat.c:532 +#: ../src/utils/pacat.c:537  #, c-format -msgid "write() failed: %s\n" -msgstr "write() falló: %s\n" +msgid "write() failed: %s" +msgstr "write() falló: %s" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" -msgstr "Hay señal, saliendo (exiting).\n" +#: ../src/utils/pacat.c:558 +msgid "Got signal, exiting." +msgstr "Hay señal, saliendo (exiting)." -#: ../src/utils/pacat.c:567 +#: ../src/utils/pacat.c:572  #, c-format -msgid "Failed to get latency: %s\n" -msgstr "No se pudo obtener latencia: %s\n" +msgid "Failed to get latency: %s" +msgstr "No se pudo obtener latencia: %s" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Tiempo: %0.3f sec; Latencia: %0.0f usec. \r" -#: ../src/utils/pacat.c:592 +#: ../src/utils/pacat.c:595  #, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" -msgstr "pa_stream_update_timing_info() falló: %s\n" +msgid "pa_stream_update_timing_info() failed: %s" +msgstr "pa_stream_update_timing_info() falló: %s"  #: ../src/utils/pacat.c:605 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -1458,48 +1230,29 @@ msgid ""  "\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, " -"s24le, s24be,\n" -"                                        s24-32le, s24-32be (defaults to " -"s16ne)\n" -"      --channels=CHANNELS               The number of channels, 1 for mono, " -"2 for stereo\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, s24le, s24be,\n" +"                                        s24-32le, s24-32be (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" +"      --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" +"      --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" +"      --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" -"      --property=PROPERTY=VALUE         Set the specified property to the " -"specified value.\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" +"      --property=PROPERTY=VALUE         Set the specified property to the specified value.\n"  "      --raw                             Record/play raw PCM data.\n"  "      --file-format=FFORMAT             Record/play formatted PCM data.\n"  "      --list-file-formats               List available file formats.\n" @@ -1512,47 +1265,33 @@ msgstr ""  "  -r, --record                          Crea una conexión para grabar\n"  "  -p, --playback                        Create a connection for playback\n"  "\n" -"  -v, --verbose                         Habilita operaciones con vocabulario " -"más detallado\n" +"  -v, --verbose                         Habilita operaciones con vocabulario más detallado\n"  "\n" -"  -s, --server=SERVER                   El nombre del servidor con el que " -"conectarse\n" -"  -d, --device=DEVICE                   El nombre del destino/fuente a la " -"que conectarse\n" -"  -n, --client-name=NAME                Cómo llamar a este cliente en el " -"servidor\n" -"      --stream-name=NAME                Cómo llamar a este flujo en el " -"servidor\n" -"      --volume=VOLUME                   Especificar el salida inicial " -"(linear) de volumen dentro del rango 0...65536\n" -"      --rate=SAMPLERATE                 Tasa de muestra en Hz (establecida " -"en 44100 por defecto)\n" -"      --format=SAMPLEFORMAT             El tipo de ejemplo, alguno entre " -"s16le, s16be, u8, float32le,\n" -"                                        float32be, ulaw, alaw, s32le, s32be " -"(establecido en s16ne por defecto)\n" -"      --channels=CHANNELS               La cantidad de canales, 1 para mono, " -"2 para stereo\n" +"  -s, --server=SERVER                   El nombre del servidor con el que conectarse\n" +"  -d, --device=DEVICE                   El nombre del sumidero/fuente a la que conectarse\n" +"  -n, --client-name=NAME                Cómo llamar a este cliente en el servidor\n" +"      --stream-name=NAME                Cómo llamar a este flujo en el servidor\n" +"      --volume=VOLUME                   Especifica el salida inicial (linear) de volumen dentro del rango 0...65536\n" +"      --rate=SAMPLERATE                 Tasa de muestra en Hz (establecida en 44100 por defecto)\n" +"      --format=SAMPLEFORMAT             El tipo de ejemplo, alguno entre s16le, s16be, u8, float32le,\n" +"                                        float32be, ulaw, alaw, s32le, s32be (establecido en s16ne por defecto)\n" +"      --channels=CHANNELS               La cantidad de canales, 1 para mono, 2 para stereo\n"  "                                        (establecido en 2 por defecto)\n" -"      --channel-map=CHANNELMAP          Mapa de canales a ser usado en lugar " -"del establecido por defecto\n" -"      --fix-format                      Obtener el formato de sample desde " -"el destino al que el flujo\n" +"      --channel-map=CHANNELMAP          Mapeo de canales a ser usado en lugar del establecido por defecto\n" +"      --fix-format                      Obtener el formato de ejemplo desde el sumidero al que el flujo\n"  "                                        se ha conectado.\n" -"      --fix-rate                        Obtener la tasa de sampling desde el " -"destino al que el flujo\n" +"      --fix-rate                        Obtiene la tasa de ejemplo desde el destino al que el flujo\n"  "                                        se ha conectado.\n" -"      --fix-channels                    Obtener el mapa y la cantidad de " -"canales\n" -"                                        desde el destino al que el flojo se " -"ha conectado.\n" -"      --no-remix                        No upmix o downmix canales.\n" -"      --no-remap                        Mapear canales por Ãndices en lugar " -"de por nombres.\n" -"      --latency=BYTES                   Solicitar la latencia especificada " -"en bytes.\n" -"      --process-time=BYTES              Solicitar los procesos de tiempo por " -"pedido especificados en bytes.\n" +"      --fix-channels                    Obtener el mapa y la cantidad de canales\n" +"                                        desde el sumidero al que el flujo se ha conectado.\n" +"      --no-remix                        No realiza un upmix o un downmix de los canales.\n" +"      --no-remap                        Mapea canales por Ãndices en lugar de por nombres.\n" +"      --latency=BYTES                   Solicita la latencia especificada en bytes.\n" +"      --process-time=BYTES              Solicita los procesos de tiempo por pedido especificados en bytes.\n" +"      --property=PROPERTY=VALUE         Estabelce la propiedad especificada al valor especificado.\n" +"      --raw                             Graba/reproduce datos PCM con formato raw.\n" +"      --file-format=FFORMAT             Graba/reproduce datos PCM formateados.\n" +"      --list-file-formats               Muestra una lista con los formatos de archivo disponibles.\n"  #: ../src/utils/pacat.c:727  #, c-format @@ -1565,96 +1304,91 @@ msgstr ""  "Compilado con libpulse %s\n"  "Linkeado con libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 -#, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Mapa de canales inválido '%s'\n" +#: ../src/utils/pacat.c:760 +#, c-format +msgid "Invalid client name '%s'" +msgstr "Nombre de cliente '%s' inválido"  #: ../src/utils/pacat.c:776 -#, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Método de remuestreo inválido '%s'" +#, c-format +msgid "Invalid stream name '%s'" +msgstr "Nombre de flujo '%s' inválido"  #: ../src/utils/pacat.c:813  #, c-format -msgid "Invalid channel map '%s'\n" -msgstr "Mapa de canales inválido '%s'\n" +msgid "Invalid channel map '%s'" +msgstr "Mapa de canales '%s' inválido"  #: ../src/utils/pacat.c:842  #, c-format -msgid "Invalid latency specification '%s'\n" -msgstr "Especificación de latencia inválida '%s'\n" +msgid "Invalid latency specification '%s'" +msgstr "Especificación de latencia '%s' inválida"  #: ../src/utils/pacat.c:849  #, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "Especificación de tiempo de proceso inválida '%s'\n" +msgid "Invalid process time specification '%s'" +msgstr "Especificación de tiempo de proceso '%s' inválida"  #: ../src/utils/pacat.c:861 -#, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Método de remuestreo inválido '%s'" +#, c-format +msgid "Invalid property '%s'" +msgstr "Propiedad '%s' inválida"  #: ../src/utils/pacat.c:878 -#, fuzzy, c-format +#, c-format  msgid "Unknown file format %s."  msgstr "Formato de archivo desconocido %s."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "Especificación de muestra inválida\n" +msgid "Invalid sample specification" +msgstr "Especificación de muestra inválida"  #: ../src/utils/pacat.c:907  #, c-format -msgid "open(): %s\n" -msgstr "open() %s\n" +msgid "open(): %s" +msgstr "open() %s"  #: ../src/utils/pacat.c:912  #, c-format -msgid "dup2(): %s\n" -msgstr "dup2(): %s\n" +msgid "dup2(): %s" +msgstr "dup2(): %s"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" -msgstr "Demasiados argumentos.\n" +msgid "Too many arguments." +msgstr "Demasiados argumentos."  #: ../src/utils/pacat.c:930 -#, fuzzy -msgid "Failed to generate sample specification for file.\n" -msgstr "Error al intentar obtener información de muestra: %s\n" +msgid "Failed to generate sample specification for file." +msgstr "Falló al generar especificación de ejemplo para el archivo."  #: ../src/utils/pacat.c:950 -msgid "Failed to open audio file.\n" -msgstr "Error al intentar abrir el archivo de sonido.\n" +msgid "Failed to open audio file." +msgstr "Falló al abrir el archivo de sonido."  #: ../src/utils/pacat.c:956 -msgid "" -"Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +msgid "Warning: specified sample specification will be overwritten with specification from file." +msgstr "Aviso: el ejemplo de especificación indicado será sobreescrito con las especificaciones del archivo." -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -#, fuzzy -msgid "Failed to determine sample specification from file.\n" -msgstr "Error al intentar obtener información de muestra: %s\n" +#: ../src/utils/pacat.c:959 +msgid "Failed to determine sample specification from file." +msgstr "Falló al determinar especificación de ejemplo del archivo."  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +msgid "Warning: Failed to determine channel map from file." +msgstr "Aviso: Falló al determinar el mapeo del canal desde el archivo."  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "El mapa del canal no se corresponde con la especificación de muestra\n" +msgid "Channel map doesn't match sample specification" +msgstr "El mapa del canal no se corresponde con la especificación de muestra"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +msgid "Warning: failed to write channel map to file." +msgstr "Aviso: Faló al escribir el mapeo del canal en el archivo."  #: ../src/utils/pacat.c:1005 -#, fuzzy, c-format -msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" -msgstr "Abriendo un %s flujo con las especificaciones de muestra '%s'.\n" +#, c-format +msgid "Opening a %s stream with sample specification '%s' and channel map '%s'." +msgstr "Abriendo un flujo %s con especificación de muestra '%s' y mapeo de canal '%s'."  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1664,36 +1398,31 @@ msgstr "grabando"  msgid "playback"  msgstr "playback" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" -msgstr "pa_mainloop_new() falló.\n" +#: ../src/utils/pacat.c:1032 +msgid "pa_mainloop_new() failed." +msgstr "pa_mainloop_new() falló."  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" -msgstr "io_new() falló.\n" +msgid "io_new() failed." +msgstr "io_new() falló." -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" -msgstr "pa_context_new() falló.\n" +#: ../src/utils/pacat.c:1058 +msgid "pa_context_new() failed." +msgstr "pa_context_new() falló."  #: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() falló: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() falló.\n" +#: ../src/utils/pacat.c:1072 +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_rttime_new() falló." -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" -msgstr "pa_mainloop_run() falló.\n" +#: ../src/utils/pacat.c:1079 +msgid "pa_mainloop_run() failed." +msgstr "pa_mainloop_run() falló."  #: ../src/utils/pasuspender.c:81  #, c-format @@ -1720,7 +1449,14 @@ 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:820 +#: ../src/utils/pasuspender.c:159 +#: ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Error en la conexión: %s\n" + +#: ../src/utils/pasuspender.c:176 +#: ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n"  msgstr "Hay SIGINT, saliendo.\n" @@ -1737,16 +1473,14 @@ msgid ""  "\n"  "  -h, --help                            Show this help\n"  "      --version                         Show version\n" -"  -s, --server=SERVER                   The name of the server to connect " -"to\n" +"  -s, --server=SERVER                   The name of the server to connect to\n"  "\n"  msgstr ""  "%s [opciones] ... \n"  "\n"  "  -h, --help                            Muestra esta ayuda\n"  "      --version                         Muestra la versión\n" -"  -s, --server=SERVER                   El nombre del servidor con el que " -"conectarse\n" +"  -s, --server=SERVER                   El nombre del servidor con el que conectarse\n"  "\n"  #: ../src/utils/pasuspender.c:248 @@ -1760,6 +1494,24 @@ msgstr ""  "Compilado con libpulse %s\n"  "Linkeado con libpulse %s\n" +#: ../src/utils/pasuspender.c:277 +#: ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() falló.\n" + +#: ../src/utils/pasuspender.c:290 +#: ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() falló.\n" + +#: ../src/utils/pasuspender.c:298 +#: ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() falló.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1773,9 +1525,7 @@ msgstr "Actualmente en uso: %u bloques conteniendo %s bytes en total.\n"  #: ../src/utils/pactl.c:137  #, c-format  msgid "Allocated during whole lifetime: %u blocks containing %s bytes total.\n" -msgstr "" -"Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en " -"total.\n" +msgstr "Ubicados durante a lo largo del tiempo: %u bloques conteniendo %s bytes en total.\n"  #: ../src/utils/pactl.c:140  #, c-format @@ -1854,15 +1604,17 @@ msgstr ""  "\tPropiedades:\n"  "\t\t%s\n" -#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 -#, fuzzy, c-format +#: ../src/utils/pactl.c:261 +#: ../src/utils/pactl.c:353 +#, c-format  msgid "\tPorts:\n" -msgstr "\tPerfiles:\n" +msgstr "\tPuertos:\n" -#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#: ../src/utils/pactl.c:267 +#: ../src/utils/pactl.c:359 +#, c-format  msgid "\tActive Port: %s\n" -msgstr "\tPerfil Activo: %s\n" +msgstr "\tPuerto Activo: %s\n"  #: ../src/utils/pactl.c:290  #, c-format @@ -1908,10 +1660,18 @@ msgstr ""  "\tPropiedades:\n"  "\t\t%s\n" -#: ../src/utils/pactl.c:338 ../src/utils/pactl.c:394 ../src/utils/pactl.c:429 -#: ../src/utils/pactl.c:466 ../src/utils/pactl.c:525 ../src/utils/pactl.c:526 -#: ../src/utils/pactl.c:536 ../src/utils/pactl.c:580 ../src/utils/pactl.c:581 -#: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631 +#: ../src/utils/pactl.c:338 +#: ../src/utils/pactl.c:394 +#: ../src/utils/pactl.c:429 +#: ../src/utils/pactl.c:466 +#: ../src/utils/pactl.c:525 +#: ../src/utils/pactl.c:526 +#: ../src/utils/pactl.c:536 +#: ../src/utils/pactl.c:580 +#: ../src/utils/pactl.c:581 +#: ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:630 +#: ../src/utils/pactl.c:631  #: ../src/utils/pactl.c:638  msgid "n/a"  msgstr "n/a" @@ -2035,8 +1795,7 @@ msgstr ""  #: ../src/utils/pactl.c:547  #, 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" +msgstr "Error al intentar obtener información acerca de la salida de la fuenta: %s\n"  #: ../src/utils/pactl.c:567  #, c-format @@ -2103,7 +1862,8 @@ msgstr ""  "\tPropiedades:\n"  "\t\t%s\n" -#: ../src/utils/pactl.c:646 ../src/utils/pactl.c:656 +#: ../src/utils/pactl.c:646 +#: ../src/utils/pactl.c:656  #, c-format  msgid "Failure: %s\n"  msgstr "Falla: %s\n" @@ -2118,7 +1878,7 @@ msgid "Premature end of file\n"  msgstr "Fin prematuro del archivo\n"  #: ../src/utils/pactl.c:826 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options] stat\n"  "%s [options] list\n" @@ -2139,10 +1899,8 @@ msgid ""  "  -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" +"  -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 [opciones] stat\n"  "%s [opciones] list\n" @@ -2157,14 +1915,14 @@ msgstr ""  "%s [opciones] suspend-sink [SINK] 1|0\n"  "%s [opciones] suspend-source [SOURCE] 1|0\n"  "%s [opciones] set-card-profile [CARD] [PROFILE] \n" +"%s [opciones] set-sink-port [SINK] [PORT] \n" +"%s [opciones] set-source-port [SOURCE] [PORT] \n"  "\n"  "  -h, --help                            Muestra esta ayuda\n"  "      --version                         Muestra la versión\n"  "\n" -"  -s, --server=SERVER                   El nombre del servidor al que " -"conectarse\n" -"  -n, --client-name=NAME                El nombre de este cliente en el " -"servidor\n" +"  -s, --server=SERVER                   El nombre del servidor al que conectarse\n" +"  -n, --client-name=NAME                El nombre de este cliente en el servidor\n"  #: ../src/utils/pactl.c:880  #, c-format @@ -2177,6 +1935,11 @@ msgstr ""  "Compilado con libpulse %s\n"  "Linked con libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "Nombre de cliente inválido '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Por favor, especifique un archivo de muestra a cargar\n" @@ -2185,10 +1948,13 @@ msgstr "Por favor, especifique un archivo de muestra a cargar\n"  msgid "Failed to open sound file.\n"  msgstr "Error al intentar abrir el archivo de sonido.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "Error al intentar determinar especificación de ejemplo del archivo.\n" +  #: ../src/utils/pactl.c:951 -#, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" -msgstr "Abriendo un %s flujo con las especificaciones de muestra '%s'.\n" +msgstr "Aviso: Fallo al intentar determinar especificación de ejemplo desde el archivo.\n"  #: ../src/utils/pactl.c:961  msgid "You have to specify a sample name to play\n" @@ -2200,13 +1966,11 @@ msgstr "Debe especificar un nombre de muestra para ser eliminado\n"  #: ../src/utils/pactl.c:982  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" +msgstr "Debe especificar un Ãndice para las entradas del destino y un destino\n"  #: ../src/utils/pactl.c:992  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" +msgstr "Debe especificar un Ãndice para las salidas de la fuente, y una fuente\n"  #: ../src/utils/pactl.c:1007  msgid "You have to specify a module name and arguments.\n" @@ -2217,44 +1981,29 @@ msgid "You have to specify a module index\n"  msgstr "Debe especificar un Ãndice de módulo\n"  #: ../src/utils/pactl.c:1037 -msgid "" -"You may not specify more than one sink. You have to specify a boolean " -"value.\n" -msgstr "" -"No puede especificar más de un sumidero. Tiene que especificar un valor " -"booleano.\n" +msgid "You may not specify more than one sink. You have to specify a boolean value.\n" +msgstr "No puede especificar más de un sumidero. Tiene que especificar un valor booleano.\n"  #: ../src/utils/pactl.c:1050 -msgid "" -"You may not specify more than one source. You have to specify a boolean " -"value.\n" -msgstr "" -"No puede especificar más de una fuente. Tiene que especificar un valor " -"booleano.\n" +msgid "You may not specify more than one source. You have to specify a boolean value.\n" +msgstr "No puede especificar más de una fuente. Tiene que especificar un valor booleano.\n"  #: ../src/utils/pactl.c:1062  msgid "You have to specify a card name/index and a profile name\n"  msgstr "Debe especificar un nombre de placa/Ãndice y un nombre de perfil\n"  #: ../src/utils/pactl.c:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "Debe especificar un nombre de placa/Ãndice y un nombre de perfil\n" +msgstr "Debe especificar un nombre de sumidero/Ãndice y un nombre de puerto\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "Debe especificar un nombre de placa/Ãndice y un nombre de perfil\n" +msgstr "Debe especificar un nombre de fuente/Ãndice y un nombre de puerto\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "No se ha especificadfo ningún comando válido.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() falló: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2262,17 +2011,14 @@ msgid ""  "\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" +" -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 source] [-c file]  [-d|-e|-i|-r]\n"  "\n" -" -d    Muestra los datos actuales de PulseAudio asociados en un display X11 " -"(por defecto)\n" +" -d    Muestra los datos actuales de PulseAudio asociados en un display X11 (por defecto)\n"  " -e    Exporta los datos locales de PulseAudio a un display X11\n" -" -i    Importa los datos de PulseAudio de un display X11 hacia las variables " -"del entorno local y el archivo de cookies.\n" +" -i    Importa los datos de PulseAudio de un display X11 hacia las variables del entorno local y el archivo de cookies.\n"  " -r    Elimina todo dato de PulseAudio de un display X11\n"  #: ../src/utils/pax11publish.c:94 @@ -2336,11 +2082,8 @@ msgid "Not yet implemented.\n"  msgstr "Aún no se ha implementado.\n"  #: ../src/utils/pacmd.c:61 -#, fuzzy  msgid "No PulseAudio daemon running, or not running as session daemon." -msgstr "" -"El demonio PulseAudio no está ejecutándose, o no se está ejecutando como un " -"demonio de sesión." +msgstr "El demonio PulseAudio no está ejecutándose, o no se está ejecutando como un demonio de sesión."  #: ../src/utils/pacmd.c:66  #, c-format @@ -2365,64 +2108,57 @@ msgstr "El demonio no responde."  msgid "select(): %s"  msgstr "select(): %s" -#: ../src/utils/pacmd.c:156 ../src/utils/pacmd.c:173 +#: ../src/utils/pacmd.c:156 +#: ../src/utils/pacmd.c:173  #, c-format  msgid "read(): %s"  msgstr "read(): %s" -#: ../src/utils/pacmd.c:189 ../src/utils/pacmd.c:203 +#: ../src/utils/pacmd.c:189 +#: ../src/utils/pacmd.c:203  #, c-format  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 +#: ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "No se puede acceder al candado de autogeneración." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 +#: ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid "" -"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." +"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."  msgstr "" -"ALSA nos despertó para escribir nuevos datos al dispositivo, ¡pero en " -"realidad no hay nada para escribir!\n" -"Probablemente sea un error en el controlador ALSA '%s'. Por favor, informe " -"esto a los desarrolladores de ALSA.\n" -"Nos despertaron con POLLOUT puesto -- sin embargo, una llamada a " -"snd_pcm_avail() devolvió 0 u otro valor < min_avail." +"ALSA nos despertó para escribir nuevos datos al dispositivo, ¡pero en realidad no hay nada para escribir!\n" +"Probablemente sea un error en el controlador ALSA '%s'. Por favor, informe esto a los desarrolladores de ALSA.\n" +"Nos despertaron con POLLOUT puesto -- sin embargo, una llamada a snd_pcm_avail() devolvió 0 u otro valor < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 +#: ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid "" -"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." +"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."  msgstr "" -"ALSA nos despertó para leer nuevos datos desde el dispositivo, ¡pero en " -"realidad no hay nada para leer!\n" -"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, " -"informe esto a los desarrolladores de ALSA.\n" -"Nos despertaron con POLLIN puesto -- sin embargo, una llamada a snd_pcm_avail" -"() devolvió 0 u otro valor < min_avail." +"ALSA nos despertó para leer nuevos datos desde el dispositivo, ¡pero en realidad no hay nada para leer!\n" +"Lo más probable es que sea un error del controlador ALSA '%s'. Por favor, informe esto a los desarrolladores de ALSA.\n" +"Nos despertaron con POLLIN puesto -- sin embargo, una llamada a snd_pcm_avail() devolvió 0 u otro valor < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Apagado" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Reproducción de Alta Fidelidad (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "TelefonÃa Duplex (HSP/HFP)" @@ -2430,57 +2166,141 @@ msgstr "TelefonÃa Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Servidor de Sonido PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "No se puede conectar al bus del sistema: %s" +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "No se puede obtener el llamador desde el PID: %s" +#~ msgid "Cannot set UID on caller object." +#~ msgstr "No se puede poner UID en el objeto llamador." +#~ msgid "Failed to get CK session." +#~ msgstr "Falló al obtener sesión CK." +#~ msgid "Cannot set UID on session object." +#~ msgstr "No se puede poner UID en el objeto de sesión." +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "No se puede asignar PolKitAction." +#~ msgid "Cannot set action_id" +#~ msgstr "No se pudo poner action_id" +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "No se pudo asignar PolKitContext." +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "No se pudo inicializar PolKitContext: %s" +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "No se pudo determinar si el llamador está autorizado: %s" +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "No se pudo obtener auth: %s" +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit respondió con '%s'" +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Planificación de alta prioridad (nivel Unix negativo) para el demonio " +#~ "PulseAudio" +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Planificación de tiempo real para el demonio de PulseAudio." +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Las polÃticas del sistema impidieron a PulseAudio adquirir la " +#~ "planificación de alta prioridad." +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Las polÃticas del sistema impidieron a PulseAudio adquirir la " +#~ "planificación de tiempo real." +#~ msgid "read() failed: %s\n" +#~ msgstr "read() falló: %s\n" +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() falló: %s\n" +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Estamos en el grupo '%s', permitiendo planificación de prioridad alta." +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Estamos en el grupo '%s', permitiendo planificación en tiempo real." +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit garantiza que se obtenga el privilegio de alta prioridad." +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit se niega a dar acceso al privilegio de alta prioridad." +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit garantiza el acceso al privilegio de tiempo real." +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit se niega a dar acceso al privilegio de tiempo real." +#~ 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 "" +#~ "Se llamó con SUID root y se pidió planificación en tiempo real y/o de " +#~ "alta prioridad en la configuración. Sin embargo, no se tiene los " +#~ "privilegios necesarios:\n" +#~ "No se está en el grupo '%s'. PolicyKit rechaza darnos el permiso " +#~ "necesario y no se puede aumentar los lÃmites del recurso RLIMIT_NICE/" +#~ "RLIMIT_RTPRIO.\n" +#~ "Para habilitar la planifiación de tiempo real/alta prioridad por favor " +#~ "adquiera los privilegios apropiados en PolicyKit, o hágase miembro de '%" +#~ "s', o aumente los lÃmites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para este " +#~ "usuario." +#~ 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." +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO incrementado en forma exitosa" +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "Fallo en RLIMIT_RTPRIO: %s" +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Abandonando CAP_NICE" +#~ 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." +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Capacidades limitadas con éxito para CAP_SYS_NICE-" +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() falló.\n"  #~ msgid "Analog Mono"  #~ msgstr "Mono Analógico" -  #~ msgid "Analog Stereo"  #~ msgstr "Estéreo Analógico" -  #~ msgid "Digital Stereo (IEC958)"  #~ msgstr "Estéreo Digital (IEC958)" -  #~ msgid "Digital Stereo (HDMI)"  #~ msgstr "Estéreo Digital (HDMI)" -  #~ msgid "Analog Surround 4.0"  #~ msgstr "Análogo Envolvente 4.0" -  #~ msgid "Digital Surround 4.0 (IEC958/AC3)"  #~ msgstr "Digital Envolvente 4.0 (IEC9588/AC3)" -  #~ msgid "Analog Surround 4.1"  #~ msgstr "Análogo Envolvente 4.1" -  #~ msgid "Analog Surround 5.0"  #~ msgstr "Análogo Envolvente 5.0" -  #~ msgid "Analog Surround 5.1"  #~ msgstr "Análogo Envolvente 5.1" -  #~ msgid "Digital Surround 5.1 (IEC958/AC3)"  #~ msgstr "Digital Envolvente 5.1 (IEC958/AC3)" -  #~ msgid "Analog Surround 7.1"  #~ msgstr "Análogo Envolvénte 7.1" -  #~ msgid "Output %s + Input %s"  #~ msgstr "Salida %s + Entrada %s" -  #~ msgid "Output %s"  #~ msgstr "Salida %s" -  #~ msgid "Input %s"  #~ msgstr "Entrada %s" -  #~ msgid "Stream successfully created\n"  #~ msgstr "Se ha creado el flujo exitosamente\n" -  #~ msgid "Stream errror: %s\n"  #~ msgstr "Error de flujo: %s\n" -  #~ msgid "Connection established.\n"  #~ msgstr "Conección establecida.\n" -  #~ msgid ""  #~ "%s [options] [FILE]\n"  #~ "\n" @@ -2521,7 +2341,6 @@ msgstr "Servidor de Sonido PulseAudio"  #~ "(linear)en el rango de 0...65536\n"  #~ "      --channel-map=CHANNELMAP          Establece el mapa del canal para "  #~ "el uso\n" -  #~ msgid ""  #~ "paplay %s\n"  #~ "Compiled with libpulse %s\n" @@ -2530,16 +2349,12 @@ msgstr "Servidor de Sonido PulseAudio"  #~ "paplay %s\n"  #~ "Compilado con libpulse %s\n"  #~ "Linked con libpulse %s\n" -  #~ msgid "Invalid channel map\n"  #~ msgstr "Mapa de canal inválido\n" -  #~ msgid "Failed to open file '%s'\n"  #~ msgstr "Error al intentar abrir el archivo '%s'\n" -  #~ msgid "Channel map doesn't match file.\n"  #~ msgstr "El mapa del canal no se corresponde con el archivo.\n" -  #~ msgid "Using sample spec '%s'\n"  #~ msgstr "Utilizando especificaciones de muestra '%s'\n" @@ -2558,7 +2373,6 @@ msgstr "Servidor de Sonido PulseAudio"  #, 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 " @@ -2567,27 +2381,21 @@ msgstr "Servidor de Sonido PulseAudio"  #~ "' y PolicyKit se niega a darnos privilegios. Abandonando SUID de nuevo.\n"  #~ "Para permitir planificación en tiempo real, por favor adquiera los "  #~ "privilegios de PolicyKit adecuados, o forme parte de '" -  #~ msgid ""  #~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "  #~ "user."  #~ msgstr ""  #~ "', o incremente los lÃmites del recurso RLIMIT_NICE/RLIMIT_RTPRIO para "  #~ "ese usuario. " -  #~ msgid "Default sink name (%s) does not exist in name register."  #~ msgstr ""  #~ "El nombre de destino por defecto (%s) no existe en el registro de nombres." -  #~ msgid "Buffer overrun, dropping incoming data\n"  #~ msgstr "Búfer desbordado, abandonando datos entrantes\n" -  #~ msgid "pa_stream_drop() failed: %s\n"  #~ msgstr "pa_stream_drop() falló: %s\n" -  #~ msgid "muted"  #~ msgstr "mudo" -  #~ msgid ""  #~ "*** Autoload Entry #%u ***\n"  #~ "Name: %s\n" @@ -2600,9 +2408,7 @@ msgstr "Servidor de Sonido PulseAudio"  #~ "Tipo: %s\n"  #~ "Módulo: %s\n"  #~ "Argumento: %s\n" -  #~ msgid "sink"  #~ msgstr "destino" -  #~ msgid "source"  #~ msgstr "fuente" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: git trunk\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-05 16:24+0300\n"  "Last-Translator: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>\n"  "Language-Team: Finnish <laatu@lokalisointi.org>\n" @@ -16,7 +16,12 @@ msgstr ""  "Content-Transfer-Encoding: 8bit\n"  "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -28,7 +33,7 @@ msgstr ""  "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa â€%sâ€. Ilmoita tästä "  "ongelmasta ALSA-kehittäjille." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -41,7 +46,7 @@ msgstr ""  "Tämä on todennäköisesti ohjelmavirhe ALSA-ajurissa â€%sâ€. Ilmoita tästä "  "ongelmasta ALSA-kehittäjille." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -67,7 +72,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Sisäinen äänentoisto" @@ -87,220 +92,92 @@ msgstr "Uuden dl-lataaminen varaaminen epäonnistui."  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loaderin lisääminen epäonnistui." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Järjestelmäväylään ei voida yhdistää: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Kutsujaa ei saada PID:stä: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "UID:tä ei voida asettaa kutsujaobjektille." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK-istunnon saaminen epäonnistui." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "UID:tä ei voida asettaa istunto-objektille." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Ei voida varata PolKitActionia." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Ei voida asettaa action_id:tä" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Ei voida varata PolKitContextia." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Ei voida alustaa PolKitContextia: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Ei voida päätellä onko kutsujalla käyttöoikeus: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Tunnistautumista ei saada: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit vastasi â€%sâ€" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Saatiin signaali %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Poistutaan." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Käyttäjää â€%s†ei löydetty." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Ryhmää â€%s†ei löydetty." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Löydettiin käyttäjä â€%s†(UID %lu) ja ryhmä â€%s†(GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "Käyttäjän â€%s†ja ryhmän â€%s†GID:t eivät vastaa toisiaan." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Käyttäjän â€%s†kotihakemisto ei ole â€%sâ€, ohitetaan." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Hakemiston â€%s†luominen epäonnistui: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Ryhmäluettelon vaihtaminen epäonnistui: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID:n vaihtaminen epäonnistui: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID:n vaihtaminen epäonnistui: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Root-oikeuksista luopuminen onnistui." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Järjestelmänlaajuista tilaa ei tueta tällä alustalla." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) epäonnistui: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Komentorivin jäsentäminen epäonnistui." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "Ollaan ryhmässä â€%sâ€, korkean prioriteetin ajoitus on sallittua." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "Ollaan ryhmässä â€%sâ€, tosiaikainen vuorottaminen on sallittua." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit myöntää acquire-high-priority-oikeuden." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit ei myönnä acquire-high-priority-oikeutta." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit myöntää acquire-real-time-oikeuden." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit ei myönnä acquire-real-time-oikeutta." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Ohjelmaa kutsuttiin SUID-rootina ja reaaliaikaista ja/tai korkean " -"prioriteetin ajoitusta pyydettiin asetuksissa. Tarvittavat oikeudet " -"kuitenkin puuttuvat:\n" -"Ei olla ryhmässä â€%sâ€, PolicyKit ei myönnä pyydettyjä oikeuksia ja " -"RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja ei ole kasvatettu.\n" -"Hanki riittävät PolicyKit-oikeudet, liity ryhmään â€%s†tai kasvata tämän " -"käyttäjän RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja reaaliaikaisen ja/tai " -"korkean prioriteetin ajoituksen ottamiseksi käyttöön." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Korkean prioriteetin ajoitus otettu käyttöön asetuksissa, mutta käytännöt " -"eivät salli sitä." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO:n kasvatus onnistui" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO epäonnistui: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Luovutaan CAP_NICE:stä" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Taustaprosessi ei ole käynnissä" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Taustaprosessi käynnissä prosessitunnisteella %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Taustaprosessin lopettaminen epäonnistui: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -308,156 +185,156 @@ msgstr ""  "Tätä ohjelmaa ei ole tarkoitettu suoritettavaksi pääkäyttäjänä (ellei --"  "system ole määritelty)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Pääkäyttäjän (root) oikeudet vaaditaan." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start-valitsinta ei tueta järjestelmätilassa." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr ""  "Suoritetaan järjestelmätilassa, mutta --disallow-exit ei ole asetettuna!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "Suoritetaan järjestelmätilassa, mutta -disallow-module-loading ei ole "  "asetettuna!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  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:745 +#: ../src/daemon/main.c:591  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:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio:n saaminen epäonnistui." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "putki epäonnistui: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() epäonnistui: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() epäonnistui: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Taustaprosessin käynnistys epäonnistui." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Taustaprosessin käynnistys onnistui." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Tämä on PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Käännöksen isäntäkone: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Käännösaikaiset C-liput (CFLAGS): %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Käynnissä isäntäkoneella: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Löydettiin %u CPU:ta." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Sivun koko on %lu tavua" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Käännetty Valgrind-tuella: kyllä" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Käännetty Valgrind-tuella: ei" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Käynnissä valgrind-tilassa: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimoitu rakentaminen: kyllä" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimoitu rakentaminen: ei" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG on määritelty, kaikki assertit ovat poissa käytöstä." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH on määritelty, vain fast path -assertit ovat poissa käytöstä." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Kaikki assertit ovat käytössä." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Konetunnisteen nouto epäonnistui" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "Konetunniste on %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "Konetunniste on %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Käytetään ajonaikaista hakemistoa %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Käytetään tilahakemistoa %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Suoritetaan järjestelmätilassa: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -467,15 +344,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() epäonnistui." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Korkean tarkkuuden ajastimet käytettävissä." -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -483,29 +360,29 @@ msgstr ""  "Hei, ytimesi on kehno! Linux korkean tarkkuuden ajastimien tuella on hyvin "  "suositeltava!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() epäonnistui." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Taustaprosessin alustus epäonnistui." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  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:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Taustaprosessin käynnistys valmis." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Taustaprosessin sulkeminen käynnistetty." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Taustaprosessi lopetettu." @@ -854,14 +731,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Luettu asetustiedostosta: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Luovutaan pääkäyttäjän oikeuksista." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "Oikeuksien rajoittaminen CAP_SYS_NICEen onnistui." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio-äänijärjestelmä" @@ -870,29 +743,6 @@ msgstr "PulseAudio-äänijärjestelmä"  msgid "Start the PulseAudio Sound System"  msgstr "Käynnistä PulseAudio-äänijärjestelmä" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Korkean prioriteetin ajoitus (negatiivinen Unix-nice-taso) PulseAudio-" -"taustajärjestelmälle" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Reaaliaikainen ajoitus PulseAudio-taustajärjestelmälle" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Järjestelmäkäytäntö estää PulseAudiota saamasta korkean prioriteetin " -"ajoitusta." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"Järjestelmäkäytäntö estää PulseAudiota saamasta reaaliaikaista ajoitusta." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1265,183 +1115,187 @@ msgstr "Evästetietojen jäsennys epäonnistui"  msgid "Failed to open configuration file '%s': %s"  msgstr "Asetustiedoston avaaminen epäonnistui: â€%sâ€: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Ei ladattua evästettä. Yritetään yhdistämistä ilman." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Saatiin viesti tuntemattomalle laajennokselle â€%sâ€" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Virran tyhjentäminen epäonnistui: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Toistovirta on tyhjennetty.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Tyhjennetään yhteyttä palvelimelle.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() epäonnistui: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() epäonnistui: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() epäonnistui: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Virran luonti onnistui.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() epäonnistui: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Puskuritiedot: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Puskuritiedot: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "Käytetään näytemäärittelyä â€%sâ€, kanavakarttaa â€%sâ€.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Yhdistetty laitteeseen %s (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Virtavirhe: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Virtalaite keskeytetty.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Virtalaite palautettu.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Virran alivuoto.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Virran ylivuoto.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Virta käynnistetty.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Virta siirretty laitteelle %s (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "ei " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Virran puskuriattribuutteja muutettu.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Yhteys muodostettu.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() epäonnistui: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() epäonnistui: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() epäonnistui: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Yhteysvirhe: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Saatiin EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() epäonnistui: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Saatiin EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() epäonnistui: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Saatiin signaali, lopetetaan.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Latenssin selvittäminen epäonnistui: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Aika: %0.3f s; latenssi: %0.0f μs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() epäonnistui: %s\n"  #: ../src/utils/pacat.c:605 @@ -1561,34 +1415,34 @@ msgstr ""  "Käännetty libpulsen versiolle %s\n"  "Linkitetty libpulsen versiolle %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Virheellinen kanavakartta â€%sâ€\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Virheellinen uudelleennäytteistyksen tapa â€%sâ€."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Virheellinen kanavakartta â€%sâ€\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Virheellinen latenssimääritys â€%sâ€\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Virheellinen prosessiajan määritys â€%sâ€\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Virheellinen uudelleennäytteistyksen tapa â€%sâ€."  #: ../src/utils/pacat.c:878 @@ -1597,60 +1451,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Virheellinen näytemääritys\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Liian monta argumenttia.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Näytetietojen nouto epäonnistui: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Äänitiedoston avaaminen epäonnistui.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Näytetietojen nouto epäonnistui: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Kanavakartta ei vastaa näytemääritystä\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Avataan %svirta näytemäärityksellä â€%sâ€.\n"  #: ../src/utils/pacat.c:1006 @@ -1661,35 +1521,34 @@ msgstr "nauhoitus"  msgid "playback"  msgstr "toisto" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() epäonnistui.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() epäonnistui.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() epäonnistui.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() epäonnistui: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() epäonnistui.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() epäonnistui.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() epäonnistui.\n"  #: ../src/utils/pasuspender.c:81 @@ -1717,6 +1576,11 @@ msgstr "Palautus epäonnistui: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "VAROITUS: Äänipalvelin ei ole paikallinen, ei keskeytetä.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Yhteysvirhe: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1757,6 +1621,21 @@ msgstr ""  "Käännetty libpulsen versiolle %s\n"  "Linkitetty libpulsen versiolle %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() epäonnistui.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() epäonnistui.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() epäonnistui.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2171,6 +2050,11 @@ msgstr ""  "Käännetty libpulsen versiolle %s\n"  "Linkitetty libpulsen versiolle %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Virheellinen kanavakartta â€%sâ€\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Anna ladattava näytetiedosto\n" @@ -2179,6 +2063,11 @@ msgstr "Anna ladattava näytetiedosto\n"  msgid "Failed to open sound file.\n"  msgstr "Äänitiedoston avaaminen epäonnistui.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Näytetietojen nouto epäonnistui: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2238,11 +2127,6 @@ msgstr "Kortin nimi/indeksi ja profiilin nimi on annettava\n"  msgid "No valid command specified.\n"  msgstr "Mitään kelvollista komentoa ei annettu.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() epäonnistui: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2361,11 +2245,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Automaattisen käynnistyksen lukkoa ei voida käyttää." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2382,7 +2266,7 @@ msgstr ""  "asetettuna,  snd_pcm_avail() palautti kuitenkin 0 tai jonkin muun arvon, "  "joka on < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2399,15 +2283,15 @@ msgstr ""  "snd_pcm_avail() palautti kuitenkin 0 tai jonkin muun arvon, on < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Poissa" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Korkean äänenlaadun toisto (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -2415,6 +2299,136 @@ msgstr ""  msgid "PulseAudio Sound Server"  msgstr "PulseAudio-äänipalvelin" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Järjestelmäväylään ei voida yhdistää: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Kutsujaa ei saada PID:stä: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "UID:tä ei voida asettaa kutsujaobjektille." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK-istunnon saaminen epäonnistui." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "UID:tä ei voida asettaa istunto-objektille." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Ei voida varata PolKitActionia." + +#~ msgid "Cannot set action_id" +#~ msgstr "Ei voida asettaa action_id:tä" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Ei voida varata PolKitContextia." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Ei voida alustaa PolKitContextia: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Ei voida päätellä onko kutsujalla käyttöoikeus: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Tunnistautumista ei saada: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit vastasi â€%sâ€" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Korkean prioriteetin ajoitus (negatiivinen Unix-nice-taso) PulseAudio-" +#~ "taustajärjestelmälle" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Reaaliaikainen ajoitus PulseAudio-taustajärjestelmälle" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Järjestelmäkäytäntö estää PulseAudiota saamasta korkean prioriteetin " +#~ "ajoitusta." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Järjestelmäkäytäntö estää PulseAudiota saamasta reaaliaikaista ajoitusta." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() epäonnistui: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() epäonnistui: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "Ollaan ryhmässä â€%sâ€, korkean prioriteetin ajoitus on sallittua." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Ollaan ryhmässä â€%sâ€, tosiaikainen vuorottaminen on sallittua." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit myöntää acquire-high-priority-oikeuden." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit ei myönnä acquire-high-priority-oikeutta." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit myöntää acquire-real-time-oikeuden." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit ei myönnä acquire-real-time-oikeutta." + +#~ 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 "" +#~ "Ohjelmaa kutsuttiin SUID-rootina ja reaaliaikaista ja/tai korkean " +#~ "prioriteetin ajoitusta pyydettiin asetuksissa. Tarvittavat oikeudet " +#~ "kuitenkin puuttuvat:\n" +#~ "Ei olla ryhmässä â€%sâ€, PolicyKit ei myönnä pyydettyjä oikeuksia ja " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja ei ole kasvatettu.\n" +#~ "Hanki riittävät PolicyKit-oikeudet, liity ryhmään â€%s†tai kasvata tämän " +#~ "käyttäjän RLIMIT_NICE/RLIMIT_RTPRIO-resurssirajoja reaaliaikaisen ja/tai " +#~ "korkean prioriteetin ajoituksen ottamiseksi käyttöön." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "Korkean prioriteetin ajoitus otettu käyttöön asetuksissa, mutta käytännöt " +#~ "eivät salli sitä." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO:n kasvatus onnistui" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO epäonnistui: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Luovutaan CAP_NICE:stä" + +#~ 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ä." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Oikeuksien rajoittaminen CAP_SYS_NICEen onnistui." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() epäonnistui.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analoginen mono" @@ -11,7 +11,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio trunk\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-26 17:22+0200\n"  "Last-Translator: Corentin Perard <corentin.perard@gmail.com>\n"  "Language-Team: French <fedora-trans-fr@redhat.com>\n" @@ -20,7 +20,12 @@ msgstr ""  "Content-Transfer-Encoding: 8bit\n"  "Plural-Forms: nplurals=2; plural=n>1;\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -33,7 +38,7 @@ msgstr ""  "Il s'agit très probablement d'un bogue dans le pilote ALSA « %s ». Veuillez "  "rapporter ce problème aux développeurs d'ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -46,7 +51,7 @@ msgstr ""  "Il s'agit très probablement d'un bogue dans le pilote ALSA « %s ». Veuillez "  "rapporter ce problème aux développeurs d'ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -72,7 +77,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Audio interne" @@ -92,226 +97,93 @@ msgstr "Échec lors de l'allocation du nouveau chargeur dl."  msgid "Failed to add bind-now-loader."  msgstr "Échec lors de l'ajout du chargeur bind-now." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Impossible de se connecter au bus système : %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Impossible d'obtenir le programme appelant à partir du PID : %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Impossible de définir un UID sur l'objet appelant." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Échec lors de l'obtention de la session CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Impossible de définir l'UID sur l'objet de session." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Impossible d'allouer PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Impossible de définir action_id." - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Impossible d'allouer PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Impossible d'initialiser PolKitContext : %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Impossible de déterminer si le programme appelant est autorisé : %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Impossible d'obtenir l'authentification : %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit a renvoyé « %s »" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Signal %s obtenu." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Fermeture." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Impossible de trouver l'utilisateur « %s »." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Impossible de trouver le groupe « %s »." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Utilisateur « %s †(UID %lu) et groupe « %s » (GID %lu) trouvé." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr ""  "Le GID de l'utilisateur « %s » et du groupe « %s » ne sont pas identiques." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Le dossier personnel de l'utilisateur « %s » n'est pas « %s », ignoré." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Échec lors de la création de « %s » : %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Échec lors du changement de la liste du groupe : %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Échec lors du changement de GID : %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Échec lors du changement d'UID : %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Les privilèges root ont été correctement abandonnés." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Mode système étendu non pris en charge sur cette plateforme." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) a échoué : %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Échec lors de l'analyse de la ligne de commande" -#: ../src/daemon/main.c:505 -#, 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:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" -"Nous sommes dans le groupe « %s », permettant un ordonnancement en temps réel." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit a accordé l'acquisition des permissions de haute priorité." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Le SUID root et l'ordonnancement en temps réel et/ou haute priorité ont été " -"spécifiés dans la configuration. Cependant, il nous manque les privilèges " -"nécessaires :\n" -"Nous ne sommes pas dans le groupe « %s », PolicyKit refuse de nous accorder " -"les privilèges demandés et nous devons augmenter les limites de ressources " -"RLIMIT_NICE/RLIMIT_RTPRIO.\n" -"Pour activer l'ordonnancement en temps réel/haute priorité, veuillez " -"acquérir les privilèges PolicyKit apropriés, ou devenir membre de « %s », ou " -"augmenter les limites de ressources RLIMIT_NICE/RLIMIT_RTPRIO pour cet " -"utilisateur." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "Augmentation de RLIMIT_RTPRIO réussie" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO a échoué : %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Abandon de CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Lé démon n'est pas lancé" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Le démon est lancé avec le PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Impossible de tuer le démon : %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -319,156 +191,156 @@ msgstr ""  "Le programme n'est pas conçu pour être lancé en tant que root (sauf si --"  "system est renseigné)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Les privilèges root sont nécessaires." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start n'est pas pris en charge pour les instances système." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  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:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  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:745 +#: ../src/daemon/main.c:591  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:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Échec lors de l'acquisition de stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "Échec du tube : %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "Échec de fork() : %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "Échec de read() : %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Échec lors du démarrage du démon." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Démarrage du démon réussi." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Pulseaudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Hôte de compilation : %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS de compilation : %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Exécution sur l'hôte : %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u processeurs trouvés." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "La taille de la page est de %lu octets" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compilé avec la prise en charge Valgrind : oui" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compilé avec la prise en charge Valgrind : non" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Exécution en mode valgrind : %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Construction optimisée : oui" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Construction optimisée : non" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG défini, tous les messages d'erreur sont désactivés." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr ""  "FASTPATH défini, seuls les messages d'erreur fastpath ont été désactivés." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Tous les messages d'erreur sont activés." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Échec lors de l'obtention de l'ID de la machine" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "L'ID de la machine est %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "L'ID de la machine est %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Utilisation du répertoire d'exécution %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Utilisation du répertoire d'état %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Exécution en mode système : %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -478,16 +350,16 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "Échec de pa_pid_file_create()." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr ""  "De nouvelles horloges à haute résolution sont disponibles ! Bon appétit !" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -495,27 +367,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:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "Échec de pa_core_new()." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Échec lors de l'initialisation du démon" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  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:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Démarrage du démon effectué." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Fermeture du démon initiée." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Démon terminé." @@ -869,14 +741,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lecture à partir du fichier de configuration : %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Abandon des privilèges root." -#: ../src/daemon/caps.c:103 -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 "Système de son PulseAudio" @@ -885,30 +753,6 @@ msgstr "Système de son PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Démarrer le système de son PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Ordonnancement haute priorité (niveau Unix « nice » négatif) pour le démon " -"PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Ordonnancement en temps réel pour le démon PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"La politique du système empêche PulseAudio d'acquérir un ordonnancement " -"haute priorité" - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"La politique du système empêche PulseAudio d'acquérir un ordonnancement en " -"temps réel" -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1281,186 +1125,190 @@ msgstr "Échec lors de l'analyse des données du cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "Échec lors de l'ouverture du fichier de configuration « %s » :%s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Aucun cookie chargé. Tentative de connexion sans celui-ci." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork() : %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid() : %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Message reçu pour une extension inconnue « %s »" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Échec lors du vidage du flux : %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Flux de lecture vidé.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Vidage de la connexion au serveur.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain() : %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "Échec de pa_stream_write() : %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "Échec de pa_stream_write() : %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "Échec de pa_stream_peek() : %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Création du flux réussie.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "Échec de pa_stream_get_buffer_attr() : %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Mesures du tampon : maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Mesures du tampon : maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr ""  "Utilisation de la spécification d'échantillon « %s », plan des canaux « %s ».\n"  # l'espace manquant entre %s et suspended est voulu -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Connecté au périphérique %s (%u, %ssuspendu).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Erreur du flux : %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Périphérique de flux suspendu %s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Périphérique de flux repris %s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Flux vide %s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Flux saturé %s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Flux démarré %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Flux déplacé vers le périphérique %s (%u, %ssuspendu).%s \n"  # suspendu ou non suspendu -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "non " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Des attributs du tampon de flux ont changé. %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Connection établie.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "Échec de pa_stream_new() : %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "Échec de pa_stream_connect_playback() : %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "Échec de pa_stream_connect_record() : %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Échec lors de la connexion : %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF obtenu.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "Échec de read() : %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF obtenu.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "Échec de write() : %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Signal obtenu, fermeture.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Échec lors de l'obtention de la latence : %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Durée : %0.3f s ; Latency : %0.0f µs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "Échec de pa_stream_update_timing_info() : %s\n"  # downmix = par ex. convertir 5 canaux en 2 canaux @@ -1588,34 +1436,34 @@ msgstr ""  "Compilé avec libpulse %s\n"  "Lié avec libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Plan des canaux invalide « %s »\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Méthode de rééchantillonnage invalide « %s »."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Plan des canaux invalide « %s »\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Spécification de latence invalide « %s »\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Spécification de temps de traitement invalide « %s »\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Méthode de rééchantillonnage invalide « %s »."  #: ../src/utils/pacat.c:878 @@ -1624,61 +1472,67 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Spécification d'échantillon invalide\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open() : %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2() : %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Trop de paramètres.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Échec lors de l'ouverture du fichier audio.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr ""  "Le plan des canaux ne correspond pas à la spécification d'échantillon\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Ouverture d'un flux %s avec une spécification d'échantillon « %s ».\n"  #: ../src/utils/pacat.c:1006 @@ -1689,35 +1543,34 @@ msgstr "enregistrement"  msgid "playback"  msgstr "lecture" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "Échec de pa_mainloop_new().\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "Échec de io_new().\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "Échec de pa_context_new().\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "Échec de pa_context_connect() : %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "Échec de time_new().\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "Échec de pa_context_new().\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "Échec de pa_mainloop_run().\n"  #: ../src/utils/pasuspender.c:81 @@ -1746,6 +1599,11 @@ 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:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Échec lors de la connexion : %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1786,6 +1644,21 @@ msgstr ""  "Compilé avec libpulse %s\n"  "Lié avec libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "Échec de pa_mainloop_new().\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "Échec de pa_context_new().\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "Échec de pa_mainloop_run().\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2209,6 +2082,11 @@ msgstr ""  "Compilé avec libpulse %s\n"  "Lié avec libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Plan des canaux invalide « %s »\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Veuillez indiquer un fichier d'échantillon à charger\n" @@ -2217,6 +2095,11 @@ msgstr "Veuillez indiquer un fichier d'échantillon à charger\n"  msgid "Failed to open sound file.\n"  msgstr "Échec lors de l'ouverture du fichier audio.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Échec lors de l'obtention des informations de l'échantillon : %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2281,11 +2164,6 @@ msgstr "Vous devez indiquer un nom/un index de carte et un nom de profil\n"  msgid "No valid command specified.\n"  msgstr "Aucune commande valide indiquée.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "Échec de pa_context_connect() : %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2406,11 +2284,11 @@ msgstr "read() : %s"  msgid "write(): %s"  msgstr "write() : %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Impossible d'accèder au verrou autonome." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2427,7 +2305,7 @@ msgstr ""  "le jeu POLLOUT -- cependant un snd_pcm_avail() ultérieur a retourné 0 ou une "  "autre valeur < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2445,15 +2323,15 @@ msgstr ""  "autre valeur < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Éteint" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Lecture haute fidélité (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephonie en duplex (HSP/HFP)" @@ -2461,6 +2339,144 @@ msgstr "Telephonie en duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Serveur de son PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Impossible de se connecter au bus système : %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Impossible d'obtenir le programme appelant à partir du PID : %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Impossible de définir un UID sur l'objet appelant." + +#~ msgid "Failed to get CK session." +#~ msgstr "Échec lors de l'obtention de la session CK." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Impossible de définir l'UID sur l'objet de session." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Impossible d'allouer PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Impossible de définir action_id." + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Impossible d'allouer PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Impossible d'initialiser PolKitContext : %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Impossible de déterminer si le programme appelant est autorisé : %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Impossible d'obtenir l'authentification : %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit a renvoyé « %s »" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Ordonnancement haute priorité (niveau Unix « nice » négatif) pour le démon " +#~ "PulseAudio" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Ordonnancement en temps réel pour le démon PulseAudio" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "La politique du système empêche PulseAudio d'acquérir un ordonnancement " +#~ "haute priorité" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "La politique du système empêche PulseAudio d'acquérir un ordonnancement " +#~ "en temps réel" + +#~ msgid "read() failed: %s\n" +#~ msgstr "Échec de read() : %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "Échec de pa_context_connect() : %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Nous sommes dans le groupe « %s », permettant une planification à haute " +#~ "priorité." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Nous sommes dans le groupe « %s », permettant un ordonnancement en temps " +#~ "réel." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "" +#~ "PolicyKit a accordé l'acquisition des permissions de haute priorité." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit a refusé l'acquisition des permissions de haute priorité." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit a accordé l'acquisition des permissions de temps réel." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit a refusé l'acquisition des permissions de temps réel." + +#~ 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 "" +#~ "Le SUID root et l'ordonnancement en temps réel et/ou haute priorité ont " +#~ "été spécifiés dans la configuration. Cependant, il nous manque les " +#~ "privilèges nécessaires :\n" +#~ "Nous ne sommes pas dans le groupe « %s », PolicyKit refuse de nous " +#~ "accorder les privilèges demandés et nous devons augmenter les limites de " +#~ "ressources RLIMIT_NICE/RLIMIT_RTPRIO.\n" +#~ "Pour activer l'ordonnancement en temps réel/haute priorité, veuillez " +#~ "acquérir les privilèges PolicyKit apropriés, ou devenir membre de « %s », " +#~ "ou augmenter les limites de ressources RLIMIT_NICE/RLIMIT_RTPRIO pour cet " +#~ "utilisateur." + +#~ 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." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "Augmentation de RLIMIT_RTPRIO réussie" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO a échoué : %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Abandon de CAP_NICE" + +#~ 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." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Limitation des capacités à CAP_SYS_NICE réussie." + +#~ msgid "time_new() failed.\n" +#~ msgstr "Échec de time_new().\n" +  #~ msgid "Analog Mono"  #~ msgstr "Mono analogique" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-07 14:27+0530\n"  "Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"  "Language-Team: Gujarati\n" @@ -17,7 +17,12 @@ msgstr ""  "X-Generator: KBabel 1.11.4\n"  "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -29,7 +34,7 @@ msgstr ""  "ALSA ડà«àª°àª¾àª‡àªµàª° '%s' માં મોટેàªàª¾àª—ે આ àªà«‚લ જેવૠછે. ALSA ડેવલà«àªªàª°à«‹àª®àª¾àª‚ આ સમસà«àª¯àª¾àª¨à«‡ મહેરબાની કરીને "  "અહેવાલ કરો." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -42,7 +47,7 @@ msgstr ""  "ALSA ડà«àª°àª¾àª‡àªµàª° '%s' માં મોટેàªàª¾àª—ે આ àªà«‚લ જેવૠછે. ALSA ડેવલà«àªªàª°à«‹àª®àª¾àª‚ આ સમસà«àª¯àª¾àª¨à«‡ મહેરબાની કરીને "  "અહેવાલ કરો." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -68,7 +73,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "આંતરિક ઓડિયો" @@ -88,369 +93,244 @@ msgstr "નવા dl લોડરને ફાળવવાનà«àª‚ નિષૠ msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader ને ઉમેરવાનà«àª‚ નિષà«àª«àª³." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "સિસà«àªŸàª® બસને જોડી શકાતૠનથી: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID માંથી કોલરને મેળવી શકાતૠનથી: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "કોલર ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK સતà«àª°àª¨à«‡ મેળવવામાં નિષà«àª«àª³." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "સતà«àª° ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction ને ફાળવી શકાતી નથી." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext ને ફાળવી શકાતી નથી." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext નà«àª‚ પà«àª°àª¾àª°àª‚ઠકરી શકાતૠનથી: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "નકà«àª•à«€ કરી શકાયૠનહિં કà«àª¯àª¾àª‚તો કોલર ઠસતà«àª¤àª¾àª§àª¿àª•રણ થયેલ છે: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth મેળવા શકાતૠનથી: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "'%s' સાથે PolicyKit ઠપà«àª°àª¤à«àª¯à«àª¤à«àª¤àª° આપેલ છે" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "સંકેત %s મળà«àª¯à«." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "બહાર નીકળી રહà«àª¯àª¾ છે." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "વપરાશકરà«àª¤àª¾ '%s' ને શોધવામાં નિષà«àª«àª³." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "જૂથ '%s' ને શોધવામાં નિષà«àª«àª³." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "વપરાશકરà«àª¤àª¾ '%s' (UID %lu) અને જૂથ '%s' (GID %lu) શોધાયà«." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "વપરાશકરà«àª¤àª¾ '%s' અને જૂથ '%s' ની GID બંધબેસતૠનથી." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "વપરાશકરà«àª¤àª¾àª“ '%s' ની ઘર ડિરેકà«àªŸàª°à«€ '%s' નથી, અવગણી રહà«àª¯àª¾ છે." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' ને બનાવવામાં નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "જૂથ યાદીને બદલવામાં નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID ને બદલવામાં નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID ને બદલવામાં નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "સફળતાપૂરà«àªµàª• છોડી દીધેલ રà«àªŸ અધિકારો." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "આ પà«àª²à«‡àªŸàª«à«‹àª°à«àª® પર બિનઆધારàªà«‚ત સિસà«àªŸàª® વિશાળ સà«àª¥àª¿àª¤àª¿." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "આદેશ વાકà«àª¯àª¨à«‡ પદચà«àª›à«‡àª¦àª¨ કરવામાં નિષà«àª«àª³." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "આપણે જૂથ '%s' માં છીàª, high-priority ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "આપણે જૂથ '%s' માં છીàª, સાચા સમયે ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit આપણને acquire-high-priority અધિકારની મંજૂરી આપે છે." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit ઠacquire-high-priority અધિકારને ફરીથી શરૂ કરે છે." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit ઠacquire-real-time અધિકારની મંજૂરી આપે છે." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit ઠacquire-real-time અધિકારને ફરી શરૂ કરે છે." - -#: ../src/daemon/main.c:560 -#, 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 "" -"કહેવાતી SUID અને real-time અને/અથવા high-priority ગોઠવણી રૂપરેખાંકનમાં સૂચવેલ હતી. " -"છતાંપણ, આપણને જરૂરી અધિકારો ઓછા પડà«àª¯àª¾:\n" -"આપણે જૂથ '%s' માં નથી, PolicyKit ઠસૂચિત અધિકારોને આપણને મંજૂરી આપવા માટે માનà«àª¯ કરતૠ" -"નથી અને આપણે RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારતા નથી.\n" -"real-time/high-priority ગોઠવણીને સકà«àª°àª¿àª¯ કરવા માટે મહેરબાની કરીને અનૂકà«àª³ PolicyKit " -"અધિકારોને મેળવો, અથવા '%s' નાં સàªà«àª¯ બનો, અથવા આ વપરાશકરà«àª¤àª¾ માટે RLIMIT_NICE/" -"RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારો." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"High-priority ગોઠવવાનà«àª‚ રૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ નથી." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "સફળતાપૂરà«àªµàª• વધારેલ RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO નિષà«àª«àª³: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE ને છોડી રહà«àª¯àª¾ છે" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Real-time ગોઠવવાનà«àª‚ ઠરૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ નથી." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ડિમન ચાલી રહà«àª¯à« નથી" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "PID %u તરીકે ડિમન ચાલી રહà«àª¯à« છે" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ડિમનને મારવાનà«àª‚ નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr ""  "આ પà«àª°àª•à«àª°àª¿àª¯àª¾àª¨à«‡ રà«àªŸ તરીકે ચલાવવા માટે વિચાર થયેલ નથી (નહિં તો --system ઠસà«àªªàª·à«àªŸ થયેલ છે)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "રà«àªŸ અધિકારો જરૂરી છે." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start ઠસિસà«àªŸàª® ઉદાહરણો માટે આધારàªà«‚ત નથી." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, પરંતૠ--disallow-exit સà«àª¯à«‹àªœàª¿àª¤ નથી!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, પરંતૠ--disallow-module-loading ઠસà«àª¯à«‹àªœàª¿àª¤ નથી!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, SHM સà«àª¥àª¿àª¤àª¿àª¨à«‡ દબાણપૂરà«àªµàª• નિષà«àª•à«àª°àª¿àª¯ કરી રહà«àª¯àª¾ છે!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે, બહાર નીકળવનાં નિષà«àª•ારà«àª¯ સમયને દબાણપૂરà«àªµàª• નિષà«àª•à«àª°àª¿àª¯ કરી "  "રહà«àª¯àª¾ છે!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio ને મેળવવામાં નિષà«àª«àª³." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "પાઇપ નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() નિષà«àª«àª³: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ડિમન શરૂઆત નિષà«àª«àª³." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "ડિમન શરૂઆત કરવૠસફળ છે." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "આ PulseAudio %s છે" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "કમà«àªªàª¾àª‡àª²à«‡àª¶àª¨ યજમાન: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "કમà«àªªàª¾àª‡àª²à«‡àª¶àª¨ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "યજમાન પર ચાલી રહà«àª¯à« છે: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs શોધાયà«." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "પાનાંનૠમાપ %lu બાઇટો છે" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind આધાર સાથે કમà«àªªàª¾àª‡àª² થયેલ છે: હા" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind આધાર સાથે કમà«àªªàª¾àª‡àª² થયેલ છે: ના" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "શà«àª°à«‡àª·à«àªŸ થયેલ બિલà«àª¡: હા" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "શà«àª°à«‡àª·à«àªŸ થયેલ બિલà«àª¡: ના" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG વà«àª¯àª¾àª–à«àª¯àª¾àª¯àª¿àª¤ થયેલ છે, બધા હકો નિષà«àª•à«àª°àª¿àª¯ થયેલ છે." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH વà«àª¯àª¾àª–à«àª¯àª¾àª¯àª¿àª¤ થયેલ છે, ફકà«àª¤ àªàª¡àªªà«€ પાથનાં હકો નિષà«àª•à«àª°àª¿àª¯ થયેલ છે." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "બધા હકો સકà«àª°àª¿àª¯ થયેલ છે." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "મશીન ID ને મેળવવામાં નિષà«àª«àª³" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "મશીન ID %s છે." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "મશીન ID %s છે." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "રનટાઇમ ડિરેકà«àªŸàª°à«€ %s ને વાપરી રહà«àª¯àª¾ છે." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "સà«àª¥àª¿àª¤àª¿ ડિરેકà«àªŸàª°à«€ %s ને વાપરી રહà«àª¯àª¾ છે." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "સિસà«àªŸàª® સà«àª¥àª¿àª¤àª¿àª®àª¾àª‚ ચાલી રહà«àª¯à« છે: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -460,15 +340,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() નિષà«àª«àª³." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "તાજૠhigh-resolution ટાઇમરો ઉપલà«àª¬àª§ છે! બોન àªàªªà«‡àªŸàª¾àª‡àªŸ!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -476,27 +356,27 @@ msgstr ""  "મિતà«àª°, તમારૠકરà«àª¨àª²àª®àª¾àª‚ ગડબડ છે! રસોઇયાનà«àª‚ આજે àªàª²àª¾àª®àª£ ઠસકà«àª°àª¿àª¯ થયેલ high-resolution "  "ટાઇમરો સાથે Linux નà«àª‚ છે!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() નિષà«àª«àª³." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ડિમનને શરૂ કરવામાં નિષà«àª«àª³." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "કોઇપણ લોડ થયેલ મોડà«àª¯à«àª²à«‹ વગર ડિમનને શરૂ કરો, કામ કરવા માટે ફરી શરૂ કરી રહà«àª¯àª¾ છે." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ડિમન પારંઠકરવાનà«àª‚ સમાપà«àª¤ છે." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ડિમનને બંધ કરવાનà«àª‚ પà«àª°àª¾àª°àª‚ઠથયેલ છે." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ડિમનનો અંત આવેલ છે." @@ -829,14 +709,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### રૂપરેખાંકન ફાઇલમાંથી વાંચો: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "રà«àªŸ અધિકારોને છોડી રહà«àª¯àª¾ છે." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE માં સફળતાપૂરà«àªµàª• મરà«àª¯àª¾àª¦àª¿àª¤ કà«àª·àª®àª¤àª¾àª“." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®" @@ -845,25 +721,6 @@ msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio સાઉનà«àª¡ સિસà«àªŸàª®àª¨à«‡ શરૂ કરો" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio ડિમન માટે High-priority ગોઠવણી (નકારાતà«àª®àª• Unix સારૠસà«àª¤àª°)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio ડિમન માટે Real-time ગોઠવણી" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"high-priority ગોઠવણીને પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી PulseAudio ને અટકાવે છે." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "real-time ગોઠવણી પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી ઠPulseAudio ને અટકાવે છે." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "મોનો" @@ -1236,183 +1093,187 @@ msgstr "કà«àª•ીની માહિતીને પદચà«àª›à«‡àª¦àª¨ ક  msgid "Failed to open configuration file '%s': %s"  msgstr "રૂપરેખાંકન ફાઇલ '%s' ને ખોલવામાં નિષà«àª«àª³: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "કà«àª•à«€ લોડ થયેલ નથી. તેનાં વગર જોડવાનો પà«àª°àª¯àª¤à«àª¨ કરી રહà«àª¯àª¾ છે." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "અજà«àªžàª¾àª¤ àªàª•à«àª¸àªŸà«‡àª¨à«àª¶àª¨ '%s' માટે મળેલ સંદેશ" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "સà«àªŸà«àª°à«€àª®àª¨à«‡ નિકાલ કરવામાં નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "પà«àª²à«‡àª¬à«‡àª• સà«àªŸà«àª°à«€àª® ને નિકાલ કરેલ છે.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "સરà«àªµàª°àª®àª¾àª‚ જોડાણને નિકાલ કરી રહà«àª¯àª¾ છે.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() નિષà«àª«àª³: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "સà«àªŸà«àª°à«€àª® સફળતાપૂરà«àªµàª• બનાવેલ છે.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "બફર મેટà«àª°àª¿àª•à«àª¸: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "બફર મેટà«àª°àª¿àª•à«àª¸: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "નમૂનો spec '%s' ને વાપરી રહà«àª¯àª¾ છે, ચેનલ મેપ '%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "ઉપકરણ %s (%u, %ssuspended) સાથે જોડાયેલ છે.\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "સà«àªŸà«àª°à«€àª® àªà«‚લ: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "સà«àªŸà«àª°à«€àª® ઉપકરણ ને થોડા સમય માટે બંધ રાખેલ છે.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "સà«àªŸà«àª°à«€àª® ઉપકરણને ફરી શરૂ કરેલ છે.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "સà«àªŸà«àª°à«€àª® ચલાવવા હેઠળ છે.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "સà«àªŸà«àª°à«€àª® ઉપર ચાલે છે.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "સà«àªŸà«àª°à«€àª® શરૂ થયેલ છે.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "સà«àªŸà«àª°à«€àª® ઠઉપકરણ %s (%u, %ssuspended) માં ખસેડેલ છે.%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "નથી " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "સà«àªŸà«àª°à«€àª® બફર ગà«àª£àª§àª°à«àª®à«‹ બદલાયેલ છે.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "જોડાણ સà«àª¥àª¾àªªàª¿àª¤ થયેલ છે.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "જોડાણ નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF મળà«àª¯à«.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() નિષà«àª«àª³: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF મળà«àª¯à«.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "સંકેત મળà«àª¯à«àª‚, બહાર નીકળી રહà«àª¯àª¾ છે.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "ગà«àªªà«àª¤àª¤àª¾ મેળવવામાં નિષà«àª«àª³: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Time: %0.3f sec; Latency: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() નિષà«àª«àª³: %s\n"  #: ../src/utils/pacat.c:605 @@ -1534,34 +1395,34 @@ msgstr ""  "libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"  "libpulse %s સાથે કડી થયેલ છે\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "અયોગà«àª¯ resample પદà«àª¦àª¤àª¿ '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "અયોગà«àª¯ ગà«àªªà«àª¤àª¤àª¾ સà«àªªàª·à«àªŸà«€àª•રણ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "અયોગà«àª¯ પà«àª°àª•à«àª°àª¿àª¯àª¾ સમય સà«àªªàª·à«àªŸà«€àª•રણ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "અયોગà«àª¯ resample પદà«àª¦àª¤àª¿ '%s'."  #: ../src/utils/pacat.c:878 @@ -1570,60 +1431,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "અયોગà«àª¯ નમૂના સà«àªªàª·à«àªŸà«€àª•રણ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "ઘણી બધી દલીલો છે.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "સાઉનà«àª¡ ફાઇલને ખોલવામાં નિષà«àª«àª³.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•રણ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•રણ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "ચેનલ મેપ ઠસà«àªªàª·à«àªŸà«€àª•રણ નમૂનાને બંધબેસતૠનથી\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•રણ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "નમૂના સà«àªªàª·à«àªŸà«€àª•રણ '%s' સાથે %s સà«àªŸà«àª°à«€àª®àª¨à«‡ ખોલી રહà«àª¯àª¾ છે.\n"  #: ../src/utils/pacat.c:1006 @@ -1634,35 +1501,34 @@ msgstr "રેકોરà«àª¡ કરી રહà«àª¯àª¾ છે"  msgid "playback"  msgstr "પà«àª²à«‡àª¬à«‡àª•" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() નિષà«àª«àª³.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() નિષà«àª«àª³.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() નિષà«àª«àª³.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() નિષà«àª«àª³: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() નિષà«àª«àª³.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() નિષà«àª«àª³.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() નિષà«àª«àª³.\n"  #: ../src/utils/pasuspender.c:81 @@ -1690,6 +1556,11 @@ msgstr "ફરી શરૂ કરવામાં નિષà«àª«àª³àª¤àª¾: %s\n  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "ચેતવણી: સાઉનà«àª¡ સરà«àªµàª° ઠસà«àª¥àª¾àª¨àª¿àª• નથી, થોડા સમય માટે બંધ કરવામાં આવà«àª¯à« નથી.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "જોડાણ નિષà«àª«àª³: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1729,6 +1600,21 @@ msgstr ""  "libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"  "libpulse %s સાથે કડી થયેલ છે\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() નિષà«àª«àª³.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() નિષà«àª«àª³.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() નિષà«àª«àª³.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2141,6 +2027,11 @@ msgstr ""  "libpulse %s સાથે કમà«àªªàª¾àª‡àª² થયેલ છે\n"  "libpulse %s સાથે કડી થયેલ છે\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "અયોગà«àª¯ ચેનલ મેપ '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "મહેરબાની કરીને લોડ કરવા માટે નમૂના ફાઇલને સà«àªªàª·à«àªŸ કરો\n" @@ -2149,6 +2040,11 @@ msgstr "મહેરબાની કરીને લોડ કરવા માઠ msgid "Failed to open sound file.\n"  msgstr "સાઉનà«àª¡ ફાઇલને ખોલવામાં નિષà«àª«àª³.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "નમૂના જાણકારી મેળવવામાં નિષà«àª«àª³: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2210,11 +2106,6 @@ msgstr "તમારે કારà«àª¡ નામ/અનà«àª•à«àª°àª®àª£àª¿àª•  msgid "No valid command specified.\n"  msgstr "યોગà«àª¯ આદેશ સà«àªªàª·à«àªŸ થયેલ નથી.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() નિષà«àª«àª³: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2331,11 +2222,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn તાળાને દાખલ કરી શકાતૠનથી." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2352,7 +2243,7 @@ msgstr ""  "POLLOUT સà«àª¯à«‹àªœàª¨ સાથે આપણે જાગેલ હતા -- છતાંપણ ના પછીનà«àª‚ snd_pcm_avail() ને 0 પાછો મળે "  "છે અથવા બીજી કિંમત < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2370,15 +2261,15 @@ msgstr ""  "છે અથવા બીજી કિંમત < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "બંધ" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "High Fidelity Playback (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephony Duplex (HSP/HFP)" @@ -2386,6 +2277,132 @@ msgstr "Telephony Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio સાઉનà«àª¡ સરà«àªµàª°" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "સિસà«àªŸàª® બસને જોડી શકાતૠનથી: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID માંથી કોલરને મેળવી શકાતૠનથી: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "કોલર ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK સતà«àª°àª¨à«‡ મેળવવામાં નિષà«àª«àª³." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "સતà«àª° ઓબà«àªœà«‡àª•à«àªŸ પર UID ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction ને ફાળવી શકાતી નથી." + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id ને સà«àª¯à«‹àªœàª¿àª¤ કરી શકાતૠનથી" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext ને ફાળવી શકાતી નથી." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext નà«àª‚ પà«àª°àª¾àª°àª‚ઠકરી શકાતૠનથી: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "નકà«àª•à«€ કરી શકાયૠનહિં કà«àª¯àª¾àª‚તો કોલર ઠસતà«àª¤àª¾àª§àª¿àª•રણ થયેલ છે: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth મેળવા શકાતૠનથી: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "'%s' સાથે PolicyKit ઠપà«àª°àª¤à«àª¯à«àª¤à«àª¤àª° આપેલ છે" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "PulseAudio ડિમન માટે High-priority ગોઠવણી (નકારાતà«àª®àª• Unix સારૠસà«àª¤àª°)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio ડિમન માટે Real-time ગોઠવણી" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "high-priority ગોઠવણીને પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી PulseAudio ને અટકાવે છે." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "real-time ગોઠવણી પà«àª°àª¾àªªà«àª¤ કરવા માંથી સિસà«àªŸàª® પોલિસી ઠPulseAudio ને અટકાવે છે." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() નિષà«àª«àª³: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() નિષà«àª«àª³: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "આપણે જૂથ '%s' માં છીàª, high-priority ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "આપણે જૂથ '%s' માં છીàª, સાચા સમયે ગોઠવવાની પરવાનગી આપી રહà«àª¯àª¾ છે." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit આપણને acquire-high-priority અધિકારની મંજૂરી આપે છે." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit ઠacquire-high-priority અધિકારને ફરીથી શરૂ કરે છે." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit ઠacquire-real-time અધિકારની મંજૂરી આપે છે." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit ઠacquire-real-time અધિકારને ફરી શરૂ કરે છે." + +#~ 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 "" +#~ "કહેવાતી SUID અને real-time અને/અથવા high-priority ગોઠવણી રૂપરેખાંકનમાં સૂચવેલ હતી. " +#~ "છતાંપણ, આપણને જરૂરી અધિકારો ઓછા પડà«àª¯àª¾:\n" +#~ "આપણે જૂથ '%s' માં નથી, PolicyKit ઠસૂચિત અધિકારોને આપણને મંજૂરી આપવા માટે માનà«àª¯ કરતૠ" +#~ "નથી અને આપણે RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારતા નથી.\n" +#~ "real-time/high-priority ગોઠવણીને સકà«àª°àª¿àª¯ કરવા માટે મહેરબાની કરીને અનૂકà«àª³ " +#~ "PolicyKit અધિકારોને મેળવો, અથવા '%s' નાં સàªà«àª¯ બનો, અથવા આ વપરાશકરà«àª¤àª¾ માટે " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO સà«àª¤à«àª°à«‹àª¤ મરà«àª¯àª¾àª¦àª¾àª“ને વધારો." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "High-priority ગોઠવવાનà«àª‚ રૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ " +#~ "નથી." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "સફળતાપૂરà«àªµàª• વધારેલ RLIMIT_RTPRIO" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO નિષà«àª«àª³: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE ને છોડી રહà«àª¯àª¾ છે" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "Real-time ગોઠવવાનà«àª‚ ઠરૂપરેખાંકનમાં સકà«àª°àª¿àª¯ થયેલ છે પરંતૠપોલિસી દà«àª¦àª¾àª°àª¾ પરવાનગી આપેલ " +#~ "નથી." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE માં સફળતાપૂરà«àªµàª• મરà«àª¯àª¾àª¦àª¿àª¤ કà«àª·àª®àª¤àª¾àª“." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() નિષà«àª«àª³.\n" +  #~ msgid "Analog Mono"  #~ msgstr "àªàª¨àª¾àª²à«‹àª— મોનો" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-06-08 12:01+0530\n"  "Last-Translator: Rajesh Ranjan <rajesh672@gmail.com>\n"  "Language-Team: Hindi <hindi.sf.net>\n" @@ -20,7 +20,12 @@ msgstr ""  "\n"  "\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -32,7 +37,7 @@ msgstr ""  "अधिक संà¤à¤µ है कि यह ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' में à¤à¤• बग है. इस मà¥à¤¦à¥à¤¦à¥‡ को ALSA डेवलेपर को रिपोरà¥à¤Ÿ "  "करें." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -44,7 +49,7 @@ msgstr ""  "अधिक संà¤à¤µ है कि यह ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' में à¤à¤• बग है. इस मà¥à¤¦à¥à¤¦à¥‡ को ALSA डेवलेपर को रिपोरà¥à¤Ÿ "  "करें." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -70,7 +75,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "आंतरिक ऑडियो" @@ -90,366 +95,242 @@ msgstr "नया dl लोडर आबंटित करने में à¤µà  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader जोड़ने में विफल." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "तंतà¥à¤° बस से कनेकà¥à¤Ÿ नहीं हो सकता है: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID से कॉलर पाने में विफल: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "UID को कॉलर वसà¥à¤¤à¥ पर सेट नहीं कर सकता है." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK सतà¥à¤° पाने में विफल." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "UID को सतà¥à¤° वसà¥à¤¤à¥ पर सेट नहीं कर सकता है." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction आबंटित नहीं कर सकता है." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id सेट नहीं कर सकता है" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext आबंटित नहीं कर सकता है." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext आरंठनहीं कर सकता है.: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ नहीं कर सकता है कि कà¥à¤¯à¤¾ कॉलर अधिकृत है: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "अधिकार पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं कर सकता है: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit ने '%s' के साथ अनà¥à¤•à¥à¤°à¤¿à¤¯à¤¾ किया" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "%s संकेत पाया." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "बाहर हो रहा है." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "'%s' उपयोकà¥à¤¤à¤¾ ढूंढ़ने में विफल." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "'%s' समूह ढूंढ़ने में विफल." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "'%s' (UID %lu) उपयोकà¥à¤¤à¤¾ व '%s' (GID %lu) समूह पाया." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "'%s' उपयोकà¥à¤¤à¤¾ और '%s' समूह का GID मेल नहीं खाता है" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "'%s' उपयोकà¥à¤¤à¤¾ की घर निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा '%s' नहीं है, अनदेखा कर रहा है." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' बनाने में विफल: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "समूह सूची पाने में विफल: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID बदलने में विफल: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID बदलने में विफल: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "रूट अधिकार सफलतापूरà¥à¤µà¤• छोड़ा." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "इस पà¥à¤²à¥ˆà¤Ÿà¤«à¥‰à¤°à¥à¤® पर असमरà¥à¤¥à¤¿à¤¤ तंतà¥à¤° वà¥à¤¯à¤¾à¤ªà¤• विधि." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) विफल: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "कमांड लाइन विशà¥à¤²à¥‡à¤·à¤£ में विफल." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "हम '%s' समूह में हैं, उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन की अनà¥à¤®à¤¤à¤¿ के साथ." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "हम '%s' समूह में हैं, वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन को अनà¥à¤®à¤¤à¤¿ देते हà¥à¤." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अधिकार अधिगà¥à¤°à¤¹à¤£ हमें देती है." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अधिकार अधिगà¥à¤°à¤¹à¤£ असà¥à¤µà¥€à¤•ृत करती है." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit हमें देती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit सà¥à¤µà¥€à¤•ृत करती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£." - -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID रूट को आहà¥à¤µà¤¾à¤¨ किया और वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन को इस विनà¥à¤¯à¤¾à¤¸ में " -"निवेदन किया गया था. हालांकि, हमें जरूरी अधिकार कम है:\n" -"हम '%s' समूह में नहीं है, PolicyKit निवेदित अधिकार हमें देने से मना करता है और हम " -"RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा को बढ़ाना नहीं है.\n" -"वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन को सकà¥à¤°à¤¿à¤¯ करने के लिठकृपया उचित PolicyKit " -"अधिकार अधिगà¥à¤°à¤¹à¤¿à¤¤ करें, या '%s' का सदसà¥à¤¯ बनें, RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा " -"को इस उपयोकà¥à¤¤à¤¾ के लिठबढ़ाà¤à¤." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"विनà¥à¤¯à¤¾à¤¸ में उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन सकà¥à¤°à¤¿à¤¯ है लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं है." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "सफलतापूरà¥à¤µà¤• बढ़ा हà¥à¤† RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO विफल: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE छोड़ रहा है" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "विनà¥à¤¯à¤¾à¤¸ में वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "डेमॉन नहीं कारà¥à¤¯à¤¶à¥€à¤²" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "डेमॉन बतौर PID %u चल रहा है" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "डेमॉन हटाने में विफल: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr ""  "यह पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® बतौर रूट चलाने के लिठइचà¥à¤›à¤¿à¤¤ नहीं है (unless --system is specified)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "रूट अधिकार जरूरी." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start not supported for system instances." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "तंतà¥à¤° मोड में चल रहा है, लेकिन --disallow-exit सेट नहीं!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "तंतà¥à¤° मोड में चल रहा है, लेकिन --disallow-module-loading सेट नहीं!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "तंतà¥à¤° मोड में चल रहा है, SHM मोड बाधà¥à¤¯ रूप से निषà¥à¤•à¥à¤°à¤¿à¤¯!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "तंतà¥à¤° मोड में चल रहा है, निकास निषà¥à¤•à¥à¤°à¤¿à¤¯ समय बाधà¥à¤¯ रूप से निषà¥à¤•à¥à¤°à¤¿à¤¯!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio पाने में विफल." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "पाइप विफल: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() विफल: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() विफल: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "डेमॉन आरंठविफल." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "डेमॉन आरंठसफल." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "यह पलà¥à¤¸à¤‘डियो %s है." -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Compilation host: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Compilation CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "मेजबान पर चल रहा है: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPU पाया." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "पृषà¥à¤  आकार %lu बाइट है." -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "वेलगà¥à¤°à¤¿à¤‚ड समरà¥à¤¥à¤¨ से कंपाइल: हाà¤" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "वेलगà¥à¤°à¤¿à¤‚ड समरà¥à¤¥à¤¨ से कंपाइल: नहीं" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "वेलगà¥à¤°à¤¿à¤‚ड विधि में चल रहा है: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "अनà¥à¤•ूलित बिलà¥à¤¡: हाà¤" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "अनà¥à¤•ूलित बिलà¥à¤¡: नहीं" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG परिà¤à¤¾à¤·à¤¿à¤¤, सà¤à¥€ निषà¥à¤•à¥à¤°à¤¿à¤¯." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH परिà¤à¤¾à¤·à¤¿à¤¤, केव तेज पथ à¤à¤¸à¤°à¥à¤Ÿ निषà¥à¤•à¥à¤°à¤¿à¤¯." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "सà¤à¥€ à¤à¤¸à¤°à¥à¤Ÿ सकà¥à¤·à¤®." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "मशीन ID पाने में विफल" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "मशीन ID %s है." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "मशीन ID %s है." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "रनटाइम निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा %s का पà¥à¤°à¤¯à¥‹à¤— कर रहा है." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "सà¥à¤Ÿà¥‡à¤Ÿ निरà¥à¤¦à¥‡à¤¶à¤¿à¤•ा %s का पà¥à¤°à¤¯à¥‹à¤— कर रहा है." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "तंतà¥à¤° मोड में चल रहा है: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -459,42 +340,42 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() विफल." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ताज़ा उचà¥à¤š विà¤à¥‡à¤¦à¤¨ टाइमर उपलबà¥à¤§! आनंद लें!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr ""  "आपका करà¥à¤¨à¥‡à¤² बà¥à¤°à¥€ सà¥à¤¥à¤¿à¤¤à¤¿ में है! सलाह है कि उचà¥à¤š विà¤à¥‡à¤¦à¤¨ यà¥à¤•à¥à¤¤ लिनकà¥à¤¸ सकà¥à¤°à¤¿à¤¯ किया जाना चाहिà¤!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() विफल." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "डेमॉन आरंठकरने में विफल." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "बिना लोड मॉडà¥à¤¯à¥‚ल के डेमॉन आरंà¤, काम करने से असà¥à¤µà¥€à¤•ार कर रहा है." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "डेमॉन आरंà¤à¤¨ पूरà¥à¤£." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "डेमॉन बनà¥à¤¦ किया जाना आरंà¤." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "डेमॉन अवरोधित." @@ -829,14 +710,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### विनà¥à¤¯à¤¾à¤¸ फ़ाइल से पढ़ें: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "रूट अधिकार छोड़ रहा है." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE में सीमित कà¥à¤·à¤®à¤¤à¤¾ सफलतापूरà¥à¤µà¤•." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ तंतà¥à¤°" @@ -845,24 +722,6 @@ msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ तंतà¥à¤°"  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 "उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अनà¥à¤¸à¥‚चन (negative Unix nice level) PulseAudio डेमॉन के लिà¤" - -#: ../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 "तंतà¥à¤° नीति PulseAudio को रोकती है उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अनà¥à¤¸à¥‚चन के लिà¤." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "तंतà¥à¤° नीति PulseAudio को वासà¥à¤¤à¤µà¤¿à¤• समय अनà¥à¤¸à¥‚चन पाने से रोकती है." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "मोनो" @@ -1235,183 +1094,187 @@ msgstr "कà¥à¤•ी आंकड़ा के विशà¥à¤²à¥‡à¤·à¤£ मेठ msgid "Failed to open configuration file '%s': %s"  msgstr "विनà¥à¤¯à¤¾à¤¸ फ़ाइल '%s' खोलने में विफल: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "कोई कà¥à¤•ी नहीं लोड किया गया. इसके बिना कनेकà¥à¤Ÿ करने की कोशिश कर रहा हूà¤." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "अजà¥à¤žà¤¾à¤¤ विसà¥à¤¤à¤¾à¤° '%s' के लिठसंदेश पà¥à¤°à¤¾à¤ªà¥à¤¤" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Failed to drain stream: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "पà¥à¤²à¥‡à¤¬à¥ˆà¤• सà¥à¤Ÿà¥à¤°à¥€à¤® खतà¥à¤®.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "सरà¥à¤µà¤° में कनेकà¥à¤¶à¤¨ ले जा रहा है.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() विफल: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() विफल: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() विफल: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® सफलतापूरà¥à¤µà¤• निरà¥à¤®à¤¿à¤¤.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() विफल: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "बफ़र मेटà¥à¤°à¤¿à¤•à¥à¤¸: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "बफ़र मेटà¥à¤°à¤¿à¤•à¥à¤¸: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "नमूना सà¥à¤ªà¥‡à¤• '%s' का पà¥à¤°à¤¯à¥‹à¤—, चैनल मैप '%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "यà¥à¤•à¥à¤¤à¤¿ %s (%u, %ssuspended) से कनेकà¥à¤Ÿà¥‡à¤¡.\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® तà¥à¤°à¥à¤Ÿà¤¿: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ सà¥à¤¥à¤—ित.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ पà¥à¤¨à¤°à¥à¤¬à¤¹à¤¾à¤².%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® अंडररन.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® ओवररन.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® आरंà¤.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यà¥à¤•à¥à¤¤à¤¿ %s (%u, %ssuspended).%s में खिसकाया गया \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "नहीं " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® बफ़र गà¥à¤£ परिवरà¥à¤¤à¤¿à¤¤.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "कनेकà¥à¤¶à¤¨ सà¥à¤¥à¤¾à¤ªà¤¿à¤¤.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() विफल: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() विफल: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() विफल: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "कनेकà¥à¤¶à¤¨ विफल.%s \n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF पाया.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() विफल: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF पाया.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() विफल: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "संकेत पाया, निकल रहा है.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Failed to get latency: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "समय: %0.3f sec; लैटेंसी: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() विफल: %s\n"  #: ../src/utils/pacat.c:605 @@ -1533,34 +1396,34 @@ msgstr ""  "लिबपलà¥à¤¸ %s के साथ कंपाइल\n"  "लिबपलà¥à¤¸ %s के साथ लिंक\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "अवैध पà¥à¤¨à¤ƒ पà¥à¤°à¤¤à¤¿à¤¦à¤°à¥à¤¶ विधि '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "अवैध लैटेंसी विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "अवैध पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ समय विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "अवैध पà¥à¤¨à¤ƒ पà¥à¤°à¤¤à¤¿à¤¦à¤°à¥à¤¶ विधि '%s'."  #: ../src/utils/pacat.c:878 @@ -1569,60 +1432,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "अवैध नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "कई वितरà¥à¤•.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "नमूना सूचना पाने में विफल: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "धà¥à¤µà¤¨à¤¿ फ़ाइल खोलने में विफल.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "नमूना सूचना पाने में विफल: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "चैनल मानचितà¥à¤° नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ के मेल नहीं खाता\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® को किसी नमूना विनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿà¤¤à¤¾ '%s' के साथ खोल रहा है.\n"  #: ../src/utils/pacat.c:1006 @@ -1633,35 +1502,34 @@ msgstr "रिकारà¥à¤¡à¤¿à¤‚ग"  msgid "playback"  msgstr "पà¥à¤²à¥‡à¤¬à¥ˆà¤•" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() विफल.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() विफल.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() विफल.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() विफल: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() विफल.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() विफल.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() विफल.\n"  #: ../src/utils/pasuspender.c:81 @@ -1689,6 +1557,11 @@ msgstr "पà¥à¤¨à¤°à¥à¤¬à¤¹à¤¾à¤²à¥€ में विफल: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "चेतावनी: धà¥à¤µà¤¨à¤¿ सरà¥à¤µà¤° सà¥à¤¥à¤¾à¤¨à¥€à¤¯ नहीं है, सà¥à¤¥à¤—ित नहीं कर रहा है.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "कनेकà¥à¤¶à¤¨ विफल.%s \n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1729,6 +1602,21 @@ msgstr ""  "लिबपलà¥à¤¸ %s से कंपाइल\n"  "लिबपलà¥à¤¸ %s से कड़ीबदà¥à¤§\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() विफल.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() विफल.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() विफल.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2143,6 +2031,11 @@ msgstr ""  "लिबपलà¥à¤¸ %s से कंपाइल\n"  "लिबपलà¥à¤¸ %s से कड़ीबदà¥à¤§\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "अवैध चैनल मानचितà¥à¤° '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "लोड करने के लिठकिसी नमूना फ़ाइल निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ करें\n" @@ -2151,6 +2044,11 @@ msgstr "लोड करने के लिठकिसी नमूना फ  msgid "Failed to open sound file.\n"  msgstr "धà¥à¤µà¤¨à¤¿ फ़ाइल खोलने में विफल.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "नमूना सूचना पाने में विफल: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2214,11 +2112,6 @@ msgstr "आपको किसी कारà¥à¤¡ नाम/सूची और  msgid "No valid command specified.\n"  msgstr "कोई वैध कमांड निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ नहीं.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() विफल: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2335,11 +2228,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn लॉक की पहà¥à¤à¤š नहीं ले सकता है." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2356,7 +2249,7 @@ msgstr ""  "हमें POLLOUT सेट के साथ तैयार किया गया है  -- हालांकि परवरà¥à¤¤à¥€ snd_pcm_avail() ने 0 या "  "दूसरा मान < min_avail दिया." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2374,15 +2267,15 @@ msgstr ""  "दूसरा मान < min_avail दिया."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "बंद" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "उचà¥à¤š विशà¥à¤µà¤¸à¤¨à¥€à¤¯à¤¤à¤¾à¤¯à¥à¤•à¥à¤¤à¤¿ पà¥à¤²à¥‡à¤¬à¥ˆà¤• (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "टेलिफोनी डà¥à¤¯à¥‚पà¥à¤²à¥‡à¤•à¥à¤¸ (HSP/HFP)" @@ -2390,6 +2283,128 @@ msgstr "टेलिफोनी डà¥à¤¯à¥‚पà¥à¤²à¥‡à¤•à¥à¤¸ (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "पलà¥à¤¸à¤‘डियो धà¥à¤µà¤¨à¤¿ सरà¥à¤µà¤°" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "तंतà¥à¤° बस से कनेकà¥à¤Ÿ नहीं हो सकता है: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID से कॉलर पाने में विफल: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "UID को कॉलर वसà¥à¤¤à¥ पर सेट नहीं कर सकता है." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK सतà¥à¤° पाने में विफल." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "UID को सतà¥à¤° वसà¥à¤¤à¥ पर सेट नहीं कर सकता है." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction आबंटित नहीं कर सकता है." + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id सेट नहीं कर सकता है" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext आबंटित नहीं कर सकता है." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext आरंठनहीं कर सकता है.: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ नहीं कर सकता है कि कà¥à¤¯à¤¾ कॉलर अधिकृत है: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "अधिकार पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं कर सकता है: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ने '%s' के साथ अनà¥à¤•à¥à¤°à¤¿à¤¯à¤¾ किया" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अनà¥à¤¸à¥‚चन (negative Unix nice level) PulseAudio डेमॉन के लिà¤" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "पलà¥à¤¸à¤‘डियो डेमॉन के लिठवासà¥à¤¤à¤µà¤¿à¤• समय नियोजन" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "तंतà¥à¤° नीति PulseAudio को रोकती है उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अनà¥à¤¸à¥‚चन के लिà¤." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "तंतà¥à¤° नीति PulseAudio को वासà¥à¤¤à¤µà¤¿à¤• समय अनà¥à¤¸à¥‚चन पाने से रोकती है." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() विफल: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() विफल: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "हम '%s' समूह में हैं, उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन की अनà¥à¤®à¤¤à¤¿ के साथ." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "हम '%s' समूह में हैं, वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन को अनà¥à¤®à¤¤à¤¿ देते हà¥à¤." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अधिकार अधिगà¥à¤°à¤¹à¤£ हमें देती है." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता अधिकार अधिगà¥à¤°à¤¹à¤£ असà¥à¤µà¥€à¤•ृत करती है." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit हमें देती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit सà¥à¤µà¥€à¤•ृत करती है वासà¥à¤¤à¤µà¤¿à¤• समय अधिकार अधिगà¥à¤°à¤¹à¤£." + +#~ 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 "" +#~ "SUID रूट को आहà¥à¤µà¤¾à¤¨ किया और वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन को इस विनà¥à¤¯à¤¾à¤¸ " +#~ "में निवेदन किया गया था. हालांकि, हमें जरूरी अधिकार कम है:\n" +#~ "हम '%s' समूह में नहीं है, PolicyKit निवेदित अधिकार हमें देने से मना करता है और हम " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO संसाधन सीमा को बढ़ाना नहीं है.\n" +#~ "वासà¥à¤¤à¤µà¤¿à¤• समय/या उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन को सकà¥à¤°à¤¿à¤¯ करने के लिठकृपया उचित " +#~ "PolicyKit अधिकार अधिगà¥à¤°à¤¹à¤¿à¤¤ करें, या '%s' का सदसà¥à¤¯ बनें, RLIMIT_NICE/" +#~ "RLIMIT_RTPRIO संसाधन सीमा को इस उपयोकà¥à¤¤à¤¾ के लिठबढ़ाà¤à¤." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "विनà¥à¤¯à¤¾à¤¸ में उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता नियोजन सकà¥à¤°à¤¿à¤¯ है लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं है." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "सफलतापूरà¥à¤µà¤• बढ़ा हà¥à¤† RLIMIT_RTPRIO" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO विफल: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE छोड़ रहा है" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "विनà¥à¤¯à¤¾à¤¸ में वासà¥à¤¤à¤µà¤¿à¤• समय नियोजन लेकिन नीति के दà¥à¤µà¤¾à¤°à¤¾ अनà¥à¤®à¤¤à¤¿ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE में सीमित कà¥à¤·à¤®à¤¤à¤¾ सफलतापूरà¥à¤µà¤•." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() विफल.\n" +  #~ msgid "Analog Mono"  #~ msgstr "à¤à¤¨à¤¾à¤²à¥‰à¤— मोनो" @@ -9,7 +9,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-20 22:34+0200\n"  "Last-Translator: mario_santagiuliana <mario at marionline.it>\n"  "Language-Team: Italian <fedora-trans-it at redhat.com>\n" @@ -19,7 +19,12 @@ msgstr ""  "X-Generator: Lokalize 0.3\n"  "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -31,7 +36,7 @@ msgstr ""  "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "  "questo problema agli sviluppatori ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -43,7 +48,7 @@ msgstr ""  "Molto probabilmente si tratta di un bug nel driver ALSA «%s». Segnalare "  "questo problema agli sviluppatori ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -69,7 +74,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Audio interno" @@ -89,222 +94,93 @@ msgstr "Allocazione del nuovo loader dl non riuscita."  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:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Ottenuto il segnale %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Uscita." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Ricerca dell'utente \"%s\" non riuscita." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Ricerca del gruppo \"%s\" non riuscita." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, 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:201 +#: ../src/daemon/main.c:204  #, 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:206 +#: ../src/daemon/main.c:209  #, 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:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Creazione di \"%s\" non riuscita: %s"  # group list ???? -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Cambio dell'elenco di gruppo non riuscito: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Cambio di GID non riuscito: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Cambio di UID non riuscito: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Privilegi di root abbandonati con successo." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Modalità \"system wide\" non supportata su questa piattaforma." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) non riuscita: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Analisi della riga di comando non riuscita." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "Privilegi acquire-high-priority assegnati da PolicyKit." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "Privilegi acquire-real-time assegnati da PolicyKit." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "Privilegi acquire-real-time rifiutati da PolicyKit." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Lo SUID root e lo scheduling real-time o high-priority erano richiesti nella " -"configurazione, ma mancano i privilegi necessari:\n" -"non si è nel gruppo «%s», PolicyKit non consente di acquisire i privilegi " -"richiesti e non è possibile incrementare i limiti RLIMIT_NICE/RLIMIT_RTPRIO " -"della risorsa.\n" -"Per abilitare lo scheduling real-time/high-priority, acquisire i privilegi " -"PolicyKit appropriati, diventare un membro di «%s» oppure incrementare i " -"limiti RLIMIT_NICE/RLIMIT_RTPRIO della risorsa per questo utente." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "Incremento di RLIMIT_RTPRIO riuscito" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO non riuscito: %s" - -# abbandono?? -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Abbandono del CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Demone non in esecuzione" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Demone in esecuzione con PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Terminazione del demone non riuscita: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -312,158 +188,158 @@ msgstr ""  "Questo programma non è pensato per essere eseguito come root (a meno di "  "specificare --system)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Richiesti privilegi di root." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start non supportato per le istanze di sistema." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  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:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr ""  "In esecuzione in modalità sistema, disabilitata in modo forzoso la modalità "  "SHM." -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "In esecuzione in modalità sistema, disabilitato in modo forzoso il tempo di "  "uscita per inattività." -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Acquisizione di STDIO non riuscita." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe non riuscita: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() non riuscita: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() non riuscita: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Avvio del demone non riuscito." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Avvio del demone riuscito." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Questo è PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Host di compilazione: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS di compilazione: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "In esecuzione sull'host: %s"  # evviva il rispetto della l10n!!! -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Trovate %u CPU." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "La dimensione di pagina è %lu byte" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compilato con supporto a Valgrind: sì" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compilato con supporto a Valgrind: no" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "In esecuzione in modalità valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Build ottimizzata: sì" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Build ottimizzata: no" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definito, tutte le dichiarazioni sono disabilitate." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr ""  "FASTPATH definito, solo le dichiarazioni veloci di path sono disabilitate." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Tutte le dichiarazioni sono abilitate." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Recupero dell'ID della macchina non riuscito" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "L'ID della macchina è %s" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "L'ID della macchina è %s" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "In uso directory di runtime %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "In uso directory di stato %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "In esecuzione in modalità sistema: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -473,17 +349,17 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() non riuscita."  # io mi domando e dico..... mah! -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  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:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -491,27 +367,27 @@ msgstr ""  "Hey, questo kernel è andato a male! Lo chef oggi raccomanda Linux con i "  "timer high-resolution abilitati!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() non riuscita." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Inizializzazione del demone non riuscita." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  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:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Completato l'avvio del demone." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Iniziato l'arresto del demone." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Demone terminato." @@ -881,14 +757,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lettura dal file di configurazione: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  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 "Sistema sonoro PulseAudio" @@ -897,30 +769,6 @@ msgstr "Sistema sonoro PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Avvia il sistema sonoro PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Scheduling high-priority (valori negativi di \"nice\") per il demone " -"PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Scheduling realt-time per il demone PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"La politica di sistema previene PulseAudio dall'ottenere lo scheduling high-" -"priority." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"La politica di sistema previene PulseAudio dall'ottenere lo scheduling real-" -"time." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1295,186 +1143,190 @@ msgstr "Analisi dei dati cookie non riuscita"  msgid "Failed to open configuration file '%s': %s"  msgstr "Apertura del file di configurazione \"%s\" non riuscita: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Nessun cookie caricato. Tentativo di connettersi senza." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Ricevuto messaggio per l'estensione sconosciuta \"%s\"" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Svuotamento dello stream non riuscito: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Stream di riproduzione svuotato.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Svuotamento della connessione sul server.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() non riuscita: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() non riuscita: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() non riuscita: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Creazione dello stream riuscita.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() non riuscita: %s\n"  # maxlength, fragsize e gli altri non so se vanno tradotti... -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  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:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Metriche del buffer: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "In uso specifica di campionamento \"%s\", mappa di canali \"%s\".\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Connesso al device %s (%u, %ssospeso).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Errore di stream: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Device stream sospeso.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Device stream ripristinato.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Underrun dello stream.%s\n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Overrun dello stream.%s\n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Stream avviato.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Stream spostato sul device %s (%u, %ssospeso).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "non " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Attributi del buffer di stream cambiati.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Connessione stabilita.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() non riuscita: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() non riuscita: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() non riuscita: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Connessione non riuscita: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Ricevuto EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() non riuscita: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Ricevuto EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() non riuscita: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Ricevuto il segnale, uscita.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Recupero della latenza non riuscito: %s\n"  # dubbio: tempo o durata?? -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Tempo: %0.3f sec; Latenza: %0.0f microsec.  \\r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() non riuscita: %s\n"  #: ../src/utils/pacat.c:605 @@ -1608,35 +1460,35 @@ msgstr ""  "Compilato con libpulse %s\n"  "Link eseguito con libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Mappa di canali \"%s\" non valida\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Metodo di ricampionamento \"%s\" non valido."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Mappa di canali \"%s\" non valida\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Specifica di latenza \"%s\" non valida\n"  # esecuzione???  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Specifica di tempo di elaborazione \"%s\" non valida\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Metodo di ricampionamento \"%s\" non valido."  #: ../src/utils/pacat.c:878 @@ -1645,60 +1497,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Specifica di campionamento non valida\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Troppi argomenti.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Recupero delle informazioni del campione non riuscito: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Apertura del file audio non riuscita.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Recupero delle informazioni del campione non riuscito: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "La mappa di canali non corrisponde alla specifica di campionamento\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Apertura di uno stream %s con specifica di campionamento \"%s\".\n"  #: ../src/utils/pacat.c:1006 @@ -1709,35 +1567,34 @@ msgstr "registrazione"  msgid "playback"  msgstr "riproduzione" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() non riuscita.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() non riuscita.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() non riuscita.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() non riuscita: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() non riuscita.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() non riuscita.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() non riuscita.\n"  #: ../src/utils/pasuspender.c:81 @@ -1766,6 +1623,11 @@ msgstr "Ripristino non riuscito: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "ATTENZIONE: server audio non locale, impossibile sospendere.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Connessione non riuscita: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1806,6 +1668,21 @@ msgstr ""  "Compilato con libpulse %s\n"  "Link eseguito con libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() non riuscita.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() non riuscita.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() non riuscita.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2234,6 +2111,11 @@ msgstr ""  "Compilato con libpulse %s\n"  "Link eseguito con libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Mappa di canali \"%s\" non valida\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Specificare un file campione da caricare\n" @@ -2242,6 +2124,11 @@ msgstr "Specificare un file campione da caricare\n"  msgid "Failed to open sound file.\n"  msgstr "Apertura del file audio non riuscita.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Recupero delle informazioni del campione non riuscito: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2308,11 +2195,6 @@ msgstr ""  msgid "No valid command specified.\n"  msgstr "Nessun comando valido specificato.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() non riuscita: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2431,11 +2313,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Impossibile accedere al lock di autospawn." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2452,7 +2334,7 @@ msgstr ""  "Ci si è alzati con impostato POLLOUT -- come sempre un subsequent "  "snd_pcm_avail() ritorna 0 o un altro valore < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2470,15 +2352,15 @@ msgstr ""  "snd_pcm_avail() ritorna 0 o un altro valore < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Spento" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Playback ad alta fidabilità (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Doppino Telefonico (HSP/HFP)" @@ -2486,6 +2368,140 @@ msgstr "Doppino Telefonico (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Server sonoro PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Impossibile effettuare la connessione al bus di sistema: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Impossibile ottenere il chiamante dal PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Impossibile impostare l'UID sull'oggetto chiamante." + +#~ msgid "Failed to get CK session." +#~ msgstr "Recupero della sessione CK non riuscito." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Impossibile impostare l'UID sull'oggetto sessione." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Impossibile allocare PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Impossibile impostare action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Impossibile allocare PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Impossibile inizializzare PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Impossibile determinare se il chiamante è autorizzato: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Impossibile ottenere l'autorizzazione: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ha risposto con \"%s\"" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Scheduling high-priority (valori negativi di \"nice\") per il demone " +#~ "PulseAudio" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Scheduling realt-time per il demone PulseAudio" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "La politica di sistema previene PulseAudio dall'ottenere lo scheduling " +#~ "high-priority." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "La politica di sistema previene PulseAudio dall'ottenere lo scheduling " +#~ "real-time." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() non riuscita: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() non riuscita: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Attualmente nel gruppo \"%s\", che consente scheduling high-priority." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Attualmente nel gruppo \"%s\", che consente scheduling real-time." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "Privilegi acquire-high-priority assegnati da PolicyKit." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "Privilegi acquire-high-priority rifiutati da PolicyKit." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "Privilegi acquire-real-time assegnati da PolicyKit." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "Privilegi acquire-real-time rifiutati da PolicyKit." + +#~ 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 "" +#~ "Lo SUID root e lo scheduling real-time o high-priority erano richiesti " +#~ "nella configurazione, ma mancano i privilegi necessari:\n" +#~ "non si è nel gruppo «%s», PolicyKit non consente di acquisire i privilegi " +#~ "richiesti e non è possibile incrementare i limiti RLIMIT_NICE/" +#~ "RLIMIT_RTPRIO della risorsa.\n" +#~ "Per abilitare lo scheduling real-time/high-priority, acquisire i " +#~ "privilegi PolicyKit appropriati, diventare un membro di «%s» oppure " +#~ "incrementare i limiti RLIMIT_NICE/RLIMIT_RTPRIO della risorsa per questo " +#~ "utente." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "Scheduling high-priority abilitato nella configurazione, ma non ammesso " +#~ "dalla politica." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "Incremento di RLIMIT_RTPRIO riuscito" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO non riuscito: %s" + +# abbandono?? +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Abbandono del CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "Scheduling real-time abilitato nella configurazione, ma non ammesso dalla " +#~ "politica." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Limitazione delle capacità a CAP_SYS_NICE riuscita." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() non riuscita.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Mono analogico" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-07 11:13+0530\n"  "Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"  "Language-Team: Kannada <en@li.org>\n" @@ -17,7 +17,12 @@ msgstr ""  "X-Generator: KBabel 1.11.4\n"  "Plural-Forms:  nplurals=2; plural=(n != 1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -29,7 +34,7 @@ msgstr ""  "ಇದಕà³à²•ೆ ALSA ಚಾಲಕ '%s' ದಲà³à²²à²¿à²¨ ಒಂದೠದೋಷದ ಕಾರಣವಿರಬಹà³à²¦à³. ದಯವಿಟà³à²Ÿà³à²ˆ ತೊಂದರೆಯನà³à²¨à³ ALSA "  "ವಿಕಸನಗಾರರ ಗಮನಕà³à²•ೆ ತನà³à²¨à²¿." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -41,7 +46,7 @@ msgstr ""  "ಇದಕà³à²•ೆ ALSA ಚಾಲಕ '%s' ದಲà³à²²à²¿à²¨ ಒಂದೠದೋಷದ ಕಾರಣವಿರಬಹà³à²¦à³. ದಯವಿಟà³à²Ÿà³à²ˆ ತೊಂದರೆಯನà³à²¨à³ ALSA "  "ವಿಕಸನಗಾರರ ಗಮನಕà³à²•ೆ ತನà³à²¨à²¿." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -66,7 +71,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "ಆಂತರಿಕ ಆಡಿಯೊ" @@ -86,220 +91,92 @@ msgstr "ಹೊಸ dl ಲೋಡರೠಅನà³à²¨à³ ನಿಯೋಜಿಸà³à²µ  msgid "Failed to add bind-now-loader."  msgstr "bind-now-ಲೋಡರೠಅನà³à²¨à³ ಸೇರಿಸಲಾಗಿಲà³à²²." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಬಸà³â€Œà²—ೆ ಸಂಪರà³à²•ಜೋಡಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID ಇಂದ ಕಾಲರೠಅನà³à²¨à³ ಪಡೆಯಲಾಗಿಲà³à²²: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "ಕಾಲರೠವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK ಅಧಿವೇಶನವನà³à²¨à³ ಪಡೆಯಲಾಗಲಿಲà³à²²." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "ಅಧಿವೇಶನದ ವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id ಅನà³à²¨à³ ಹೊಂದಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext ಅನà³à²¨à³ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿಲà³à²²: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "ಕಾಲರೠಅಧೀಕೃತವಾಗಿದà³à²¦à³† ಎಂದೠನಿರà³à²§à²°à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth ಅನà³à²¨à³ ಪಡೆಯಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit '%s' ನೊಂದಿಗೆ ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²°à²¿à²¸à²¿à²¦à³†" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "%s ನಿಂದ ಸಂಕೇತವೠದೊರೆತಿದೆ." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "ನಿರà³à²—ಮಿಸà³à²¤à³à²¤à²¿à²¦à³†." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "ಬಳಕೆದಾರ '%s' ಅನà³à²¨à³ ಪತà³à²¤à³† ಮಾಡಲೠವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "ಗà³à²‚ಪೠ'%s' ಅನà³à²¨à³ ಪತà³à²¤à³† ಮಾಡಲೠವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "ಬಳಕೆದಾರ '%s' (UID %lu) ಹಾಗೠಗà³à²‚ಪೠ'%s' (GID %lu) ಕಂಡà³à²¬à²‚ದಿದೆ." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "ಬಳಕೆದಾರ '%s' ರ GID ಹಾಗೠಗà³à²‚ಪೠ'%s' ತಾಳೆಯಾಗà³à²¤à³à²¤à²¿à²²à³à²²." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "ಬಳಕೆದಾರ '%s' ರ ನೆಲೆ ಕೋಶವೠ'%s' ಆಗಿಲà³à²², ಆಲಕà³à²·à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' ಅನà³à²¨à³ ರಚಿಸà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "ಗà³à²‚ಪಿನ ಪಟà³à²Ÿà²¿à²¯à²¨à³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID ಅನà³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID ಅನà³à²¨à³ ಬದಲಾಯಿಸಲೠವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "ರೂಟೠಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಬಿಡಲಾಗಿದೆ." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯à²¾à²¦à³à²¯à²‚ತದ ಕà³à²°à²®à²•à³à²•ೆ ಈ ಪà³à²²à²¾à²Ÿà³â€Œà²«à²¾à²°à³à²®à²¿à²¨à²²à³à²²à²¿ ಬೆಂಬಲವಿಲà³à²²." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "ಆಜà³à²žà²¾ ಸಾಲನà³à²¨à³ ಪಾರà³à²¸à³ ಮಾಡà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" -"ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†." - -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID ರೂಟೠಅನà³à²¨à³ ಕರೆಯಲಾಗಿದೆ ಹಾಗೠಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† " -"ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œà²—ೆ ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²—ಿದೆ. ಆದರೆ, ಅಗತà³à²¯à²µà²¿à²°à³à²µ ಸವಲತà³à²¤à³à²—ಳೠನಮà³à²®à²²à³à²²à²¿à²²à³à²²:\n" -"ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²²à³à²²,ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²¦ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಒದಗಿಸಲೠPolicyKit " -"ನಿರಾಕರಿಸಿದೆ ಹಾಗೠRLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲದ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²²à³ ನಮà³à²®à²¿à²‚ದ " -"ಸಾಧà³à²¯à²µà²¿à²²à³à²².\n" -"ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œ ಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲೠದಯವಿಟà³à²Ÿà³ ಸೂಕà³à²¤à²µà²¾à²¦ " -"PolicyKit ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¿, ಅಥವ '%s' ನ ಸದಸà³à²¯à²°à²¾à²—ಿ, ಅಥವ ಈ ಬಳಕೆದಾರನಿಗಾಗಿ " -"RLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²¿." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"ಸಂರಚನೆಯಲà³à²²à²¿ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ " -"ಇಲà³à²²." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO ಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಹೆಚà³à²šà²¿à²¸à²²à²¾à²—ಿದೆ" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO ವಿಫಲಗೊಂಡಿದೆ: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE ಅನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"ಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ ಇಲà³à²²." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ಡೀಮನೠಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "ಡೀಮನೠPID %u ಯಾಗಿ ಚಲಾಯಿಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ಡೀಮನೠಅನà³à²¨à³ ಕೊಲà³à²²à²²à³ ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -307,158 +184,158 @@ msgstr ""  "ಈ ಪà³à²°à³‹à²—à³à²°à²¾à²®à²¨à³à²¨à³ ರೂಟà³â€Œ ಆಗಿ ಚಲಾಯಿಸà³à²µ ಉದà³à²§à³‡à²¶à²µà²¨à³à²¨à³ ಹೊಂದಿಲà³à²² (--system ಅನà³à²¨à³ ಸೂಚಿಸದೆ "  "ಇದà³à²¦à²²à³à²²à²¿ ಮಾತà³à²°)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "ನಿರà³à²µà²¾à²¹à²• ಸವಲತà³à²¤à³à²—ಳ ಅಗತà³à²¯à²µà²¿à²¦à³†." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಸನà³à²¨à²¿à²µà³‡à²¶à²¦à²¿à²‚ದ --start ಬೆಂಬಲಿತವಾಗಿಲà³à²²." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr ""  "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†, ಆದರೆ --disallow-exit ಅನà³à²¨à³ ಹೊಂದಿಸಲಾಗಿಲà³à²²!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†, ಆದರೆ --disallow-module-loading ಅನà³à²¨à³ "  "ಹೊಂದಿಸಲಾಗಿಲà³à²²!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr ""  "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³à²¦à³, SHM ಕà³à²°à²®à²µà²¨à³à²¨à³ ಒತà³à²¤à²¾à²¯à²ªà³‚ರà³à²µà²•ವಾಗಿ "  "ಅಶಕà³à²¤à²—ೊಳಿಸà³à²¤à³à²¤à²¿à²¦à³†!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³à²¦à³, ನಿರà³à²—ಮಿಸà³à²µ ಜಡ ಸಮಯವನà³à²¨à³ ಒತà³à²¤à²¾à²¯à²ªà³‚ರà³à²µà²•ವಾಗಿ "  "ಅಶಕà³à²¤à²—ೊಳಿಸà³à²¤à³à²¤à²¿à²¦à³†!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio ಅನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "ಪೈಪà³â€Œ ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ಡೀಮನೠಆರಂà²à²—ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "ಡೀಮನೠಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿದೆ." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "ಇದೠPulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "ಕಂಪೈಲೠಮಾಡà³à²µ ಅತಿಥೇಯ: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "ಕಂಪೈಲೠಮಾಡà³à²µ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "ಅತಿಥೇಯದಲà³à²²à²¿ ಚಲಾಯಿತಗೊಳà³à²³à³à²¤à³à²¤à²¿à²¦à³†: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUಗಳೠಕಂಡà³à²¬à²‚ದಿವೆ." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "ಪà³à²Ÿà²¦ ಗಾತà³à²°à²µà³ %lu ಬೈಟà³â€Œà²—ಳಾಗಿವೆ" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind ಬೆಂಬಲದೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ: ಹೌದà³" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind ಬೆಂಬಲದೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ: ಇಲà³à²²" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "ಪà³à²°à²¶à²¸à³à²¤à²µà²¾à²¦ ನಿರà³à²®à²¾à²£: ಹೌದà³" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "ಪà³à²°à²¶à²¸à³à²¤à²µà²¾à²¦ ನಿರà³à²®à²¾à²£: ಇಲà³à²²" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG ಅನà³à²¨à³ ಸೂಚಿಸಲಾಗಿದೆ, ಎಲà³à²²à²¾ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಅಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr ""  "FASTPATH ಅನà³à²¨à³ ಸೂಚಿಸಲಾಗಿದೆ, ಕೇವಲ ವೇಗ ಮಾರà³à²—ದ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಅಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "ಎಲà³à²²à²¾ ಪà³à²°à²¤à²¿à²ªà²¾à²¦à²¨à³†à²—ಳನà³à²¨à³‚ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "ಮೆಶೀನೠID ಯನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "ಮೆಶೀನೠID ಯೠ%s ಆಗಿದೆ." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "ಮೆಶೀನೠID ಯೠ%s ಆಗಿದೆ." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "ಚಲಾವಣಾಸಮಯ(ರನà³â€Œà²Ÿà³ˆà²®à³) ಕೋಶ %s ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "ಸà³à²¥à²¿à²¤à²¿ ಕೋಶ %s ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಕà³à²°à²®à²¦à²²à³à²²à²¿ ಚಲಾಯಿಸಲಾಗà³à²¤à³à²¤à²¿à²¦à³†: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -468,15 +345,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ತಾಜಾ ರೆಸಲà³à²¯à³‚ಶನೠಟೈಮರೠಲà²à³à²¯à²µà²¿à²¦à³†! Bon appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -484,27 +361,27 @@ msgstr ""  "ಮಹಾಶಯರೆ, ನಿಮà³à²® ಕರà³à²¨à²²à³ ಕೊಳೆತà³à²¹à³‹à²—ಿದೆ! ಅತà³à²¯à³à²¤à³à²¤à²® ರೆಸಲà³à²¯à³‚ಶನೠಟೈಮರೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾದ "  "ಲಿನಕà³à²¸à²¨à³à²¨à³ ಬಳಸà³à²µà²‚ತೆ ಅಡà³à²—ೆಯವರೠಸಲಹೆ ಮಾಡà³à²¤à³à²¤à²¿à²¦à³à²¦à²¾à²°à³†!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ಡೀಮನೠಅನà³à²¨à³ ಆರಂà²à²¿à²¸à²²à³ ವಿಫಲಗೊಂಡಿದೆ." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "ಲೋಡೠಮಾಡಲಾದ ಯಾವà³à²¦à³† ಡೀಮನೠಇಲà³à²²à²¦à³† ಆರಂà²à²—ೊಂಡಿದೆ, ಕೆಲಸ ಮಾಡಲೠನಿರಾಕರಿಸಿದೆ." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ಡೀಮನೠಆರಂà²à²—ೊಳಿಕೆ ಪೂರà³à²£à²—ೊಂಡಿದೆ." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ಡೀಮನೠಸà³à²¥à²—ಿತಗೊಳಿಕೆಯನà³à²¨à³ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿದೆ." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ಡೀಮನೠಅನà³à²¨à³ ಅಂತà³à²¯à²—ೊಳಿಸಲಾಗಿದೆ." @@ -844,14 +721,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### ಸಂರಚನಾ ಕಡತದಿಂದ ಓದà³: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "ರೂಟà³â€Œ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE ಗಾಗಿನ ಯಶಸà³à²µà²¿ ನಿಯಮಿತ ಸಾಮರà³à²¥à³à²¯à²—ಳà³." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†" @@ -860,27 +733,6 @@ msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio ಧà³à²µà²¨à²¿ ವà³à²¯à²µà²¸à³à²¥à³†à²¯à²¨à³à²¨à³ ಆರಂà²à²¿à²¸à²¿" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠ(ಋಣಾತà³à²®à²• ಯೂನಿಕà³à²¸à³â€Œ ನೈಸೠಹಂತ)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗà³" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"PulseAudio ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ" -"ತಡೆಯà³à²¤à³à²¤à²¦à³†." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"PulseAudio ರಿಯಲà³-ಟೈಮà³â€Œ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠತಡೆಯà³à²¤à³à²¤à²¦à³†." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "ಮೊನೊ" @@ -1253,184 +1105,188 @@ msgstr "ಕà³à²•ಿ ದತà³à²¤à²¾à²‚ಶವನà³à²¨à³ ಪಾರà³à²¸à³ ಮ  msgid "Failed to open configuration file '%s': %s"  msgstr "ಸಂರಚನಾ ಕಡತ '%s' ಅನà³à²¨à³ ಲೋಡೠಮಾಡà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr ""  "ಯಾವà³à²¦à³† ಕà³à²•ಿಯನà³à²¨à³ ಲೋಡೠಮಾಡಲಾಗಿಲà³à²². ಕà³à²•ಿ ಇಲà³à²²à²¦à³† ಸಂಪರà³à²•ಸಾಧಿಸಲೠಪà³à²°à²¯à²¤à³à²¨à²¿à²¸à²²à²¾à²—à³à²¤à³à²¤à²¿à²¦à³†." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "ಫೋರà³à²•à³(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "ಅಜà³à²žà²¾à²¤ ವಿಸà³à²¤à²°à²£à³† '%s' ಇಂದ ಸಂದೇಶವನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²²à²¾à²—ಿದೆ" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಬರಿದಾಗಿಸà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "ಪà³à²²à³‡à²¬à³à²¯à²¾à²•ೠಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಬರಿದಾಗಿಸಲಾಗಿದೆ.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "ಪರಿಚಾರಕಕà³à²•ೆ ಬರಿದಾಗಿಸà³à²µ ಸಂಪರà³à²•.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() failed: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() failed: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() failed: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "ಸà³à²Ÿà³à²°à³€à²®à²¨à³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ನಿರà³à²®à²¿à²¸à²²à²¾à²—ಿದೆ.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() failed: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "ಬಫರೠಮೆಟà³à²°à²¿à²•à³â€Œà²—ಳà³: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "ಬಫರೠಮೆಟà³à²°à²¿à²•à³â€Œà²—ಳà³: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "ನಮೂನೆಯ ವಿವರ '%s' ಅನà³à²¨à³ ಬಳಸಿಕೊಂಡà³, ಚಾನಲà³â€Œ ನಕà³à²·à³† '%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "ಸಾಧನ %s ಕà³à²•ೆ ಸಂಪರà³à²• ಜೋಡಿಸಲಾಗಿದೆ (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ದೋಷ: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಸಾಧನವನà³à²¨à³ ತಾತà³à²•ಾಲಿಕವಾಗಿ ತಡೆಹಿಡಿಯಲಾಗಿದೆ.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಸಾಧನವನà³à²¨à³ ಮರಳಿ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿದೆ.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಕಡಿಮೆ ಚಲಾಯಿಸಲಾಗಿದೆ.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಹೆಚà³à²šà³ ಚಲಾಯಿಸಲಾಗಿದೆ.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಅನà³à²¨à³ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿದೆ.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "ಸಾಧನ %s ಅನà³à²¨à³ ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಸà³à²¥à²³à²¾à²‚ತರಿಸಲಾಗಿದೆ (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "ಇಲà³à²² " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "ಸà³à²Ÿà³à²°à³€à²®à³ ಬಫರೠಗà³à²£à²µà²¿à²¶à³‡à²·à²¤à³†à²—ಳನà³à²¨à³ ಬದಲಾಯಿಸಲಾಗಿದೆ.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "ಸಂಪರà³à²•ವನà³à²¨à³ ಸಾಧಿಸಲಾಗಿದೆ.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() failed: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() failed: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() failed: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "ಸಂಪರà³à²•ದ ವಿಫಲತೆ: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF ಅನà³à²¨à³ ಪಡೆಯಲಾಗಿದೆ.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "ಓದà³à²µà²¿à²•ೆ() ವಿಫಲಗೊಂಡಿದೆ: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF ಅನà³à²¨à³ ಪಡೆಯಲಾಗಿದೆ.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "ಬರೆಯà³à²µà²¿à²•ೆ() ವಿಫಲಗೊಂಡಿದೆ: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "ಸಂಕೇತ ದೊರೆತಿದೆ, ನಿರà³à²—ಮಿಸà³à²¤à³à²¤à²¿à²¦à³†.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "ಅಗೋಚರತೆಯನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "ಸಮಯ: %0.3f sec; ಅಗೋಚರತೆ: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() failed: %s\n"  #: ../src/utils/pacat.c:605 @@ -1549,34 +1405,34 @@ msgstr ""  "libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"  "libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಮರà³à²¨à²®à³‚ನೆ ವಿಧಾನ '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಅಗೋಚರತೆ ವಿವರಣೆ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಪà³à²°à²•à³à²°à²¿à²¯à³† ಸಮಯದ ವಿವರಣೆ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಮರà³à²¨à²®à³‚ನೆ ವಿಧಾನ '%s'."  #: ../src/utils/pacat.c:878 @@ -1585,60 +1441,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ನಮೂನೆ ವಿವರ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "ತೆರೆ(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "ಬಹಳಷà³à²Ÿà³ ಆರà³à²—à³à²®à³†à²‚ಟà³â€Œà²—ಳà³.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "ಧà³à²µà²¨à²¿ ಕಡತವನà³à²¨à³ ತೆರೆಯà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "ಚಾನಲೠನಕà³à²·à³†à²¯à³ ನಮೂನೆಯ ವಿವರಣೆಯೊಂದಿಗೆ ತಾಳೆಯಾಗà³à²¤à³à²¤à²¿à²²à³à²²\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "ಒಂದೠ%s ಸà³à²Ÿà³à²°à³€à²®à³â€Œ ಅನà³à²¨à³ ನಮೂನೆ ವಿವರಣೆ '%s' ಯೊಂದಿಗೆ ತೆರೆಯಲಾಗà³à²¤à³à²¤à²¿à²¦à³†.\n"  #: ../src/utils/pacat.c:1006 @@ -1649,35 +1511,34 @@ msgstr "ರೆಕಾರà³à²¡à²¿à²‚ಗà³"  msgid "playback"  msgstr "ಪà³à²²à³‡à²¬à³à²¯à²¾à²•à³â€Œ" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() failed.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() ವಿಫಲಗೊಂಡಿದೆ.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() failed.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() failed: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() failed.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() failed.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() failed.\n"  #: ../src/utils/pasuspender.c:81 @@ -1705,6 +1566,11 @@ msgstr "ಮರಳಿ ಆರಂà²à²¿à²¸à²²à³ ವಿಫಲಗೊಂಡಿದೆ:  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "ಎಚà³à²šà²°à²¿à²•ೆ: ಧà³à²µà²¨à²¿ ಪರಿಚಾರಕವೠಸà³à²¥à²³à³€à²¯à²µà²¾à²—ಿಲà³à²², ತಾತà³à²•ಾಲಿಕವಾಗಿ ತಡೆಹಿಡಿಯಲಾಗà³à²¤à³à²¤à²¿à²²à³à²².\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "ಸಂಪರà³à²•ದ ವಿಫಲತೆ: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1744,6 +1610,21 @@ msgstr ""  "libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"  "libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() failed.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() failed.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() failed.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2159,6 +2040,11 @@ msgstr ""  "libpulse %s ನೊಂದಿಗೆ ಕಂಪೈಲೠಮಾಡಲಾಗಿದೆ\n"  "libpulse %s ನೊಂದಿಗೆ ಜೋಡಿಸಲಾಗಿದೆ\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "ಅಮಾನà³à²¯à²µà²¾à²¦ ಚಾನಲೠನಕà³à²·à³† '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "ಲೋಡೠಮಾಡಬೇಕಿರà³à²µ ಒಂದೠಕಡತದ ನಮೂನೆಯನà³à²¨à³ ಸೂಚಿಸಿ\n" @@ -2167,6 +2053,11 @@ msgstr "ಲೋಡೠಮಾಡಬೇಕಿರà³à²µ ಒಂದೠಕಡತದ ಠ msgid "Failed to open sound file.\n"  msgstr "ಧà³à²µà²¨à²¿ ಕಡತವನà³à²¨à³ ತೆರೆಯà³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "ನಮೂನೆಯ ಮಾಹಿತಿಯನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à³à²µà²²à³à²²à²¿ ವಿಫಲಗೊಂಡಿದೆ: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2230,11 +2121,6 @@ msgstr "ಒಂದೠಕಾರà³à²¡à²¿à²¨ ಹೆಸರà³/ಸೂಚಿಯನೠ msgid "No valid command specified.\n"  msgstr "ಯಾವà³à²¦à³† ಆಜà³à²žà³†à²¯à²¨à³à²¨à³ ಸೂಚಿಸಲಾಗಿಲà³à²².\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() failed: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2352,11 +2238,11 @@ msgstr "ಓದà³(): %s"  msgid "write(): %s"  msgstr "ಬರೆ(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "ಸà³à²µà²¯à²‚ಹೆಚà³à²šà²¿à²¸à³à²µà²¿à²•ೆಯ ಲಾಕೠಅನà³à²¨à³ ನಿಲà³à²•ಿಸಿಕೊಳà³à²³à²²à³ ಸಾಧà³à²¯à²µà²¿à²²à³à²²." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2371,7 +2257,7 @@ msgstr ""  "ವಿಕಸನಗಾರರ ಗಮನಕà³à²•ೆ ತನà³à²¨à²¿.POLLOUT ಸೆಟà³â€Œà²¨à²¿à²‚ದ ನಾವೠಎಚà³à²šà³†à²¤à³à²¤à³à²—ೊಂಡಿದà³à²¦à³‡à²µà³† -- ಆದರೆ ನಂತರದ "  "snd_pcm_avail() 0 ಅಥವ min_avail ಕà³à²•ಿಂತ ಚಿಕà³à²•ದಾದ ಇನà³à²¨à³Šà²‚ದೠಮೌಲà³à²¯à²µà²¨à³à²¨à³ ಮರಳಿಸಿದೆ." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2387,15 +2273,15 @@ msgstr ""  "snd_pcm_avail() 0 ಅಥವ min_avail ಕà³à²•ಿಂತ ಚಿಕà³à²•ದಾದ ಇನà³à²¨à³Šà²‚ದೠಮೌಲà³à²¯à²µà²¨à³à²¨à³ ಮರಳಿಸಿದೆ."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "ಜಡ" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "ಹೈ ಫಿಡಿಲಿಟಿ ಪà³à²²à³‡à²¬à³à²¯à²¾à²•à³ (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "ಟೆಲಿಫೋನಿ ಡà³à²¯à³‚ಪà³à²²à³†à²•à³à²¸à³â€Œ (HSP/HFP)" @@ -2403,6 +2289,137 @@ msgstr "ಟೆಲಿಫೋನಿ ಡà³à²¯à³‚ಪà³à²²à³†à²•à³à²¸à³â€Œ (HSP/HF  msgid "PulseAudio Sound Server"  msgstr "ಪಲà³à²¸à³â€à²†à²¡à²¿à²¯à³‹ ಧà³à²µà²¨à²¿ ಪರಿಚಾರಕ" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಬಸà³â€Œà²—ೆ ಸಂಪರà³à²•ಜೋಡಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID ಇಂದ ಕಾಲರೠಅನà³à²¨à³ ಪಡೆಯಲಾಗಿಲà³à²²: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "ಕಾಲರೠವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK ಅಧಿವೇಶನವನà³à²¨à³ ಪಡೆಯಲಾಗಲಿಲà³à²²." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "ಅಧಿವೇಶನದ ವಸà³à²¤à³à²µà²¿à²¨à²²à³à²²à²¿ UID ಅನà³à²¨à³ ಅಣಿಗೊಳಿಸಲಾಗಲಿಲà³à²²." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²." + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id ಅನà³à²¨à³ ಹೊಂದಿಸಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext ಅನà³à²¨à³ ನಿಯೋಜಿಸಲಾಗಿಲà³à²²." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext ಅನà³à²¨à³ ಆರಂà²à²¿à²¸à²²à²¾à²—ಿಲà³à²²: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "ಕಾಲರೠಅಧೀಕೃತವಾಗಿದà³à²¦à³† ಎಂದೠನಿರà³à²§à²°à²¿à²¸à²²à³ ಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth ಅನà³à²¨à³ ಪಡೆಯಲೠಸಾಧà³à²¯à²µà²¾à²—ಿಲà³à²²: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit '%s' ನೊಂದಿಗೆ ಪà³à²°à²¤à³à²¯à³à²¤à³à²¤à²°à²¿à²¸à²¿à²¦à³†" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠ(ಋಣಾತà³à²®à²• ಯೂನಿಕà³à²¸à³â€Œ ನೈಸೠಹಂತ)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio ಡೀಮನà³â€Œà²—ಾಗಿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗà³" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "PulseAudio ಹೆಚà³à²šà²¿à²¨ ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ" +#~ "ತಡೆಯà³à²¤à³à²¤à²¦à³†." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "PulseAudio ರಿಯಲà³-ಟೈಮà³â€Œ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¦à²‚ತೆ ವà³à²¯à²µà²¸à³à²¥à³†à²¯ ಪಾಲಿಸಿಯೠ" +#~ "ತಡೆಯà³à²¤à³à²¤à²¦à³†." + +#~ msgid "read() failed: %s\n" +#~ msgstr "ಓದà³à²µà²¿à²•ೆ() ವಿಫಲಗೊಂಡಿದೆ: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() failed: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²¦à³à²¦à³‡à²µà³†, ಹಾಗೠರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à³‡à²µà³†." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ಅನà³à²®à²¤à²¿à²¸à³à²¤à³à²¤à²¦à³†." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "ರಿಯಲà³-ಟೈಮೠಸವಲತà³à²¤à²¨à³à²¨à³ ಪಡೆದà³à²•ೊ ಅನà³à²¨à³ PolicyKit ನಿರಾಕರಿಸà³à²¤à³à²¤à²¦à³†." + +#~ 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 "" +#~ "SUID ರೂಟೠಅನà³à²¨à³ ಕರೆಯಲಾಗಿದೆ ಹಾಗೠಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† " +#~ "ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œà²—ೆ ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²—ಿದೆ. ಆದರೆ, ಅಗತà³à²¯à²µà²¿à²°à³à²µ ಸವಲತà³à²¤à³à²—ಳೠನಮà³à²®à²²à³à²²à²¿à²²à³à²²:\n" +#~ "ನಾವೠ'%s' ಗà³à²‚ಪಿನಲà³à²²à²¿à²²à³à²²,ಮನವಿ ಸಲà³à²²à²¿à²¸à²²à²¾à²¦ ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಒದಗಿಸಲೠPolicyKit " +#~ "ನಿರಾಕರಿಸಿದೆ ಹಾಗೠRLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲದ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²²à³ " +#~ "ನಮà³à²®à²¿à²‚ದ ಸಾಧà³à²¯à²µà²¿à²²à³à²².\n" +#~ "ರಿಯಲà³-ಟೈಲೠಹಾಗà³/ಅಥವ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³† ಶೆಡà³à²¯à³‚ಲಿಂಗà³â€Œ ಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲೠದಯವಿಟà³à²Ÿà³ ಸೂಕà³à²¤à²µà²¾à²¦ " +#~ "PolicyKit ಸವಲತà³à²¤à³à²—ಳನà³à²¨à³ ಪಡೆದà³à²•ೊಳà³à²³à²¿, ಅಥವ '%s' ನ ಸದಸà³à²¯à²°à²¾à²—ಿ, ಅಥವ ಈ " +#~ "ಬಳಕೆದಾರನಿಗಾಗಿ RLIMIT_NICE/RLIMIT_RTPRIO ಸಂಪನà³à²®à³‚ಲ ಮಿತಿಯನà³à²¨à³ ಹೆಚà³à²šà²¿à²¸à²¿." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "ಸಂರಚನೆಯಲà³à²²à²¿ ಹೆಚà³à²šà³-ಆದà³à²¯à²¤à³†à²¯ ಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ " +#~ "ಅನà³à²®à²¤à²¿ ಇಲà³à²²." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO ಅನà³à²¨à³ ಯಶಸà³à²µà²¿à²¯à²¾à²—ಿ ಹೆಚà³à²šà²¿à²¸à²²à²¾à²—ಿದೆ" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO ವಿಫಲಗೊಂಡಿದೆ: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE ಅನà³à²¨à³ ಬಿಡಲಾಗà³à²¤à³à²¤à²¿à²¦à³†" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "ಸಂರಚನೆಯಲà³à²²à²¿ ರಿಯಲà³-ಟೈಮೠಶೆಡà³à²¯à³‚ಲಿಂಗೠಅನà³à²¨à³ ಶಕà³à²¤à²—ೊಳಿಸಲಾಗಿದೆ ಆದರೆ ಪಾಲಿಸಿಯಿಂದ ಅನà³à²®à²¤à²¿ " +#~ "ಇಲà³à²²." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE ಗಾಗಿನ ಯಶಸà³à²µà²¿ ನಿಯಮಿತ ಸಾಮರà³à²¥à³à²¯à²—ಳà³." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() failed.\n" +  #~ msgid "Analog Mono"  #~ msgstr "ಅನಲಾಗೠಮೊನೊ" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-06 13:43+0530\n"  "Last-Translator: Sandeep Shedmake <sandeep.shedmake@gmail.com>\n"  "Language-Team: marathi\n" @@ -17,7 +17,12 @@ msgstr ""  "X-Generator: KBabel 1.11.4\n"  "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -29,7 +34,7 @@ msgstr ""  "हे सहसा ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' अंतरà¥à¤—त बग अशू शकते. कृपया या अडचणीस ALSA डेवà¥à¤¹à¤²à¤ªà¤° करीता "  "कळवा." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -41,7 +46,7 @@ msgstr ""  "हे सहसा ALSA डà¥à¤°à¤¾à¤‡à¤µà¤° '%s' अंतरà¥à¤—त बग अशू शकते. कृपया या अडचणीस ALSA डेवà¥à¤¹à¤²à¤ªà¤° करीता "  "कळवा." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -66,7 +71,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "आंतरीक ऑडिओ" @@ -86,367 +91,242 @@ msgstr "नवीन dl दाखलकरà¥à¤¤à¤¾ वाटप करणà¥à¤¯  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader समावेष करणà¥à¤¯à¤¾à¤¸ अपयशी." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ बसशी जà¥à¤³à¤µà¤£à¥€ करणà¥à¤¯à¤¾à¤¸ अशकà¥à¤¯: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID पासून कॉलर पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "कॉलर ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK सतà¥à¤° पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अपयशी." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "सतà¥à¤° ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction वाटप करणे अशकà¥à¤¯." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext वाटप करणे अशकà¥à¤¯." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext पà¥à¤°à¤¾à¤°à¤‚ठकरणे अशकà¥à¤¯: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "कॉलर अधिकृत आहे की नाही हे ओळखणे शकà¥à¤¯ नाही: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit ने '%s' सह पà¥à¤°à¤¤à¤¿à¤¸à¤¾à¤¦ दिला" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "संकेत %s पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "बाहेर पडत आहे." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "वापरकरà¥à¤¤à¤¾ '%s' शोधणे अशकà¥à¤¯." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "गट '%s' शोधणà¥à¤¯à¤¾à¤¸ अपयशी." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "वापरकरà¥à¤¤à¤¾ '%s' (UID %lu) व गट '%s' (GID %lu) आढळले." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "वापरकरà¥à¤¤à¤¾ '%s' व गट '%s' चे GID जà¥à¤³à¤¤ नाही." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "वापरकरà¥à¤¤à¤¾ '%s' ची मà¥à¤–à¥à¤¯ डिरेकà¥à¤Ÿà¥à¤°à¥€ '%s' नाही, दà¥à¤°à¥à¤²à¤•à¥à¤· करत आहे." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' बनवणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "गट यादी बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID बदलवणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "रूट परवानगी यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ वगळले." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ à¤à¤° पदà¥à¤§à¤¤ या पà¥à¤²à¥…टफॉरà¥à¤® करीता समरà¥à¤¥à¥€à¤¤ नाही." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) अपयशी: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "आदेश ओळ वाचणà¥à¤¯à¤¾à¤¸ अपयशी." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• करीता परवानगी देते." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, रियल-टाईम वेळपतà¥à¤°à¤• करीता परवानगी देते." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit आपलà¥à¤¯à¤¾à¤²à¤¾ acquire-high-priority परवानगी देतो." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit acquire-high-priority परवानगी नकारतो." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time परवानगी पà¥à¤°à¤µà¤¿à¤¤à¥‹." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time परवानगी नकारतो." - -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID रूटला कॉल केले व वासà¥à¤¤à¤µà¤¿à¤•-वेळ व/किंवा संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• " -"विनंतीकृत केले. तरी, आमचà¥à¤¯à¤¾à¤•डे आवशà¥à¤¯à¤• परवानगी नाही:\n" -"आमà¥à¤¹à¥€ गट '%s' अंतरà¥à¤—त नाही, PolicyKit ने विनंतीकृत परवानगी देणà¥à¤¯à¤¾à¤¸ नकार दिला व " -"RLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढविणे आवशà¥à¤¯à¤• आहे.\n" -"रियल-टाइम/उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करणà¥à¤¯à¤¾à¤•रीता कृपयायोगà¥à¤¯ PolicyKit " -"परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करा, किंवा '%s' चे सदसà¥à¤¯ बनवा, किंवा या वापरकरà¥à¤¤à¤¾ करीताRLIMIT_NICE/" -"RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढवा." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले करार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•ारà¥à¤¯ नाही." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ RLIMIT_RTPRIO वाढवले" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO अपयशी: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE करीता पà¥à¤°à¤¯à¤¤à¥à¤¨ बंद केले" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"संयोजना अंतरà¥à¤—त रियल-टाईम वेळपतà¥à¤° कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे परंतॠकरार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•ारà¥à¤¯ नाही." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "डिमन कारà¥à¤¯à¤°à¤¤ नाही" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "डिमन PID %u नà¥à¤°à¥‚प कारà¥à¤¯à¤°à¤¤ आहे" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "डिमन नषà¥à¤Ÿ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "हा कारà¥à¤¯à¤•à¥à¤°à¤® रूट नà¥à¤°à¥‚प चालविणà¥à¤¯à¤¾à¤•रीता नाही (जोपरà¥à¤¯à¤‚त --system निशà¥à¤šà¤¿à¤¤ नाही)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "रूट परवानगी आवशà¥à¤¯à¤•." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ घटनांकरीता --start समरà¥à¤¥à¥€à¤¤ नाही." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, परंतॠ--disallow-exit निशà¥à¤šà¤¿à¤¤ केले नाही!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, परंतॠ--disallow-module-loading निशà¥à¤šà¤¿à¤¤ केले नाही!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, SHM पदà¥à¤§à¤¤ जबरनरितà¥à¤¯à¤¾ अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€ अंतरà¥à¤—त कारà¥à¤¯à¤°à¤¤, रिकामे वेळ जबरनरितà¥à¤¯à¤¾ अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "पाइप अपयशी: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() अपयशी: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() अपयशी: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प अपयशी." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प यशसà¥à¤µà¥€." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "हे PulseAudio %s आहे" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "कंपाइलेशन यजमान: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "कंपाइलेशन CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "यजमान वर कारà¥à¤¯à¤°à¤¤: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs आढळले." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "पान आकार %lu बाईटसॠआहे" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind समरà¥à¤¥à¤¨à¤¶à¥€ कंपाईल केले: होय" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind समरà¥à¤¥à¤¨à¤¶à¥€ कंपाईल केले: नाही" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind पदà¥à¤§à¤¤à¥€à¤¤ कारà¥à¤¯à¤°à¤¤: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "अनà¥à¤•ूल बिलà¥à¤¡: होय" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "अनà¥à¤•ूल बिलà¥à¤¡: नाही" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG वरà¥à¤£à¥€à¤•ृत, सरà¥à¤µ asserts अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH वरà¥à¤£à¥€à¤•ृत, फकà¥à¤¤ जलद मारà¥à¤—ीय asserts अकारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "सरà¥à¤µ asserts कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "मशीन ID पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "मशीन ID %s आहे." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "मशीन ID %s आहे." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "रनटाईम डिरेकà¥à¤Ÿà¥à¤°à¥€ %s वापरत आहे." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "सà¥à¤¥à¤¿à¤¤à¥€ डिरेकà¥à¤Ÿà¥à¤°à¥€ %s वापरत आहे." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ पदà¥à¤§à¤¤à¥€à¤¤ कारà¥à¤¯à¤°à¤¤: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -456,15 +336,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() अपयशी." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "नवीन उचà¥à¤š-बिंदूता टाइमर उपलबà¥à¤§! Bon appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -472,27 +352,27 @@ msgstr ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() अपयशी." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "डिमन पà¥à¤°à¤¾à¤°à¤‚ठकरणà¥à¤¯à¤¾à¤¸ अपयशी." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "विना विà¤à¤¾à¤— दाखल केलà¥à¤¯à¤¾à¤¸ डिमन पà¥à¤°à¤¾à¤°à¤‚ठà¤à¤¾à¤²à¥‡, कारà¥à¤¯ करणà¥à¤¯à¤¾à¤¸ नकार." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "डिमन सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प पूरà¥à¤£ à¤à¤¾à¤²à¥‡." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "डिमन पूरà¥à¤£à¤ªà¤£à¥‡ बंद करणà¥à¤¯à¤¾à¤¸ पà¥à¤°à¤¾à¤°à¤‚ठकेले." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "डिमन नषà¥à¤Ÿ केले." @@ -827,14 +707,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### संयोजना फाइल: %s पासून वाचा ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "रà¥à¤Ÿ परवानगी वगळत आहे." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "कà¥à¤·à¤®à¤¤à¤¾ यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ CAP_SYS_NICE करीता मरà¥à¤¯à¤¾à¤¦à¥€à¤¤ केले." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€" @@ -843,24 +719,6 @@ msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio आवाज पà¥à¤°à¤£à¤¾à¤²à¥€ सà¥à¤°à¥‚ करा" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio डिमन करीता उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• (नकारातà¥à¤®à¤• Unix nice सà¥à¤¤à¤°)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio डिमन करीता रियल-टाइम वेळपतà¥à¤°à¤•" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला रियल-टाइम वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "मोनो" @@ -1233,183 +1091,187 @@ msgstr "कà¥à¤•ी डेटा वाचणà¥à¤¯à¤¾à¤¸ अपयशी"  msgid "Failed to open configuration file '%s': %s"  msgstr "संयोजना फाइल '%s' उघडणà¥à¤¯à¤¾à¤¸ अपयशी: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "कà¥à¤•ी दाखल केले नाही. जà¥à¤³à¤µà¤£à¥€à¤šà¤¾ पà¥à¤°à¤¯à¤¤à¥à¤¨ करत आहे." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "अपरिचीत वाढ '%s' करीता संदेश पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® रिकामे करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "पà¥à¤²à¥‡à¤¬à¥…क सà¥à¤Ÿà¥à¤°à¥€à¤® रिकामे केले.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "सरà¥à¤µà¤° करीता जà¥à¤³à¤µà¤£à¥€ डà¥à¤°à¥‡à¤¨ केली.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() अपयशी: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() अपयशी: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() अपयशी: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ बनवले.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() अपयशी: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "बफर मेटà¥à¤°à¥€à¤•: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "बफर मेटà¥à¤°à¥€à¤•: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "उदाहरणतया spec '%s', वाहिनी नकाशा '%s' वापरत आहे.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "साधन %s शी जà¥à¤³à¤²à¥‡ (%u, %s ससà¥à¤ªà¥‡à¤‚ड केले).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® तà¥à¤°à¥à¤Ÿà¥€: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन ससà¥à¤ªà¥‡à¤‚ड केले.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन पà¥à¤¨à¥à¤¹à¤¾ सà¥à¤°à¥‚ केले.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® underrun.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® overrun.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® सà¥à¤°à¥‚ केले.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® साधन %s कडे सà¥à¤¥à¤¾à¤¨à¤¾à¤‚तरीत केले (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "नाही " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "सà¥à¤Ÿà¥à¤°à¥€à¤® बफर गà¥à¤£à¤§à¤°à¥à¤® बदलले.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "जà¥à¤³à¤µà¤£à¥€ सà¥à¤¥à¤¾à¤ªà¥€à¤¤ केली.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() अपयशी: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() अपयशी: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() अपयशी: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "जà¥à¤³à¤µà¤£à¥€ अपयशी: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() अपयशी: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() अपयशी: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "संकेत पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤à¤¾à¤²à¥‡, बाहेर पडत आहे.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "विलंब पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "वेळ: %0.3f sec; विलंब: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() अपयशी: %s\n"  #: ../src/utils/pacat.c:605 @@ -1531,34 +1393,34 @@ msgstr ""  "libpulse %s शी कंपाई केले\n"  "libpulse %s शी लिंक केले\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "अवैध वाहिनी नकाशा '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "अवैध पà¥à¤¨à¥à¤¹ सॅमà¥à¤ªà¤² पदà¥à¤§à¤¤ '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "अवैध वाहिनी नकाशा '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "अवैध विलंब संयोजना '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "अवैध कारà¥à¤¯ वेळ संयोजना '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "अवैध पà¥à¤¨à¥à¤¹ सॅमà¥à¤ªà¤² पदà¥à¤§à¤¤ '%s'."  #: ../src/utils/pacat.c:878 @@ -1567,60 +1429,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "अवैध सॅमà¥à¤ªà¤² संयोजना\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "खूप जासà¥à¤¤ बाब.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "आवाज फाइल उघडणà¥à¤¯à¤¾à¤¸ अपयशी.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "वाहिनी नकाशा सॅमà¥à¤ªà¤² संयोजनाशी जà¥à¤³à¤¤ नाही\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "%s सà¥à¤Ÿà¥à¤°à¥€à¤® सॅमà¥à¤ªà¤² संयोजना '%s' शी उघडत आहे.\n"  #: ../src/utils/pacat.c:1006 @@ -1631,35 +1499,34 @@ msgstr "रेकॉरà¥à¤¡à¥€à¤‚ग"  msgid "playback"  msgstr "पà¥à¤²à¥‡à¤¬à¥…क" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() अपयशी.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() अपयशी.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() अपयशी.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() अपयशी: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() अपयशी.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() अपयशी.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() अपयशी.\n"  #: ../src/utils/pasuspender.c:81 @@ -1687,6 +1554,11 @@ msgstr "पà¥à¤¨à¥à¤¹à¤¾ चालू करणà¥à¤¯à¤¾à¤¸ अपयशी: %  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "सावधानता: आवाज सरà¥à¤µà¤° सà¥à¤¥à¤¾à¤¨à¥€à¤¯ नाही, ससà¥à¤ªà¥‡à¤‚ड करत नाही.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "जà¥à¤³à¤µà¤£à¥€ अपयशी: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1727,6 +1599,21 @@ msgstr ""  "libpulse %s शी कंपाई केले\n"  "libpulse %s शी लिंक केले\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() अपयशी.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() अपयशी.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() अपयशी.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2141,6 +2028,11 @@ msgstr ""  "libpulse %s सह कंपाईल केले\n"  "libpulse %s सह जà¥à¤³à¤²à¥‡\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "अवैध वाहिनी नकाशा '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "कृपया दाखल करणà¥à¤¯à¤¾à¤œà¥‹à¤—ी तातà¥à¤ªà¥‚रà¥à¤¤à¥€ फाइल निशà¥à¤šà¤¿à¤¤ करा\n" @@ -2149,6 +2041,11 @@ msgstr "कृपया दाखल करणà¥à¤¯à¤¾à¤œà¥‹à¤—ी तातॠ msgid "Failed to open sound file.\n"  msgstr "आवाज फाइल उघडणà¥à¤¯à¤¾à¤¸ अपयशी.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "सॅमà¥à¤ªà¤² माहिती पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤¸ अपयशी: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2212,11 +2109,6 @@ msgstr "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ कारà¥à¤¡ नाव/निरà¥à¤¦à¥‡à¤¶  msgid "No valid command specified.\n"  msgstr "वैध आदेश निशà¥à¤šà¤¿à¤¤ केले नाही.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() अपयशी: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2333,11 +2225,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn कà¥à¤²à¥‚प करीता पà¥à¤°à¤µà¥‡à¤¶ पà¥à¤°à¤¾à¤ªà¥à¤¯ अशकà¥à¤¯." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2352,7 +2244,7 @@ msgstr ""  "POLLOUT दà¥à¤µà¤¾à¤°à¥‡ सजà¥à¤œ होणे शकà¥à¤¯ आहे -- तरी परसà¥à¤ªà¤° snd_pcm_avail() ने 0 पूरविले किंवा इतर "  "मूलà¥à¤¯ < min_avail असावे." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2368,15 +2260,15 @@ msgstr ""  "मूलà¥à¤¯ < min_avail असावे."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "बंद करा" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "High Fidelity Playback (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telephony Duplex (HSP/HFP)" @@ -2384,6 +2276,130 @@ msgstr "Telephony Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio आवाज सरà¥à¤µà¤°" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ बसशी जà¥à¤³à¤µà¤£à¥€ करणà¥à¤¯à¤¾à¤¸ अशकà¥à¤¯: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID पासून कॉलर पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "कॉलर ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK सतà¥à¤° पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अपयशी." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "सतà¥à¤° ऑबजेकà¥à¤Ÿ वरील UID निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction वाटप करणे अशकà¥à¤¯." + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id निशà¥à¤šà¤¿à¤¤ करणे अशकà¥à¤¯" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext वाटप करणे अशकà¥à¤¯." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext पà¥à¤°à¤¾à¤°à¤‚ठकरणे अशकà¥à¤¯: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "कॉलर अधिकृत आहे की नाही हे ओळखणे शकà¥à¤¯ नाही: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करणे अशकà¥à¤¯: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ने '%s' सह पà¥à¤°à¤¤à¤¿à¤¸à¤¾à¤¦ दिला" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "PulseAudio डिमन करीता उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• (नकारातà¥à¤®à¤• Unix nice सà¥à¤¤à¤°)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio डिमन करीता रियल-टाइम वेळपतà¥à¤°à¤•" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€ करार PulseAudio ला रियल-टाइम वेळपतà¥à¤°à¤• पà¥à¤°à¤¾à¤ªà¥à¤¤ करणà¥à¤¯à¤¾à¤ªà¤¾à¤¸à¥‚न रोखते." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() अपयशी: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() अपयशी: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• करीता परवानगी देते." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "आपण गट '%s' अंतरà¥à¤—त आहोत, रियल-टाईम वेळपतà¥à¤°à¤• करीता परवानगी देते." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit आपलà¥à¤¯à¤¾à¤²à¤¾ acquire-high-priority परवानगी देतो." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit acquire-high-priority परवानगी नकारतो." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time परवानगी पà¥à¤°à¤µà¤¿à¤¤à¥‹." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time परवानगी नकारतो." + +#~ 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 "" +#~ "SUID रूटला कॉल केले व वासà¥à¤¤à¤µà¤¿à¤•-वेळ व/किंवा संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• " +#~ "विनंतीकृत केले. तरी, आमचà¥à¤¯à¤¾à¤•डे आवशà¥à¤¯à¤• परवानगी नाही:\n" +#~ "आमà¥à¤¹à¥€ गट '%s' अंतरà¥à¤—त नाही, PolicyKit ने विनंतीकृत परवानगी देणà¥à¤¯à¤¾à¤¸ नकार दिला व " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढविणे आवशà¥à¤¯à¤• आहे.\n" +#~ "रियल-टाइम/उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करणà¥à¤¯à¤¾à¤•रीता कृपयायोगà¥à¤¯ PolicyKit " +#~ "परवानगी पà¥à¤°à¤¾à¤ªà¥à¤¤ करा, किंवा '%s' चे सदसà¥à¤¯ बनवा, किंवा या वापरकरà¥à¤¤à¤¾ " +#~ "करीताRLIMIT_NICE/RLIMIT_RTPRIO सà¥à¤¤à¥à¤°à¥‹à¤¤ मरà¥à¤¯à¤¾à¤¦à¤¾ वाढवा." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "संयोजना अंतरà¥à¤—त उचà¥à¤š-पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯à¤•à¥à¤°à¤® वेळपतà¥à¤°à¤• कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ केले करार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•ारà¥à¤¯ नाही." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ RLIMIT_RTPRIO वाढवले" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO अपयशी: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE करीता पà¥à¤°à¤¯à¤¤à¥à¤¨ बंद केले" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "संयोजना अंतरà¥à¤—त रियल-टाईम वेळपतà¥à¤° कारà¥à¤¯à¤¾à¤¨à¥à¤µà¥€à¤¤ करत आहे परंतॠकरार दà¥à¤µà¤¾à¤°à¥‡ सà¥à¤µà¥€à¤•ारà¥à¤¯ नाही." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "कà¥à¤·à¤®à¤¤à¤¾ यशसà¥à¤µà¥€à¤°à¤¿à¤¤à¥à¤¯à¤¾ CAP_SYS_NICE करीता मरà¥à¤¯à¤¾à¤¦à¥€à¤¤ केले." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() अपयशी.\n" +  #~ msgid "Analog Mono"  #~ msgstr "à¤à¤¨à¤²à¥‰à¤— मोनो" @@ -9,7 +9,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-15 21:04+0200\n"  "Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"  "Language-Team: Dutch <nl@li.org>\n" @@ -17,7 +17,12 @@ msgstr ""  "Content-Type: text/plain; charset=UTF-8\n"  "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -30,7 +35,7 @@ msgstr ""  "Waarschijnlijk is dit een bug in de ALSA driver '%s'. Rapporteer dit "  "probleem a.u.b. aan de ALSA ontwikkelaars." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -43,7 +48,7 @@ msgstr ""  "Waarschijnlijk is  dit een bug in de ALSA driver '%s'. Rapporteer dit "  "probleem a.u.b. aan de ALSA ontwikkelaars." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -69,7 +74,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Intern geluid" @@ -89,220 +94,92 @@ msgstr "Kon die nieuwe dl lader niet toekennen."  msgid "Failed to add bind-now-loader."  msgstr "Kon bind-now-loader niet toevoegen." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Kan niet verbinden met systeem bus: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Kan geen bezoeker krijgen van PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Kan UID niet instellen op caller object." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Kon geen CK sessie krijgen." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Kan UID niet instellen op sessie object." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Kan PolKitAction niet toekennen." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Kan action_id niet instellen" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Kan PolKitContext niet toekennen." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Kan PolKitContext niet intialiseren: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Kon niet bepalen of bezoeker gemachtigd is: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Kan geen authorisatie krijgen: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit antwoordde met '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Ontving signaal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Afsluiten." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Kon gebruiker '%s' niet vinden." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Kon groep '%s' niet vinden." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Gebruiker '%s' (UID %lu) en groep '%s' (GID %lu) gevonden." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID van gebruiker '%s' en van groep '%s' passen niet bij elkaar." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Persoonlijke map van gebruiker '%s' is niet '%s', negeer het." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Aanmaken van '%s': %s mislukte" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Veranderen van groeps lijst: '%s' mislukte" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Veranderen van GID: %s mislukte" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Veranderen van UID: %s mislukte" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Root rechten met succes laten vervallen." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Systeem brede mode wordt op dit platform niet ondersteund." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) mislukte: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Analyseren van de commandoregel mislukte." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "Wij zijn in de groep '%s', wat plannen met hoge prioriteit toestaat." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "Wij zijn in de groep '%s', war real-time planning toestaat." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit kent ons acquire-high-priority rechten toe." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit weigert ons acquire-high-priority rechten." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit kent ons acquire-real-time rechten toe." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit weigert ons acquire-real-time rechten." - -#: ../src/daemon/main.c:560 -#, 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 "" -"Aangeroepen met SUID root en real-time en/of high-priority inplannen was " -"verzocht in de configuratie. Echter de nodige rechten ontbreken:\n" -"We zijn niet in groep '%s', PolicyKit weigert om ons de gevraagde rechten te " -"geven en we hebben geen rect om de RLIMIT_NICE/RLIMIT_RTPRIO limieten te " -"verhogen.\n" -"Voor het aanzetten van real-time/high-priority inplannen mort je juiste " -"PolicyKit privileges hebben, of lid van '%s\" worden, of de RLIMIT_NICE/" -"RLIMIT_RTPRIO limieten voor deze gebruiker verhogen." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Hoge prioriteit inplannen is aangezet in de configuratie maar niet " -"toegestaan door de richtlijnen." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO met succes verhoogd" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO mislukte: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Opgeven CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Real-time inplannen is aangezet in de configuratie maar niet toegestaan door " -"de richtlijnen." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Daemon draait niet" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Daemon draait met PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Afschieten mislukt van daemon: '%s'" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -310,151 +187,151 @@ msgstr ""  "Dit programma is niet bedoeld om als root gedraaid te worden (behalve als --"  "system is opgegeven)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root rechten vereisd" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start wordt niet ondersteund voor systeem instances" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "Draaiend in systeem mode, maar --disallow-exit is niet gezet!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "Draaiend in systeem mode, maar --disallow-module-loading is niet gezet!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "Draaiend in systeem mode, geforceerd uitzetten van SHM mode!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "Draaiend in systeem mode, geforceerd uitzetten van exit idle time!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Verkrijgen van stdio mislukte." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe mislukte: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() mislukte: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() mislukte: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Daemon opstarten mislukte." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Daemon met succes opgestart." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Dit is PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Compilatie host: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Compilatie CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Draaiend op host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPU's gevonden." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Pagina grootte is %lu bytes" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Gecompileerd met Valgrind ondersteuning: ja" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Gecompileerd met Valgrind ondersteuning: nee" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Draaiend in valgrind mode: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimaal gebouwd: ja" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimaak gebouwd: nee" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG gedefinieerd, alle verklaringen uitgezet." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH gedefinieerd, alleen snel pad verklaringen uitgezet." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Alle verklaringen aangezet." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Machine ID verkrijgen mislukte" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "Machine ID is: %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "Machine ID is: %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Gebruik van runtime map %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Verbruik van state map %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Draaiend in systeem mode: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -464,15 +341,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() mislukte." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Verse high-resolution timers beschikbaar! Smakelijk eten!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -480,27 +357,27 @@ msgstr ""  "Kerel, je kernel stinkt! De aanbeveling van de chef is vandaag Linux met "  "aangezette high-resolution timers!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() mislukte." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Initialiseren van de daemon mislukte." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Daemon opgestart zonder geladen modules, dat werkt niet." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Daemon opstarten is klaar." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Daemon afsluiten is begonnen." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Daemon is afgesloten." @@ -843,14 +720,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "" @@ -859,24 +732,6 @@ msgstr ""  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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1249,184 +1104,184 @@ msgstr ""  msgid "Failed to open configuration file '%s': %s"  msgstr "" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" -msgstr "" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s" +msgstr "Kon gebruiker '%s' niet vinden." -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained."  msgstr "" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server."  msgstr "" -#: ../src/utils/pacat.c:135 +#: ../src/utils/pacat.c:136  #, c-format -msgid "pa_stream_drain(): %s\n" +msgid "pa_stream_drain(): %s"  msgstr "" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s" +msgstr "read() mislukte: %s" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" -msgstr "" +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s" +msgstr "read() mislukte: %s" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created."  msgstr "" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -msgstr "" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s" +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "" -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +msgid "Using sample spec '%s', channel map '%s'."  msgstr "" -#: ../src/utils/pacat.c:330 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Stream error: %s\n" +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s" +msgstr "Interne fout" + +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" +msgid "Stream device suspended.%s"  msgstr "" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" +msgid "Stream device resumed.%s"  msgstr "" -#: ../src/utils/pacat.c:350 +#: ../src/utils/pacat.c:355  #, c-format -msgid "Stream underrun.%s \n" +msgid "Stream underrun.%s"  msgstr "" -#: ../src/utils/pacat.c:357 +#: ../src/utils/pacat.c:362  #, c-format -msgid "Stream overrun.%s \n" +msgid "Stream overrun.%s"  msgstr "" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" +msgid "Stream started.%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "" -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" -msgstr "" - -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s" +msgstr "Verbinding geweigert" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s" +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s" +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" -msgstr "" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s" +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s" +msgstr "Verbinding geweigert"  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "" - -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +msgid "Got EOF."  msgstr "" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" -msgstr "" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s" +msgstr "read() mislukte: %s" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" -msgstr "" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting." +msgstr "Ontving signaal %s."  #: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s" +msgstr "Aanmaken van '%s': %s mislukte" + +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" -msgstr "" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s" +msgstr "pa_core_new() mislukte."  #: ../src/utils/pacat.c:605  #, c-format @@ -1496,34 +1351,34 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid channel map '%s'" +msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'" +msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'" +msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:878 @@ -1532,58 +1387,59 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "" +#, fuzzy +msgid "Invalid sample specification" +msgstr "Ongeldige resample methode '%s'."  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" -msgstr "" +#, fuzzy, c-format +msgid "open(): %s" +msgstr "fork(): %s"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" -msgstr "" +#, fuzzy, c-format +msgid "dup2(): %s" +msgstr "waitpid(): %s"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +msgid "Too many arguments."  msgstr ""  #: ../src/utils/pacat.c:930 -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr ""  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Analyseren van de commandoregel mislukte."  #: ../src/utils/pacat.c:956  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -msgid "Failed to determine sample specification from file.\n" +#: ../src/utils/pacat.c:959 +msgid "Failed to determine sample specification from file."  msgstr ""  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" +msgid "Warning: Failed to determine channel map from file."  msgstr ""  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +msgid "Channel map doesn't match sample specification"  msgstr ""  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" +msgid "Warning: failed to write channel map to file."  msgstr ""  #: ../src/utils/pacat.c:1005  #, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr ""  #: ../src/utils/pacat.c:1006 @@ -1594,36 +1450,35 @@ msgstr ""  msgid "playback"  msgstr "" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" -msgstr "" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed." +msgstr "pa_core_new() mislukte."  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" -msgstr "" +#, fuzzy +msgid "io_new() failed." +msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed." +msgstr "pa_core_new() mislukte." + +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122  #, c-format -msgid "pa_context_new() failed.\n" +msgid "pa_context_connect() failed: %s"  msgstr "" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed."  msgstr "pa_core_new() mislukte." -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "" - -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" -msgstr "" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed." +msgstr "pa_core_new() mislukte."  #: ../src/utils/pasuspender.c:81  #, c-format @@ -1650,6 +1505,11 @@ msgstr ""  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1680,6 +1540,21 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1969,6 +1844,11 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Ongeldige resample methode '%s'." +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "" @@ -1977,6 +1857,10 @@ msgstr ""  msgid "Failed to open sound file.\n"  msgstr "" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "" +  #: ../src/utils/pactl.c:951  msgid "Warning: Failed to determine sample specification from file.\n"  msgstr "" @@ -2033,11 +1917,6 @@ msgstr ""  msgid "No valid command specified.\n"  msgstr "" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2147,11 +2026,11 @@ msgstr ""  msgid "write(): %s"  msgstr "" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2162,7 +2041,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2174,15 +2053,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -2190,6 +2069,103 @@ msgstr ""  msgid "PulseAudio Sound Server"  msgstr "" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Kan niet verbinden met systeem bus: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Kan geen bezoeker krijgen van PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Kan UID niet instellen op caller object." + +#~ msgid "Failed to get CK session." +#~ msgstr "Kon geen CK sessie krijgen." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Kan UID niet instellen op sessie object." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Kan PolKitAction niet toekennen." + +#~ msgid "Cannot set action_id" +#~ msgstr "Kan action_id niet instellen" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Kan PolKitContext niet toekennen." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Kan PolKitContext niet intialiseren: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Kon niet bepalen of bezoeker gemachtigd is: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Kan geen authorisatie krijgen: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit antwoordde met '%s'" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Wij zijn in de groep '%s', wat plannen met hoge prioriteit toestaat." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Wij zijn in de groep '%s', war real-time planning toestaat." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit kent ons acquire-high-priority rechten toe." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit weigert ons acquire-high-priority rechten." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit kent ons acquire-real-time rechten toe." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit weigert ons acquire-real-time rechten." + +#~ 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 "" +#~ "Aangeroepen met SUID root en real-time en/of high-priority inplannen was " +#~ "verzocht in de configuratie. Echter de nodige rechten ontbreken:\n" +#~ "We zijn niet in groep '%s', PolicyKit weigert om ons de gevraagde rechten " +#~ "te geven en we hebben geen rect om de RLIMIT_NICE/RLIMIT_RTPRIO limieten " +#~ "te verhogen.\n" +#~ "Voor het aanzetten van real-time/high-priority inplannen mort je juiste " +#~ "PolicyKit privileges hebben, of lid van '%s\" worden, of de RLIMIT_NICE/" +#~ "RLIMIT_RTPRIO limieten voor deze gebruiker verhogen." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "Hoge prioriteit inplannen is aangezet in de configuratie maar niet " +#~ "toegestaan door de richtlijnen." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO met succes verhoogd" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO mislukte: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Opgeven CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "Real-time inplannen is aangezet in de configuratie maar niet toegestaan " +#~ "door de richtlijnen." +  #~ msgid "Analog Mono"  #~ msgstr "Analoog mono" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-09 13:16+0530\n"  "Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"  "Language-Team: Oriya <oriya-it@googlegroups.com>\n" @@ -23,7 +23,12 @@ msgstr ""  "\n"  "\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -36,7 +41,7 @@ msgstr ""  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "  "to the ALSA developers." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -49,7 +54,7 @@ msgstr ""  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "  "to the ALSA developers." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -75,7 +80,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "ଆà¬ààŸà¬¨àତରà€à¬£ ଧàà±à¬¨à¬¿" @@ -95,216 +100,92 @@ msgstr "ନà‚ତନ dl ଧାରକକà ବଣàଟନ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loaderକà ଯà‹à¬— à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "ତନàତàର ପରିପଥ ସହିତ ସଂଯà‹à¬— à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PIDରà କଲରକà à¬ªà¬¾à¬‡à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "କଲର ବସàତàà¬°à‡ UID କà ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK ଅଧିବà‡à¬¶à¬¨à¬•à à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "ଅଧିବà‡à¬¶à¬¨ ବସàତàà¬°à‡ UID ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitActionକà ବଣàଟନ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext ବଣàଟନ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContextକà ଆରମàà¬ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "କଲର ଅଧିକାର ପàରାପàତ କି ନàହଠତାହା ନିରàଦàଧାରଣ କରି ପାରିଲା ନାହିà¬: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth ପାଇଲା ନାହିà¬: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit '%s' ସହିତ ଉତàତର ଦà‡à¬‡à¬¥à¬¿à¬²à¬¾" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "ସଂକà‡à¬¤ %s ପାଇଲା।" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "ଉତàତà‡à¬œà¬¿à¬¤ କରàଅଛି।" -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "ଚାଳକ '%s' କà ଖà‹à¬œà¬¿à¬¬à¬¾à¬°à‡ ବିଫଳ।" -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "ସମà‚ହ '%s' କà ଖà‹à¬œà¬¿ à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "ଚାଳକ '%s' (UID %lu) à¬à¬¬à¬‚ ସମà‚ହ '%s' (GID %lu) ମିଳିଲା।" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "ଚାଳକ '%s' à¬à¬¬à¬‚ ସମà‚ହ '%s' ର GID ମà‡à¬³à¬–ାà¬à¬¨à¬¾à¬¹à¬¿à¬à¥¤" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "ଚାଳକ '%s' ର ମà‚ଖààŸ à¬¡à¬¿à¬°à‡à¬•àଟà‹à¬°à€à¬Ÿà¬¿ '%s' ନàହà¬, ଅଗàରାହààŸ à¬•à¬°àଅଛି।" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' ନିରàମାଣ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "ସମà‚ହ ତାଲିକାକà ପରିବରàତàତନ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID କà ପରିବରàତàତନ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID କà ପରିବରàତàତନ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "ମà‚ଖààŸ à¬šà¬¾à¬³à¬• ଅଧିକାରକà ସଫଳତାର ସହିତ ପକାଯାଇଛି।" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "ତନàତàà¬°à¬®àŸ à¬§à¬¾à¬°à¬¾ à¬à¬¹à¬¿ ପàଲାଟଫରàà¬®à¬°à‡ à¬…à¬¸à¬®à¬°àଥିତ।" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "ପାଠààŸ à¬¨à¬¿à¬°àଦàଦà‡à¬¶à¬•à ବିଶàଳà‡à¬·à¬£ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "à¬†à¬®à‡ à¬®à¬¾à¬¨à‡ à¬¶àରà‡à¬£à€ '%s'à¬°à‡ à¬…à¬›à, ଉଚàଚ-ପàରାଥମିକତା ଯà‹à¬œà¬¨à¬¾à¬•à ଅନàମତି ଦà‡à¬‡à¥¤" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "à¬†à¬®à‡ à¬®à¬¾à¬¨à‡ à¬¶àରà‡à¬£à€ '%s'à¬°à‡ à¬…à¬›à, ପàରକàƒà¬¤- à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾à¬•à ଅନàମତି ଦà‡à¬‡à¥¤" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit ଆମକà acquire-high-priority ଅଧିକାର ଦà‡à¬‡à¬¥à¬¾à¬à¥¤" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit acquire-high-priority ଅଧିକାରକà ବାରଣ କରିଥାà¬à¥¤" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit ଆମକà acquire-real-time ଅଧିକାର ଦà‡à¬‡à¬¥à¬¾à¬à¥¤" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time ଅଧିକାରକà ବାରଣ କରିଥାà¬à¥¤" - -#: ../src/daemon/main.c:560 -#, 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 "" -"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." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "ଉଚàଚ-ପàରାଥମିକ ଯà‹à¬œà¬¨à¬¾ ବିନààŸà¬¾à¬¸à¬°à‡ ସକàà¬°à¬¿àŸ à¬•à¬¿à¬¨àତà ନà€à¬¤à¬¿ ଦàà±à¬¾à¬°à¬¾ ଅନàମà‹à¬¦à¬¿à¬¤ ନàହà¬à¥¤" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO କà ସଫଳତାର ସହିତ ବàƒà¬¦àଧିକରିଥାà¬" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE କà ତààŸà¬¾à¬— କରିଥାà¬" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "Real-time ଯà‹à¬œà¬¨à¬¾ ବିନààŸà¬¾à¬¸ à¬«à¬¾à¬‡à¬²à¬°à‡ à¬¸à¬•àà¬°à¬¿àŸ à¬¹à‹à¬‡à¬¥à¬¾à¬ କିନàତà à¬¨à¬¿à¬¤à€ à¬¦àà±à¬¾à¬°à¬¾ ଅନàମà‹à¬¦à¬¿à¬¤ ନàହà¬à¥¤" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ଡà‡à¬®à¬¨ ଚାଲàନାହିà¬" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "ଡà‡à¬®à¬¨ PID %u ପରି ଚାଲàଅଛି" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ଡà‡à¬®à¬¨à¬•à ବନàଦ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -312,150 +193,150 @@ msgstr ""  "à¬à¬¹à¬¿ ପàରଗàରାମଟି ମà‚ଖààŸ à¬šà¬¾à¬³à¬• à¬à¬¾à¬¬à¬°à‡ ଚଲାଇବା ପାଇଠନିରàଦàଦିଷàଟ ହà‹à¬‡à¬¨à¬¾à¬¹à¬¿à¬ (unless --system is "  "specified)।" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "ମà‚ଖààŸ à¬šà¬¾à¬³à¬• ଅଧିକାର ଆବଶààŸà¬•।" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start ତନàତàର ସàଥିତି ପାଇଠସମରàଥିତ ନàହà¬à¥¤" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "ତନàତàର à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି, କିନàତà --disallow-exit କà ସà‡à¬Ÿ କରାଯାଇନାହିà¬!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "ତନàତàର à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି, କିନàତà --disallow-module-loading କà ସà‡à¬Ÿ କରାଯାଇନାହିà¬!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "ତନàତàର à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି, SHM ଧାରାକà ବାଧàଯତାମàଳକ à¬à¬¾à¬¬à¬°à‡ ନିଷàକàà¬°à¬¿àŸ à¬•à¬°à¬¿à¬¥à¬¾à¬!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "ତନàତàର à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି, ପàରସàଥାନ ସàଥିର ସମàŸà¬•à ବାଧàଯତାମàଳକ à¬à¬¾à¬¬à¬°à‡ ନିଷàକàà¬°à¬¿àŸ à¬•à¬°à¬¿à¬¥à¬¾à¬!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio କà ଅଧିକାର à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "ପାଇପ ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ଡà‡à¬®à¬¨ ଆରମàଠବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "ଡà‡à¬®à¬¨ ଆରମàଠସଫଳ ହà‹à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "à¬à¬¹à¬¾ ହà‡à¬‰à¬›à¬¿ PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "ସଂକଳନ ଆଧାର: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "ସଂକଳନ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "à¬†à¬§à¬¾à¬°à¬°à‡ à¬šà¬¾à¬²àଅଛି: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs ମିଳିଛି।" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "ପàƒà¬·àଠା ଆକାରଟି ହà‡à¬‰à¬›à¬¿ %lu ବାଇଟ" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind ସମରàଥନ ସହିତ ସଂକଳନ ହà‹à¬‡à¬›à¬¿: yes" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind ସମରàଥନ ସହିତ ସଂକଳନ ହà‹à¬‡à¬›à¬¿: no" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "ଉପଯàକàତ ନିରàମାଣ: yes" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "ଉପଯàକàତ ନିରàମାଣ: no" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG କà ବààŸà¬¾à¬–ààŸà¬¾ କରାଯାଇଛି, ସମସàତ ନିଶàଚàŸà¬•à ନିଷàକàà¬°à¬¿àŸ à¬•à¬°à¬¾à¬¯à¬¾à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH କà ବààŸà¬¾à¬–ààŸà¬¾ କରାଯାଇଛି, କà‡à¬¬à¬³ ତà€à¬¬àର ପଥ ନିଶàଚàŸà¬•à ନିଷàକàà¬°à¬¿àŸ à¬•à¬°à¬¾à¬¯à¬¾à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "ସମସàତ ନିଶàଚàŸà¬•à ସକàà¬°à¬¿àŸ à¬•à¬°à¬¾à¬¯à¬¾à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "ଯନàତàର ID à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "ଯନàତàର ID ଟି ହà‡à¬‰à¬›à¬¿ %s।" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "ଯନàତàର ID ଟି ହà‡à¬‰à¬›à¬¿ %s।" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "ପàରଚଳିତ ଡିରà‡à¬•àଟà‹à¬°à€ %s କà ବààŸà¬¬à¬¹à¬¾à¬° କରàଅଛି।" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "ସàଥିତି ଡିରà‡à¬•àଟà‹à¬°à€ %s କà ବààŸà¬¬à¬¹à¬¾à¬° କରି।" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "ତନàତàର à¬§à¬¾à¬°à¬¾à¬°à‡ à¬šà¬¾à¬²àଅଛି: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -465,15 +346,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ସତà‡à¬œ ଉଚàଚ-ବିà¬à‡à¬¦à¬¨ à¬¸à¬®àŸ à¬®à¬¾à¬ªà¬• ଉପଲବàଧ! Bon appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -481,27 +362,27 @@ msgstr ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ଡà‡à¬®à¬¨à¬•à ଆରମàà¬ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "ଧାରଣ ହà‹à¬‡à¬¥à¬¿à¬¬à¬¾ à¬à¬•କାଂଶଗàଡ଼ିକ ବିନା ଡà‡à¬®à¬¨ ଆରମàଠହà‹à¬‡à¬›à¬¿, କାରàଯààŸ à¬•à¬°à¬¿à¬¬à¬¾à¬•à ବାରଣ କରàଅଛି।" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ଡà‡à¬®à¬¨ ଆରମàଠସମàପà‚ରàଣàଣ ହà‹à¬‡à¬›à¬¿à¥¤" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ଡà‡à¬®à¬¨ ବନàଦକà ଆରମàଠକରାଯାଇଛି।" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ଡà‡à¬®à¬¨à¬•à ସମାପàତ କରାଯାଇଛି।" @@ -835,14 +716,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### ବିନààŸà¬¾à¬¸ ଫାଇଲରà ପଢ଼ନàତà: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "ମà‚ଖààŸ à¬šà¬¾à¬³à¬• ଅଧିକାରଗàଡ଼ିକà ବାତିଲ କରàଅଛି।" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE କà ସà€à¬®à¬¿à¬¤ କàଷମତା ସଫଳତାର ସହିତ ଦିଆହà‹à¬‡à¬›à¬¿à¥¤" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio ଧàà±à¬¨à¬¿ ତନàତàର" @@ -851,24 +728,6 @@ msgstr "PulseAudio ଧàà±à¬¨à¬¿ ତନàତàର"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio ଧàà±à¬¨à¬¿ ତନàତàରକà ଆରମàଠକରନàତà" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio ଡà‡à¬®à¬¨ ପାଇଠଉଚàଚ-ପàରାଥମିକତା ଯà‹à¬œà¬¨à¬¾ (ଋଣାତàମକ Unix ସàନàଦର ସàତର)" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio ଡà‡à¬®à¬¨ ପାଇଠପàରକàƒà¬¤-à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "ତନàତàର ନà€à¬¤à¬¿ PulseAudio କà ଉଚàଚ-ପàରାଥମିକ ଯà‹à¬œà¬¨à¬¾à¬•à ଗàରହଣ କରିବାରà ଅଟକାଇଥାà¬à¥¤" - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "ତନàତàର ନà€à¬¤à¬¿ PulseAudio କà ପàରକàƒà¬¤-à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾à¬•à ଗàରହଣ କରିବାରà ଅଟକାଇଥାà¬à¥¤" -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "ମà‹à¬¨à‹" @@ -1241,183 +1100,187 @@ msgstr "କàକି ତଥààŸà¬•à ବିଶàଳà‡à¬·à¬£ କରିବା  msgid "Failed to open configuration file '%s': %s"  msgstr "ବିନààŸà¬¾à¬¸ ଫାଇଲ '%s' କà ଖà‹à¬²à¬¿à¬¬à¬¾à¬°à‡ ବିଫଳ: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "କàŒà¬£à¬¸à¬¿ କàକି ଧାରଣ କରାଯାଇନାହିà¬à¥¤ ତାହା ବିନା ସଂଯà‹à¬— କରିବାକà ପàରଚà‡à¬·àଚା କରàଅଛି।" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "ଅଜଣା ଅନàଲଗàନ '%s' ପାଇଠସନàଦà‡à¬¶ ଗàରହଣ କରିଅଛି" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "ଧାରାକà ବାହାର à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "ପଛଚଲା ଧାରାକà ବାହାର କରାଯାଇଛି।\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "ସରàà¬à¬° ପàରତି ଡàରà‡à¬¨à¬¿à¬™àଗ ସଂଯà‹à¬—।\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "ଧାରା ସଫଳତାର ସହିତ ନିରàମାଣ ହà‹à¬‡à¬›à¬¿à¥¤\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "ବଫର ମà‡à¬Ÿàରିକସ: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "ବଫର ମà‡à¬Ÿàରିକସ: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "ନମàନା spec '%s' ବààŸà¬¬à¬¹à¬¾à¬° କରି, ଚààŸà¬¾à¬¨à‡à¬² ମààŸà¬¾à¬ª '%s'।\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "ଉପକରଣ %s ସହିତ ସଂଯàକàତ ହà‹à¬‡à¬›à¬¿ (%u, %ssuspended)।\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ଧାରା ତàରàଟି: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "ଧାରା ଉପକରଣ ନିଲମàବିତ ହà‹à¬‡à¬›à¬¿à¥¤%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "ଧାରା ଉପକରଣ ପàନଃ ଚଳନ ହà‹à¬‡à¬›à¬¿à¥¤%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ଧାରା underrun.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ଧାରା overrun.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "ଧାରା ଆରମàଠହà‹à¬‡à¬›à¬¿à¥¤%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "ଧାରା ଉପକରଣ %sକà ଗତି କରିଛି (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "not " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "ଧାରା ବଫର ଗàଣଗàଡ଼ିକ ପରିବରàତàତନ ହà‹à¬‡à¬›à¬¿à¥¤%s\n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "ସଂଯà‹à¬— ସàଥାପିତ ହà‹à¬‡à¬›à¬¿à¥¤%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "ସଂଯà‹à¬— ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF ପାଇଅଛି।\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF ପାଇଅଛି।\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "ସଂକà‡à¬¤ ପାଇଲା, ପàରସàଥାନ କରàଅଛି।\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "ବିଳମàବତା à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "ସମàŸ: %0.3f sec; ବିଳମàବତା: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n"  #: ../src/utils/pacat.c:605 @@ -1536,34 +1399,34 @@ msgstr ""  "libpulse %s ସହିତ ସଂକଳିତ\n"  "libpulse %s ସହିତ ସଂଯàକàତ\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "ଅବàˆà¬§ ଚààŸà¬¾à¬¨à‡à¬² ମààŸà¬¾à¬ª '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "ଅବàˆà¬§ ପàନଃ ପàରତିଦରàଶନ ଧାରା '%s'।"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "ଅବàˆà¬§ ଚààŸà¬¾à¬¨à‡à¬² ମààŸà¬¾à¬ª '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "ଅବàˆà¬§ ବିଳମàବତା ବିଶà‡à¬· ଲକàଷଣ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "ଅବàˆà¬§ ପଦàଧତି à¬¸à¬®àŸ à¬¬à¬¿à¬¶à‡à¬· ଲକàଷଣ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "ଅବàˆà¬§ ପàନଃ ପàରତିଦରàଶନ ଧାରା '%s'।"  #: ../src/utils/pacat.c:878 @@ -1572,60 +1435,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "ଅବàˆà¬§ ନମàନା ବିଶà‡à¬· ଲକàଷଣ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "ଅତààŸà¬§à¬¿à¬• ସàà±à¬¤à¬¨àତàରଚର।\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "ନମàନା ସà‚ଚନା à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "ଧàà±à¬¨à¬¿ ଫାଇଲ ଖà‹à¬²à¬¿à¬¬à¬¾à¬°à‡ ବିଫଳ।\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "ନମàନା ବିଶà‡à¬· ଲକàଷଣ '%s' ସହିତ ଗà‹à¬Ÿà¬¿à¬ %s ଧାରାକà ଖà‹à¬²àଅଛି।\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "ନମàନା ସà‚ଚନା à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "ନମàନା ବିଶà‡à¬· ଲକàଷଣ '%s' ସହିତ ଗà‹à¬Ÿà¬¿à¬ %s ଧାରାକà ଖà‹à¬²àଅଛି।\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "ନମàନା ବିଶà‡à¬· ଲକàଷଣ ସହିତ ଚààŸà¬¾à¬¨à‡à¬² ମààŸà¬¾à¬ª ମà‡à¬³ ଖାଉନାହିà¬\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "ନମàନା ବିଶà‡à¬· ଲକàଷଣ '%s' ସହିତ ଗà‹à¬Ÿà¬¿à¬ %s ଧାରାକà ଖà‹à¬²àଅଛି।\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "ନମàନା ବିଶà‡à¬· ଲକàଷଣ '%s' ସହିତ ଗà‹à¬Ÿà¬¿à¬ %s ଧାରାକà ଖà‹à¬²àଅଛି।\n"  #: ../src/utils/pacat.c:1006 @@ -1636,35 +1505,34 @@ msgstr "ଅନàଲିପି କରàଅଛି"  msgid "playback"  msgstr "ପଛଚଲା" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n"  #: ../src/utils/pasuspender.c:81 @@ -1692,6 +1560,11 @@ msgstr "ପàନଃ ଚଳନ à¬•à¬°à¬¿à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "WARNING: ଧàà±à¬¨à¬¿ ସରàà¬à¬°à¬Ÿà¬¿ ସàଥାନà€àŸ ନàହà¬, ନିଲମàବିତ କରàନାହିà¬à¥¤\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "ସଂଯà‹à¬— ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1731,6 +1604,21 @@ msgstr ""  "libpulse %s ସହିତ ସଂକଳିତ\n"  "libpulse %s ସହିତ ସଂଯàକàତ\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2145,6 +2033,11 @@ msgstr ""  "libpulse %s ସହିତ ସଂକଳିତ\n"  "libpulse %s ସହିତ ସଂଯàକàତ\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "ଅବàˆà¬§ ଚààŸà¬¾à¬¨à‡à¬² ମààŸà¬¾à¬ª '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "ଧାରଣ କରିବା ପାଇଠଗà‹à¬Ÿà¬¿à¬ ନàମନା ଫାଇଲ ଉଲàଲà‡à¬– କରନàତà\n" @@ -2153,6 +2046,11 @@ msgstr "ଧାରଣ କରିବା ପାଇଠଗà‹à¬Ÿà¬¿à¬ ନàମନଠ msgid "Failed to open sound file.\n"  msgstr "ଧàà±à¬¨à¬¿ ଫାଇଲ ଖà‹à¬²à¬¿à¬¬à¬¾à¬°à‡ ବିଫଳ।\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "ନମàନା ସà‚ଚନା à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2216,11 +2114,6 @@ msgstr "ଆପଣଙàକà ଗà‹à¬Ÿà¬¿à¬ କାରàଡ ନାମ/à¬…à¬¨à  msgid "No valid command specified.\n"  msgstr "କàŒà¬£à¬¸à¬¿ ବàˆà¬§ ନିରàଦàଦà‡à¬¶ ଉଲàଲà‡à¬– କରାଯାଇନାହିà¬à¥¤\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2336,11 +2229,11 @@ msgstr "ପଢ଼ନàତà(): %s"  msgid "write(): %s"  msgstr "ଲà‡à¬–ନàତà(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn ଅପରିବରàତàତନà€àŸà¬¤à¬¾à¬•à ଅà¬à¬¿à¬—ମààŸ à¬•à¬°à¬¿à¬¹à‡à¬‰ ନାହିà¬" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2357,7 +2250,7 @@ msgstr ""  "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "  "returned 0 or another value < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2375,15 +2268,15 @@ msgstr ""  "returned 0 or another value < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "ଅଫ" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "ଉଚàଚ ଫିଡିଲିଟି ପଛଚଲା (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "ଟà‡à¬²à¬¿à¬«à‹à¬¨à¬¿ ଡààŸàପàଲà‡à¬•àସ (HSP/HFP)" @@ -2391,6 +2284,128 @@ msgstr "ଟà‡à¬²à¬¿à¬«à‹à¬¨à¬¿ ଡààŸàପàଲà‡à¬•àସ (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio ଧàà±à¬¨à¬¿ ସରàà¬à¬°" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "ତନàତàର ପରିପଥ ସହିତ ସଂଯà‹à¬— à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PIDରà କଲରକà à¬ªà¬¾à¬‡à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "କଲର ବସàତàà¬°à‡ UID କà ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" + +#~ msgid "Failed to get CK session." +#~ msgstr "CK ଅଧିବà‡à¬¶à¬¨à¬•à à¬ªà¬¾à¬‡à¬¬à¬¾à¬°à‡ à¬¬à¬¿à¬«à¬³à¥¤" + +#~ msgid "Cannot set UID on session object." +#~ msgstr "ଅଧିବà‡à¬¶à¬¨ ବସàତàà¬°à‡ UID ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitActionକà ବଣàଟନ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id ସà‡à¬Ÿ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext ବଣàଟନ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬à¥¤" + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContextକà ଆରମàà¬ à¬•à¬°à¬¿à¬ªà¬¾à¬°à¬¿à¬¬à‡ à¬¨à¬¾à¬¹à¬¿à¬: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "କଲର ଅଧିକାର ପàରାପàତ କି ନàହଠତାହା ନିରàଦàଧାରଣ କରି ପାରିଲା ନାହିà¬: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth ପାଇଲା ନାହିà¬: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit '%s' ସହିତ ଉତàତର ଦà‡à¬‡à¬¥à¬¿à¬²à¬¾" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "PulseAudio ଡà‡à¬®à¬¨ ପାଇଠଉଚàଚ-ପàରାଥମିକତା ଯà‹à¬œà¬¨à¬¾ (ଋଣାତàମକ Unix ସàନàଦର ସàତର)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio ଡà‡à¬®à¬¨ ପାଇଠପàରକàƒà¬¤-à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "ତନàତàର ନà€à¬¤à¬¿ PulseAudio କà ଉଚàଚ-ପàରାଥମିକ ଯà‹à¬œà¬¨à¬¾à¬•à ଗàରହଣ କରିବାରà ଅଟକାଇଥାà¬à¥¤" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "ତନàତàର ନà€à¬¤à¬¿ PulseAudio କà ପàରକàƒà¬¤-à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾à¬•à ଗàରହଣ କରିବାରà ଅଟକାଇଥାà¬à¥¤" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "à¬†à¬®à‡ à¬®à¬¾à¬¨à‡ à¬¶àରà‡à¬£à€ '%s'à¬°à‡ à¬…à¬›à, ଉଚàଚ-ପàରାଥମିକତା ଯà‹à¬œà¬¨à¬¾à¬•à ଅନàମତି ଦà‡à¬‡à¥¤" + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "à¬†à¬®à‡ à¬®à¬¾à¬¨à‡ à¬¶àରà‡à¬£à€ '%s'à¬°à‡ à¬…à¬›à, ପàରକàƒà¬¤- à¬¸à¬®àŸ à¬¯à‹à¬œà¬¨à¬¾à¬•à ଅନàମତି ଦà‡à¬‡à¥¤" + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit ଆମକà acquire-high-priority ଅଧିକାର ଦà‡à¬‡à¬¥à¬¾à¬à¥¤" + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit acquire-high-priority ଅଧିକାରକà ବାରଣ କରିଥାà¬à¥¤" + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit ଆମକà acquire-real-time ଅଧିକାର ଦà‡à¬‡à¬¥à¬¾à¬à¥¤" + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time ଅଧିକାରକà ବାରଣ କରିଥାà¬à¥¤" + +#~ 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 "" +#~ "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." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "ଉଚàଚ-ପàରାଥମିକ ଯà‹à¬œà¬¨à¬¾ ବିନààŸà¬¾à¬¸à¬°à‡ ସକàà¬°à¬¿àŸ à¬•à¬¿à¬¨àତà ନà€à¬¤à¬¿ ଦàà±à¬¾à¬°à¬¾ ଅନàମà‹à¬¦à¬¿à¬¤ ନàହà¬à¥¤" + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO କà ସଫଳତାର ସହିତ ବàƒà¬¦àଧିକରିଥାà¬" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO ବିଫଳ ହà‹à¬‡à¬›à¬¿: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE କà ତààŸà¬¾à¬— କରିଥାà¬" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "Real-time ଯà‹à¬œà¬¨à¬¾ ବିନààŸà¬¾à¬¸ à¬«à¬¾à¬‡à¬²à¬°à‡ à¬¸à¬•àà¬°à¬¿àŸ à¬¹à‹à¬‡à¬¥à¬¾à¬ କିନàତà à¬¨à¬¿à¬¤à€ à¬¦àà±à¬¾à¬°à¬¾ ଅନàମà‹à¬¦à¬¿à¬¤ ନàହà¬à¥¤" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE କà ସà€à¬®à¬¿à¬¤ କàଷମତା ସଫଳତାର ସହିତ ଦିଆହà‹à¬‡à¬›à¬¿à¥¤" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() ବିଫଳ ହà‹à¬‡à¬›à¬¿à¥¤\n" +  #~ msgid "Analog Mono"  #~ msgstr "ଅନàରà‚ପ ମà‹à¬¨à‹" @@ -9,7 +9,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pa\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-06-06 07:38+0530\n"  "Last-Translator: A S Alam <aalam@users.sf.net>\n"  "Language-Team: American English <punjabi-users@lists.sf.net>\n" @@ -19,7 +19,12 @@ msgstr ""  "X-Generator: Lokalize 0.3\n"  "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -30,7 +35,7 @@ msgstr ""  "snd_pcm_avail() ਤੋਂ ਇੱਕ ਮà©à©±à¨² ਮਿਲਿਆ ਹੈ, ਜੋ ਬਹà©à¨¤ ਵੱਡਾ ਹੈ: %lu ਬਾਈਟ (%lu ms)।\n"  "ਇਹ ALSA ਡਰਾਈਵਰ '%s' ਵਿਚਲਾ ਬੱਗ ਲੱਗਦਾ ਹੈ। ਇਸ ਮà©à©±à¨¦à©‡ ਦੀ ALSA ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਰਿਪੋਰਟ ਦਿਓ ਜੀ।" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -41,7 +46,7 @@ msgstr ""  "snd_pcm_delay() ਤੋਂ ਇੱਕ ਮà©à©±à¨² ਮਿਲਿਆ ਹੈ, ਜੋ ਬਹà©à¨¤ ਵੱਡਾ ਹੈ: %li ਬਾਈਟ (%s%lu ms)।\n"  "ਇਹ ALSA ਡਰਾਈਵਰ '%s' ਵਿਚਲਾ ਬੱਗ ਲੱਗਦਾ ਹੈ। ਇਸ ਮà©à©±à¨¦à©‡ ਦੀ ALSA ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਰਿਪੋਰਟ ਦਿਓ ਜੀ।" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -65,7 +70,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "ਅੰਦਰੂਨੀ ਆਡੀਓ" @@ -85,365 +90,241 @@ msgstr "ਨਵਾਂ dl ਲੋਡਰ ਦੇਣ ਲਈ ਫੇਲà©à¨¹à¥¤"  msgid "Failed to add bind-now-loader."  msgstr "ਬਾਈਂਡ-ਨਾਓ-ਲੋਡਰ ਜੋੜਨ ਵਿੱਚ ਫੇਲà©à¨¹ ਹੋਇਆ।" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "ਸਿਸਟਮ ਬੱਸ ਨਾਲ ਜà©à©œà¨¨ ਨਹੀਂ ਸਕਿਆ: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID ਤੋਂ ਕਾਲਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "ਕਾਲਰ à¨à¨¬à¨œà©ˆà¨•ਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK ਸ਼ੈਸ਼ਨ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲ।" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "ਸ਼ੈਸ਼ਨ ਆਬਜੈਕਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction ਨਹੀਂ ਦੇ ਸਕਿਆ।" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext ਨੂੰ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ ਕੀ ਕਾਲਰ ਪਰਮਾਣਿਤ ਹੈ: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "ਪਰਮਾਣਕਿਤਾ ਨਹੀਂ ਲੈ ਸਕਦਾ: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit ਦੇ ਜਵਾਬ ਵਜੋਂ '%s' ਮਿਲਿਆ ਹੈ" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "%s ਸਿਗਨਲ ਮਿਲਿਆ ਹੈ।" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "'%s' ਯੂਜ਼ਰ ਲੱà¨à¨£ ਵਿੱਚ ਫੇਲà©à¨¹ ਹੋਇਆ ਹੈ।" -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "'%s' ਗਰà©à©±à¨ª ਲੱà¨à¨£ ਵਿੱਚ ਫੇਲ ਹੋਇਆ ਹੈ।" -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "ਯੂਜ਼ਰ '%s' (UID %lu) ਅਤੇ ਗਰà©à©±à¨ª '%s' (GID %lu) ਲੱà¨à©‡ ਹਨ।" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "ਯੂਜ਼ੂ '%s' ਅਤੇ ਗਰà©à©±à¨ª '%s' ਦਾ GID ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ।" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "ਯੂਜ਼ੂ '%s' ਦੀ ਘਰ ਡਾਇਰੈਕਟਰੀ '%s' ਨਹੀਂ, ਅਣਡਿੱਠਾ ਕਰ ਰਿਹਾ।" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' ਬਣਾਉਣ ਵਿੱਚ ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "ਗਰà©à©±à¨ª ਲਿਸਟ ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID ਬਦਲਣ ਲਈ ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "ਰੂਟ ਅਧਿਕਾਰ ਸਫਲਤਾਪੂਰਕ ਹਟਾਠਗà¨à¥¤" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਸਿਸਟਮ ਸੰਬੰਧੀ ਮੋਡ ਨੂੰ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) ਫੇਲà©à¨¹ ਹੋਇਆ: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "ਕਮਾਂਡ ਲਾਈਨ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit ਸਾਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit ਸਾਨੂੰ ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।" - -#: ../src/daemon/main.c:560 -#, 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 "" -"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." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "ਸੰਰਚਨਾ ਵਿੱਚ ਵਧੇਰੇ-ਤਰਜੀਹ ਯੋਗ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤੀ।" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਵਧਾਇਆ ਗਿਆ" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO ਫੇਲà©à¨¹: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE ਨੂੰ ਹਟਾ ਰਿਹਾ ਹੈ" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਨੂੰ ਸੰਰਚਨਾ ਵਿੱਚ ਯੋਗ ਕਰਨ ਨਾਲ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜੂਰ ਨਹੀਂ ਕੀਤੀ।" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "ਡੈਮਨ ਚੱਲ ਨਹੀਂ ਰਿਹਾ" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "ਡੈਮਨ PID %u ਤੌਰ ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ਡੈਮਨ ਖਤਮ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "ਇਹ ਪਰੋਗਰਾਮ ਰੂਟ ਦੇ ਤੌਰ ਤੇ ਚਲਾਉਣ ਲਈ ਨਹੀਂ ਹੈ (ਜਦੋਂ ਤੱਕ --system ਦਿੱਤਾ ਨਹੀਂ ਜਾਂਦਾ)।" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "ਰੂਟ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start ਨੂੰ ਸਿਸਟਮ ਮੌਕਿਆਂ ਲਈ ਸਹਿਯੋਗ ਨਹੀਂ ਹੈ।" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਪਰ --disallow-exit ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਪਰ --disallow-module-loading ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਜ਼ਬਰਦਸਤੀ SHM ਮੋਡ ਨੂੰ ਅਯੋਗ ਕਰ ਰਿਹਾ ਹੈ!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਜ਼ਬਰਦਸਤੀ idle ਟਾਈਲ ਬੰਦ ਨੂੰ ਅਯੋਗ ਕਰ ਰਿਹਾ ਹੈ!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "ਸਟੂਡੀਓ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe ਫੇਲà©à¨¹: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() ਫੇਲà©à¨¹ ਹੈ: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਫੇਲà©à¨¹ ਹੋਈ।" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਸਫ਼ਲ ਹੋਈ।" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "ਇਹ ਪਲਸਆਡੀਓ %s ਹੈ" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "ਕੰਪਾਈਲੇਸ਼ਨ ਹੋਸਟ: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "ਕੰਪਾਈਲੇਸ਼ਨ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "ਹੋਸਟ ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUs ਲੱà¨à©‡à¥¤" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "ਪੇਜ਼ ਸਾਈਜ਼ %lu ਬਾਈਟ ਹੈ" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind ਸਹਿਯੋਗ ਨਾਲ ਕੰਪਾਈਲ: ਹਾਂ" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind ਸਹਿਯੋਗ ਨਾਲ ਕੰਪਾਈਲ: ਨਹੀਂ" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Valgrind ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "ਓਪਟੀਮਾਈਜ਼ਡ ਬਿਲਡ: ਹਾਂ" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "ਓਪਟੀਮਾਈਜ਼ਡ ਬਿਲਡ: ਨਹੀਂ" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG ਪਰਿà¨à¨¾à¨¶à¨¤, ਸਠasserts ਅਯੋਗ ਹਨ।" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH ਪਰਿà¨à¨¾à¨¶à¨¤, ਸਿਰਫ ਫਾਸਟ ਪਾਥ asserts ਅਯੋਗ ਹਨ।" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "ਸਠasserts ਯੋਗ ਕੀਤੇ ਹਨ।" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "ਮਸ਼ੀਨ ID ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "ਮਸ਼ੀਨ ID %s ਹੈ।" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "ਮਸ਼ੀਨ ID %s ਹੈ।" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "ਰਨਟਾਈਮ ਡਾਇਰੈਕਟਰੀ %s ਦੀ ਵਰਤੋਂ।" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "ਸਟੇਟ ਡਾਇਰੈਕਟਰੀ %s ਦੀ ਵਰਤੋਂ।" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "ਸਿਸਟਮ ਮੋਡ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -453,42 +334,42 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() ਫੇਲà©à¨¹ ਹੈ।" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ਤਾਜ਼ੀ ਹਾਈ-ਰੈਜ਼ੋਲੂਸ਼ਨ ਟਾਈਮਰ ਉਪਲੱਬਧ ਹੈ! Bon appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr ""  "ਮਿੱਤਰਾ, ਤੇਰਾ ਕਰਨਲ ਪà©à¨°à¨¾à¨£à¨¾ ਹੈ! ਚੀਫ ਦੀ ਅੱਜ ਦੀ ਸਿਫਾਰਸ਼ ਹਾਈ-ਰੈਜ਼ੋਲੂਸ਼ਨ ਟਾਈਮਰ ਯੋਗ ਨਾਲ ਲੀਨਕਸ ਹੈ!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() ਫੇਲà©à¨¹ ਹੈ।" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ ਕਰਨ ਵਿੱਚ ਫੇਲà©à¨¹à¥¤" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਬਿਨਾਂ ਕਿਸੇ ਲੋਡ ਕੀਤੇ ਮੈਡਿਊਲ, ਕੰਮ ਕਰਨ ਤੋਂ ਰੋਕ ਰਿਹਾ ਹੈ।" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ਡੈਮਨ ਸ਼à©à¨°à©‚ਆਤੀ ਮà©à¨•ੰਮਲ।" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "ਡੈਮਨ ਬੰਦ ਕਰਨਾ ਸ਼à©à¨°à©‚ ਹੋ ਗਿਆ।" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "ਡੈਮਨ ਬੰਦ ਹੋ ਗਿਆ।" @@ -821,14 +702,10 @@ msgstr "ਦਿੱਤੇ ਡਿਫਾਲਟ ਚੈਨਲ ਮੈਪ ਦੀ à¨¦à¨¿à  msgid "### Read from configuration file: %s ###\n"  msgstr "### ਸੰਰਚਨਾ ਫਾਇਲ ਵਿੱਚੋਂ ਪੜਿਆ: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "ਰੂਟ ਅਧਿਕਾਰ ਹਟਾ ਰਿਹਾ ਹੈ।" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "CAP_SYS_NICE ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਸੀਮਿਤ ਸਮੱਰਥਾ।" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਸਿਸਟਮ" @@ -837,24 +714,6 @@ msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਸਿਸਟਮ"  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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "ਮੋਨੋ" @@ -1227,183 +1086,187 @@ msgstr "ਕੂਕੀ ਡਾਟਾ ਪਾਰਸ ਕਰਨ ਵਿੱਚ à¨«à©‡à¨²à  msgid "Failed to open configuration file '%s': %s"  msgstr "ਸੰਰਚਨਾ ਫਾਇਲ '%s' ਨੂੰ ਖੋਲà©à¨¹à¨£ ਵਿੱਚ ਫੇਲà©à¨¹: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "ਕੋਈ ਕੂਕੀ ਲੋਡ ਨਹੀਂ ਕੀਤੀ। ਇਸ ਤੋਂ ਬਿਨਾਂ ਕà©à¨¨à©ˆà¨•ਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "ਅਣਜਾਣੀ ਇਕਸਟੈਂਸ਼ਨ '%s' ਲਈ ਸà©à¨¨à©‡à¨¹à¨¾ ਮਿਲਿਆ ਹੈ" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "ਸਟਰੀਮ ਡਰੇਨ ਫੇਲà©à¨¹ ਹੋਇਆ: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "ਪਲੇਬੈਕ ਸਟਰੀਮ ਡਰੇਨ ਕੀਤੀ।\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "ਸਰਵਰ ਨਾਲ ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਡਰੇਨ ਹੋ ਰਿਹਾ ਹੈ।\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() ਫੇਲà©à¨¹ ਹੈ: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "ਸਟਰੀਮ ਸਫਲਤਾਪੂਰਕ ਬਣ ਗਈ ਹੈ।\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "ਸਧਾਰਨ spec '%s', ਚੈਨਲ ਮੈਪ '%s' ਦੀ ਵਰਤੋਂ।\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "%s ਜੰਤਰ ਨਾਲ ਕà©à¨¨à¨•ੈਟ ਕੀਤਾ (%u, %ssuspended)।\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ਸਟਰੀਮ ਗਲਤੀ: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "ਸਟਰੀਮ ਜੰਤਰ ਸਸਪੈਂਡ ਕੀਤਾ ਹੈ।%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "ਸਟਰੀਮ ਜੰਤਰ ਮà©à©œ-ਪà©à¨°à¨¾à¨ªà¨¤ ਕੀਤਾ।%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ਸਟਰੀਮ ਅੰਡਰਰਨ।%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ਸਟਰੀਮ ਓਵਰਰਨ।%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "ਸਟਰੀਮ ਸ਼à©à¨°à©‚ ਕੀਤੀ। %s\n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "ਸਟਰੀਮ ਨੂੰ ਜੰਤਰ %s ਤੋਂ ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ (%u, %ssuspended)।%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "ਨਹੀਂ " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "ਸਟਰੀਮ ਬਫਰ à¨à¨Ÿà¨°à©€à¨¬à¨¿à¨Šà¨Ÿ ਤਬਦੀਲ ਕੀਤੇ ਗà¨à¥¤%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਬਣ ਗਿਆ।%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਫੇਲ: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF ਮਿਲਿਆ।\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF ਮਿਲਿਆ।\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() ਫੇਲà©à¨¹ ਹੈ: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "ਸਿਗਨਲ ਮਿਲਿਆ, ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ।\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "ਵਕਫਾ ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਫੇਲ ਹੋਈ: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "ਸਮਾਂ: %0.3f ਸਕਿੰਟ; ਵਕਫਾ: %0.0f usec।  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() ਫੇਲà©à¨¹ ਹੈ: %s\n"  #: ../src/utils/pacat.c:605 @@ -1525,34 +1388,34 @@ msgstr ""  "libpulse %s ਦੇ ਕੰਪਾਇਲ\n"  "libpulse %s ਨਾਲ ਲਿੰਕ ਕੀਤਾ\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਚੈਨਲ ਮੈਪ '%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਰੀਸੈਂਪਲ ਢੰਗ '%s'।"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਚੈਨਲ ਮੈਪ '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਵਕਫਾ ਹਦਾਇਤ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਪਰੋਸੈੱਸ ਟਾਈਮ ਹਦਾਇਤ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਰੀਸੈਂਪਲ ਢੰਗ '%s'।"  #: ../src/utils/pacat.c:878 @@ -1561,60 +1424,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "ਅਢà©à©±à¨•ਵਾਂ ਸੈਂਪਲ ਹਦਾਇਤ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "ਬਹà©à¨¤ ਵੱਧ ਆਰਗੂਮੈਂਟ।\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "ਸਾਊਂਡ ਫਾਇਲ ਖੋਲà©à¨¹à¨£ ਲਈ ਫੇਲà©à¨¹ ਹੈ।\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "ਚੈਨਲ ਮੈਪ ਸੈਂਪਲ ਹਦਾਇਤ ਨਾਲ ਨਹੀਂ ਮਿਲਦਾ\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "ਇੱਕ %s ਸਟਰੀਮ ਨੂੰ ਸੈਂਪਲ ਹਦਾਇਤ '%s' ਨਾਲ ਖੋਲà©à¨¹à¨¿à¨† ਜਾ ਰਿਹਾ ਹੈ।\n"  #: ../src/utils/pacat.c:1006 @@ -1625,35 +1494,34 @@ msgstr "ਰਿਕਾਰਡਿੰਗ"  msgid "playback"  msgstr "ਪਲੇਅਬੈਕ" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() ਫੇਲà©à¨¹ ਹੈ।\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() ਫੇਲà©à¨¹ ਹੈ।\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() ਫੇਲà©à¨¹ ਹੈ।\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() ਫੇਲà©à¨¹ ਹੈ।\n"  #: ../src/utils/pasuspender.c:81 @@ -1681,6 +1549,11 @@ msgstr "ਮà©à©œ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਫੇਲ: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "ਚੇਤਾਵਨੀ: ਸਾਊਂਡ ਸਰਵਰ ਲੋਕਲ ਨਹੀਂ ਹੈ, ਸਸਪੈਂਡ ਨਹੀਂ ਹੋ ਰਿਹਾ।\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "ਕà©à¨¨à©ˆà¨•ਸ਼ਨ ਫੇਲ: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1721,6 +1594,21 @@ msgstr ""  "libpulse %s ਨਾਲ ਕੰਪਾਇਲ\n"  "libpulse %s ਨਾਲ ਲਿੰਕ\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() ਫੇਲà©à¨¹ ਹੈ।\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() ਫੇਲà©à¨¹ ਹੈ।\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() ਫੇਲà©à¨¹ ਹੈ।\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2135,6 +2023,11 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "ਅਢà©à©±à¨•ਵਾਂ ਚੈਨਲ ਮੈਪ '%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸੈਂਪਲ ਫਾਇਲ ਦਿਓ\n" @@ -2143,6 +2036,11 @@ msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸੈਂਪਲ ਫਾਇਲ ਦਿਓ\n"  msgid "Failed to open sound file.\n"  msgstr "ਸਾਊਂਡ ਫਾਇਲ ਖੋਲà©à¨¹à¨£ ਲਈ ਫੇਲà©à¨¹ ਹੈ।\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "ਸੈਂਪਲ ਜਾਣਕਾਰੀ ਲੈਣ ਵਿੱਚ ਫੇਲ: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2202,11 +2100,6 @@ msgstr "ਤà©à¨¹à¨¾à¨¨à©‚à©° ਇੱਕ ਕਾਰਡ ਨਾਂ/ਲਿਸਟ à¨…à  msgid "No valid command specified.\n"  msgstr "ਕੋਈ ਯੋਗ ਕਮਾਂਡ ਨਹੀਂ ਦਿੱਤੀ।\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2323,11 +2216,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn ਲਾਕ ਵਰਤ ਨਹੀਂ ਸਕਦਾ।" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2344,7 +2237,7 @@ msgstr ""  "We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() "  "returned 0 or another value < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2362,15 +2255,15 @@ msgstr ""  "returned 0 or another value < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "ਬੰਦ" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "ਹਾਈ ਫਡੈਲਿਟੀ ਪਲੇਅਬੈਕ (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "ਟੈਲੀਫੋਨੀ ਡà©à¨ªà¨²à©ˆà¨•ਸ (HSP/HFP)" @@ -2378,6 +2271,128 @@ msgstr "ਟੈਲੀਫੋਨੀ ਡà©à¨ªà¨²à©ˆà¨•ਸ (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "ਪਲਸਆਡੀਓ ਸਾਊਂਡ ਡਰਾਇਵਰ" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "ਸਿਸਟਮ ਬੱਸ ਨਾਲ ਜà©à©œà¨¨ ਨਹੀਂ ਸਕਿਆ: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID ਤੋਂ ਕਾਲਰ ਪà©à¨°à¨¾à¨ªà¨¤ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "ਕਾਲਰ à¨à¨¬à¨œà©ˆà¨•ਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।" + +#~ msgid "Failed to get CK session." +#~ msgstr "CK ਸ਼ੈਸ਼ਨ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਵਿੱਚ ਫੇਲ।" + +#~ msgid "Cannot set UID on session object." +#~ msgstr "ਸ਼ੈਸ਼ਨ ਆਬਜੈਕਟ ਤੇ UID ਸੈੱਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।" + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction ਨਹੀਂ ਦੇ ਸਕਿਆ।" + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext ਨੂੰ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "ਪਤਾ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ ਕੀ ਕਾਲਰ ਪਰਮਾਣਿਤ ਹੈ: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "ਪਰਮਾਣਕਿਤਾ ਨਹੀਂ ਲੈ ਸਕਦਾ: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit ਦੇ ਜਵਾਬ ਵਜੋਂ '%s' ਮਿਲਿਆ ਹੈ" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਲਈ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ (ਨਾਂ-ਵਾਚਕ ਯੂਨੈਕਸ ਨਾਈਸ ਲੈਵਲ)" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "ਪਲਸਆਡੀਓ ਡੈਮਨ ਰੀਅਲ-ਟਾਈਮ ਸੈਡਿਊਲ" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਸੈਡਿਊਲ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "ਸਿਸਟਮ ਪਾਲਸੀ ਪਲਸਆਡੀਓ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਰੀਅਲ-ਟਾਈਮ ਪà©à¨°à¨¾à¨ªà¨¤ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ।" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() ਫੇਲà©à¨¹ ਹੈ: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() ਫੇਲà©à¨¹ ਹੈ: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "ਅਸੀਂ ਗਰà©à©±à¨ª '%s' ਵਿੱਚ ਹਾਂ, ਜਿਸ ਨੂੰ ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit ਸਾਨੂੰ ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।" + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit ਵਧੇਰੇ-ਤਰਜੀਹ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।" + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit ਸਾਨੂੰ ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ।" + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit ਰੀਅਲ-ਟਾਈਮ-ਪà©à¨°à¨¾à¨ªà¨¤à©€ ਅਧਿਕਾਰ ਹਟਾਉਂਦੀ ਹੈ।" + +#~ 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 "" +#~ "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." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "ਸੰਰਚਨਾ ਵਿੱਚ ਵਧੇਰੇ-ਤਰਜੀਹ ਯੋਗ ਕੀਤੀ ਗਈ ਹੈ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤੀ।" + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਵਧਾਇਆ ਗਿਆ" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO ਫੇਲà©à¨¹: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE ਨੂੰ ਹਟਾ ਰਿਹਾ ਹੈ" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "ਰੀਅਲ-ਟਾਈਮ ਤਹਿ ਨੂੰ ਸੰਰਚਨਾ ਵਿੱਚ ਯੋਗ ਕਰਨ ਨਾਲ, ਪਰ ਪਾਲਸੀ ਵਲੋਂ ਮਨਜੂਰ ਨਹੀਂ ਕੀਤੀ।" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "CAP_SYS_NICE ਨੂੰ ਸਫਲਤਾਪੂਰਕ ਸੀਮਿਤ ਸਮੱਰਥਾ।" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() ਫੇਲà©à¨¹ ਹੈ।\n" +  #~ msgid "Analog Mono"  #~ msgstr "à¨à¨¨à¨¾à¨²à¨¾à¨— ਮੋਨੋ" @@ -5,15 +5,20 @@ msgid ""  msgstr ""  "Project-Id-Version: pl\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" -"PO-Revision-Date: 2009-06-09 00:03+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n" +"PO-Revision-Date: 2009-07-28 21:54+0200\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:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "%s %s" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -25,7 +30,7 @@ msgstr ""  "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". ProszÄ™ zgÅ‚osić ten "  "problem programistom ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -37,7 +42,7 @@ msgstr ""  "Prawdopodobnie jest to błąd sterownika ALSA \"%s\". ProszÄ™ zgÅ‚osić ten "  "problem programistom ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -51,7 +56,7 @@ msgstr ""  #: ../src/modules/module-ladspa-sink.c:49  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Wirtualny odpÅ‚yw LADSPA"  #: ../src/modules/module-ladspa-sink.c:53  msgid "" @@ -61,8 +66,13 @@ msgid ""  "plugin name> label=<ladspa plugin label> control=<comma seperated list of "  "input control values>"  msgstr "" +"sink_name=<nazwa odpÅ‚ywu> sink_properties=<wÅ‚aÅ›ciwoÅ›ci odpÅ‚ywu> " +"master=<nazwa odpÅ‚ywu do filtrowania> format=<format próbki> " +"rate=<czÄ™stotliwość próbki> channels=<liczba kanałów> channel_map=<mapa " +"kanałów> plugin=<nazwa wtyczki ladspa> label=<etykieta wtyczki ladspa> " +"control=<lista wartoÅ›ci kontroli wejÅ›cia oddzielona przecinkami>" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "WewnÄ™trzny dźwiÄ™k" @@ -83,222 +93,92 @@ msgstr "Przydzielenie nowego programu wczytujÄ…cego dl nie powiodÅ‚o siÄ™."  msgid "Failed to add bind-now-loader."  msgstr "Dodanie bind-now-loader nie powiodÅ‚o siÄ™." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Nie można połączyć siÄ™ z magistralÄ… systemowÄ…: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Nie można uzyskać obiektu caller z PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Nie można ustawić UID obiektu caller." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Uzyskanie sesji CK nie powiodÅ‚o siÄ™." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Nie można ustawić UID obiektowi sesji." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Nie można przydzielić PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Nie można ustawić action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Nie można przydzielić PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Nie można zainicjować PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Nie można ustalić, czy obiekt caller jest upoważniony: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Nie można uzyskać upoważnienia: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit zwróciÅ‚o \"%s\"" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Otrzymano sygnaÅ‚ %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Wyłączanie." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Znalezienie użytkownika \"%s\" nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Znalezienie grupy \"%s\" nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Znaleziono użytkownika \"%s\" (UID %lu) i grupÄ™ \"%s\" (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID użytkownika \"%s\" i grupy \"%s\" nie zgadzajÄ… siÄ™." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Folder domowy użytkownika \"%s\" nie jest \"%s\", ignorowanie." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Utworzenie \"%s\" nie powiodÅ‚o siÄ™: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Zmiana listy grup nie powiodÅ‚a siÄ™: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Zmiana GID nie powiodÅ‚a siÄ™: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Zmiana UID nie powiodÅ‚a siÄ™: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "PomyÅ›lnie porzucono uprawnienia roota." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Tryb systemowy nie jest obsÅ‚ugiwany na tej platformie." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) nie powiodÅ‚o siÄ™: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Analiza wiersza poleceÅ„ nie powiodÅ‚a siÄ™." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit nadaÅ‚ uprawnienie \"acquire-high-priority\"." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit odmówiÅ‚ nadania uprawnienia \"acquire-high-priority\"." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit nadaÅ‚ uprawnienie \"acquire-real-time\"." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit odmówiÅ‚ nadania uprawnienia \"acquire-real-time\"." - -#: ../src/daemon/main.c:560 -#, 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 "" -"W konfiguracji zażądano SUID roota i szeregowanie w czasie rzeczywistym i/" -"lub o wysokim priorytecie. Brak wymaganych uprawnieÅ„:\n" -"Nie jesteÅ›my w grupie \"%s\", PolicyKit odmawia przyznania żądanych " -"uprawnieÅ„ i brak ograniczeÅ„ zwiÄ™kszania zasobów RLIMIT_NICE/RLIMIT_RTPRIO.\n" -"Aby włączyć szeregowanie w czasie rzeczywistym i/lub o wysokim priorytecie, " -"należy uzyskać odpowiednie uprawnienia PolicyKit, zostać czÅ‚onkiem grupy \"%s" -"\" lub zwiÄ™kszyć ograniczenia zasobów RLIMIT_NICE/RLIMIT_RTPRIO dla tego " -"użytkownika." - -#: ../src/daemon/main.c:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "PomyÅ›lnie zwiÄ™kszono RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO nie powiodÅ‚o siÄ™: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Oddawanie CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Demon nie jest uruchomiony" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Demon jest uruchomiony jako PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Zniszczenie demona nie powiodÅ‚o siÄ™: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -306,155 +186,155 @@ msgstr ""  "Ten program nie powinien być uruchomiany jako root (chyba, że podano --"  "system)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Wymagane sÄ… uprawnienia roota." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start nie jest obsÅ‚ugiwane przy uruchamianiu systemowym." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  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:737 +#: ../src/daemon/main.c:583  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:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "Uruchamianie w trybie systemowym, wymuszanie wyłączenia trybu SHM!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  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:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Uzyskanie standardowego wejÅ›cia/wyjÅ›cia nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "potok nie powiódÅ‚ siÄ™: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() nie powiodÅ‚o siÄ™: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() nie powiodÅ‚o siÄ™: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Uruchomienie demona nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "PomyÅ›lnie uruchomiono demona." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "To jest PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Komputer kompilacji: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS kompilacji: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Uruchamianie na komputerze: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Znaleziono %u procesorów." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Rozmiar strony to %lu bajtów" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Skompilowano z obsÅ‚ugÄ… Valgrind: tak" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Skompilowano z obsÅ‚ugÄ… Valgrind: nie" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Uruchamianie w trybie Valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Budowanie optymalizowane: tak" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Budowanie optymalizowane: nie" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "Podano NDEBUG, wszystkie asercje zostaÅ‚y wyłączone." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "Podano FASTPATH, tylko szybkie asercje Å›cieżek zostaÅ‚y wyłączone." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Wszystkie asercje sÄ… włączone." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Uzyskanie identyfikatora komputera nie powiodÅ‚o siÄ™" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "Identyfikator komputera to %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, c-format  msgid "Session ID is %s."  msgstr "Identyfikator sesji to %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Używanie folderu wykonywania %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Używanie folderu stanu %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Uruchamianie w trybie systemowym: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -463,16 +343,22 @@ msgid ""  "Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an "  "explanation why system mode is usually a bad idea."  msgstr "" - -#: ../src/daemon/main.c:951 +"OK, wiÄ™c PA jest uruchomione w trybie systemowym. ProszÄ™ zauważyć, że " +"prawdopodobnie tak nie powinno być.\n" +"JeÅ›li mimo to tak jest, to twoja wina, jeÅ›li coÅ› nie dziaÅ‚a tak jak " +"powinno.\n" +"ProszÄ™ przeczytać http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode, " +"gdzie wyjaÅ›niono, dlaczego tryb systemowy jest zwykle zÅ‚ym pomysÅ‚em." + +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Åšwieże zegary o wysokiej rozdzielczoÅ›ci! Smacznego!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -480,27 +366,27 @@ msgstr ""  "KoleÅ›, twoje jÄ…dro Å›mierdzi! Szef kuchni poleca dzisiaj Linuksa w włączonymi "  "zegarami o wysokiej rozdzielczoÅ›ci!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Zainicjowanie demona nie powiodÅ‚o siÄ™." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Uruchamianie demona bez żadnych wczytanych modułów, odmawianie pracy." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ZakoÅ„czono uruchamianie demona." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Zainicjowano wyłączenie demona." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Demon zostaÅ‚ zniszczony." @@ -844,14 +730,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Odczytano z pliku konfiguracji: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Porzucanie uprawnieÅ„ roota." -#: ../src/daemon/caps.c:103 -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 "System dźwiÄ™ku PulseAudio" @@ -860,30 +742,6 @@ msgstr "System dźwiÄ™ku PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Uruchomienie systemu dźwiÄ™ku PulseAudio" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Szeregowanie o wysokim priorytecie (ujemny poziom nice Uniksa) dla demona " -"PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Szeregowanie w czasie rzeczywistym dla demona PulseAudio" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania o wysokim " -"priorytecie." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania w czasie " -"rzeczywistym." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1256,184 +1114,183 @@ msgstr "Analiza danych ciasteczka nie powiodÅ‚o siÄ™"  msgid "Failed to open configuration file '%s': %s"  msgstr "Otwarcie pliku konfiguracji \"%s\" nie powiodÅ‚o siÄ™: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Nie wczytano ciasteczka. Próbowanie połączenia siÄ™ bez niego." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Otrzymano komunikat z nieznanego powodu \"%s\"" -#: ../src/utils/pacat.c:107 +#: ../src/utils/pacat.c:108  #, c-format -msgid "Failed to drain stream: %s\n" -msgstr "Opróżnienie strumienia nie powiodÅ‚o siÄ™: %s\n" +msgid "Failed to drain stream: %s" +msgstr "Opróżnienie strumienia nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" -msgstr "Opróżniono strumieÅ„ odtwarzania.\n" +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained." +msgstr "Opróżniono strumieÅ„ odtwarzania." -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" -msgstr "Opróżnianie połączenia z serwerem.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server." +msgstr "Opróżnianie połączenia z serwerem." -#: ../src/utils/pacat.c:135 +#: ../src/utils/pacat.c:136  #, c-format -msgid "pa_stream_drain(): %s\n" -msgstr "pa_stream_drain(): %s\n" +msgid "pa_stream_drain(): %s" +msgstr "pa_stream_drain(): %s" -#: ../src/utils/pacat.c:158 +#: ../src/utils/pacat.c:159  #, c-format -msgid "pa_stream_write() failed: %s\n" -msgstr "pa_stream_write() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_write() failed: %s" +msgstr "pa_stream_write() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 +#: ../src/utils/pacat.c:197  #, c-format -msgid "pa_stream_peek() failed: %s\n" -msgstr "pa_stream_peek() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_begin_write() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" -msgstr "PomyÅ›lnie utworzono strumieÅ„.\n" +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, c-format +msgid "pa_stream_peek() failed: %s" +msgstr "pa_stream_peek() nie powiodÅ‚o siÄ™: %s" + +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created." +msgstr "PomyÅ›lnie utworzono strumieÅ„." -#: ../src/utils/pacat.c:305 +#: ../src/utils/pacat.c:310  #, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" -msgstr "pa_stream_get_buffer_attr() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_get_buffer_attr() failed: %s" +msgstr "pa_stream_get_buffer_attr() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:309 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -msgstr "Metryka bufora: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u" +msgstr "Metryka bufora: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u" -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" -msgstr "Metryka bufora: maxlength=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u" +msgstr "Metryka bufora: maxlength=%u, fragsize=%u" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" -msgstr "Używanie przykÅ‚adowej specyfikacji \"%s\", mapa kanałów \"%s\".\n" +msgid "Using sample spec '%s', channel map '%s'." +msgstr "Używanie przykÅ‚adowej specyfikacji \"%s\", mapa kanałów \"%s\"." -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" -msgstr "Połączono siÄ™ z urzÄ…dzeniem %s (%u, %swstrzymane).\n" +msgid "Connected to device %s (%u, %ssuspended)." +msgstr "Połączono siÄ™ z urzÄ…dzeniem %s (%u, %swstrzymane)." -#: ../src/utils/pacat.c:330 +#: ../src/utils/pacat.c:335  #, c-format -msgid "Stream error: %s\n" -msgstr "Błąd strumienia: %s\n" +msgid "Stream error: %s" +msgstr "Błąd strumienia: %s" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" -msgstr "Wstrzymano urzÄ…dzenie strumienia.%s \n" +msgid "Stream device suspended.%s" +msgstr "Wstrzymano urzÄ…dzenie strumienia.%s" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" -msgstr "Wznowiono urzÄ…dzenie strumienia.%s \n" +msgid "Stream device resumed.%s" +msgstr "Wznowiono urzÄ…dzenie strumienia.%s" -#: ../src/utils/pacat.c:350 +#: ../src/utils/pacat.c:355  #, c-format -msgid "Stream underrun.%s \n" -msgstr "NiedopeÅ‚niono strumieÅ„.%s \n" +msgid "Stream underrun.%s" +msgstr "NiedopeÅ‚niono strumieÅ„.%s" -#: ../src/utils/pacat.c:357 +#: ../src/utils/pacat.c:362  #, c-format -msgid "Stream overrun.%s \n" -msgstr "PrzepeÅ‚niono strumieÅ„.%s \n" +msgid "Stream overrun.%s" +msgstr "PrzepeÅ‚niono strumieÅ„.%s" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" -msgstr "Utworzono strumieÅ„.%s \n" +msgid "Stream started.%s" +msgstr "Utworzono strumieÅ„.%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" -msgstr "StrumieÅ„ zostaÅ‚ przeniesiony do urzÄ…dzenia %s (%u, %swstrzymane).%s \n" +msgid "Stream moved to device %s (%u, %ssuspended).%s" +msgstr "StrumieÅ„ zostaÅ‚ przeniesiony do urzÄ…dzenia %s (%u, %swstrzymane).%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "nie " -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" -msgstr "Zmieniono atrybuty bufora strumienia.%s \n" +msgid "Stream buffer attributes changed.%s" +msgstr "Zmieniono atrybuty bufora strumienia.%s" -#: ../src/utils/pacat.c:411 +#: ../src/utils/pacat.c:416  #, c-format -msgid "Connection established.%s \n" -msgstr "Ustanowiono połączenie.%s \n" +msgid "Connection established.%s" +msgstr "Ustanowiono połączenie.%s" -#: ../src/utils/pacat.c:414 +#: ../src/utils/pacat.c:419  #, c-format -msgid "pa_stream_new() failed: %s\n" -msgstr "pa_stream_new() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_new() failed: %s" +msgstr "pa_stream_new() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:442 +#: ../src/utils/pacat.c:447  #, c-format -msgid "pa_stream_connect_playback() failed: %s\n" -msgstr "pa_stream_connect_playback() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_connect_playback() failed: %s" +msgstr "pa_stream_connect_playback() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:448 +#: ../src/utils/pacat.c:453  #, c-format -msgid "pa_stream_connect_record() failed: %s\n" -msgstr "pa_stream_connect_record() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_connect_record() failed: %s" +msgstr "pa_stream_connect_record() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 +#: ../src/utils/pacat.c:467  #, c-format -msgid "Connection failure: %s\n" -msgstr "Połączenie nie powiodÅ‚o siÄ™: %s\n" - -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Otrzymano EOF.\n" +msgid "Connection failure: %s" +msgstr "Połączenie nie powiodÅ‚o siÄ™: %s"  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() nie powiodÅ‚o siÄ™: %s\n" +msgid "Got EOF." +msgstr "Otrzymano EOF." -#: ../src/utils/pacat.c:532 +#: ../src/utils/pacat.c:537  #, c-format -msgid "write() failed: %s\n" -msgstr "write() nie powiodÅ‚o siÄ™: %s\n" +msgid "write() failed: %s" +msgstr "write() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" -msgstr "Otrzymano sygnaÅ‚, wyłączanie.\n" +#: ../src/utils/pacat.c:558 +msgid "Got signal, exiting." +msgstr "Otrzymano sygnaÅ‚, wyłączanie." -#: ../src/utils/pacat.c:567 +#: ../src/utils/pacat.c:572  #, c-format -msgid "Failed to get latency: %s\n" -msgstr "Uzyskanie opóźnienia nie powiodÅ‚o siÄ™: %s\n" +msgid "Failed to get latency: %s" +msgstr "Uzyskanie opóźnienia nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Czas: %0.3f sekundy; opóźnienie: %0.0f usekundy.  \r" -#: ../src/utils/pacat.c:592 +#: ../src/utils/pacat.c:595  #, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" -msgstr "pa_stream_update_timing_info() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_stream_update_timing_info() failed: %s" +msgstr "pa_stream_update_timing_info() nie powiodÅ‚o siÄ™: %s"  #: ../src/utils/pacat.c:605  #, c-format @@ -1561,35 +1418,35 @@ msgstr ""  "Skompilowane za pomocÄ… libpulse %s\n"  "Skonsolidowane za pomocÄ… libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, c-format -msgid "Invalid client name '%s'\n" -msgstr "NieprawidÅ‚owa nazwa klienta \"%s\"\n" +msgid "Invalid client name '%s'" +msgstr "NieprawidÅ‚owa nazwa klienta \"%s\""  #: ../src/utils/pacat.c:776  #, c-format -msgid "Invalid stream name '%s'\n" -msgstr "NieprawidÅ‚owa nazwa strumienia \"%s\"\n" +msgid "Invalid stream name '%s'" +msgstr "NieprawidÅ‚owa nazwa strumienia \"%s\""  #: ../src/utils/pacat.c:813  #, c-format -msgid "Invalid channel map '%s'\n" -msgstr "NieprawidÅ‚owa mapa kanałów \"%s\"\n" +msgid "Invalid channel map '%s'" +msgstr "NieprawidÅ‚owa mapa kanałów \"%s\""  #: ../src/utils/pacat.c:842  #, c-format -msgid "Invalid latency specification '%s'\n" -msgstr "NieprawidÅ‚owe okreÅ›lenie opóźnienia \"%s\"\n" +msgid "Invalid latency specification '%s'" +msgstr "NieprawidÅ‚owe okreÅ›lenie opóźnienia \"%s\""  #: ../src/utils/pacat.c:849  #, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "NieprawidÅ‚owe okreÅ›lenie czasu procesu \"%s\"\n" +msgid "Invalid process time specification '%s'" +msgstr "NieprawidÅ‚owe okreÅ›lenie czasu procesu \"%s\""  #: ../src/utils/pacat.c:861  #, c-format -msgid "Invalid property '%s'\n" -msgstr "NieprawidÅ‚owa wÅ‚asność \"%s\"\n" +msgid "Invalid property '%s'" +msgstr "NieprawidÅ‚owa wÅ‚asność \"%s\""  #: ../src/utils/pacat.c:878  #, c-format @@ -1597,62 +1454,62 @@ msgid "Unknown file format %s."  msgstr "Nieznany format pliku %s."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "NieprawidÅ‚owe okreÅ›lenie próbki\n" +msgid "Invalid sample specification" +msgstr "NieprawidÅ‚owe okreÅ›lenie próbki"  #: ../src/utils/pacat.c:907  #, c-format -msgid "open(): %s\n" -msgstr "open(): %s\n" +msgid "open(): %s" +msgstr "open(): %s"  #: ../src/utils/pacat.c:912  #, c-format -msgid "dup2(): %s\n" -msgstr "dup2(): %s\n" +msgid "dup2(): %s" +msgstr "dup2(): %s"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" -msgstr "Za dużo parametrów.\n" +msgid "Too many arguments." +msgstr "Za dużo parametrów."  #: ../src/utils/pacat.c:930 -msgid "Failed to generate sample specification for file.\n" -msgstr "Utworzenie okreÅ›lenia próbki dla pliku nie powiodÅ‚o siÄ™.\n" +msgid "Failed to generate sample specification for file." +msgstr "Utworzenie okreÅ›lenia próbki dla pliku nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:950 -msgid "Failed to open audio file.\n" -msgstr "Otwarcie pliku dźwiÄ™kowego nie powiodÅ‚o siÄ™.\n" +msgid "Failed to open audio file." +msgstr "Otwarcie pliku dźwiÄ™kowego nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:956  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr ""  "Ostrzeżenie: podane okreÅ›lenie próbki zostanie zastÄ…pione przez okreÅ›lenie z " -"pliku.\n" +"pliku." -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -msgid "Failed to determine sample specification from file.\n" -msgstr "Ustalenie okreÅ›lenia próbki z pliku nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pacat.c:959 +msgid "Failed to determine sample specification from file." +msgstr "Ustalenie okreÅ›lenia próbki z pliku nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "Ostrzeżenie: ustalenie mapy kanałów z pliku nie powiodÅ‚o siÄ™.\n" +msgid "Warning: Failed to determine channel map from file." +msgstr "Ostrzeżenie: ustalenie mapy kanałów z pliku nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "Mapa kanałów nie zgadza siÄ™ z okreÅ›leniem próbki\n" +msgid "Channel map doesn't match sample specification" +msgstr "Mapa kanałów nie zgadza siÄ™ z okreÅ›leniem próbki"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "Ostrzeżenie: zapisanie mapy kanałów do pliku nie powiodÅ‚o siÄ™.\n" +msgid "Warning: failed to write channel map to file." +msgstr "Ostrzeżenie: zapisanie mapy kanałów do pliku nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:1005  #, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr ""  "Otwieranie strumienia %s za pomocÄ… okreÅ›lenie próbki \"%s\" i mapy kanałów " -"\"%s\".\n" +"\"%s\"."  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1662,36 +1519,30 @@ msgstr "nagrywanie"  msgid "playback"  msgstr "odtwarzanie" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" -msgstr "pa_mainloop_new() nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pacat.c:1032 +msgid "pa_mainloop_new() failed." +msgstr "pa_mainloop_new() nie powiodÅ‚o siÄ™."  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" -msgstr "io_new() nie powiodÅ‚o siÄ™.\n" +msgid "io_new() failed." +msgstr "io_new() nie powiodÅ‚o siÄ™." -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" -msgstr "pa_context_new() nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pacat.c:1058 +msgid "pa_context_new() failed." +msgstr "pa_context_new() nie powiodÅ‚o siÄ™." -#: ../src/utils/pacat.c:1066 +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122  #, c-format -msgid "pa_context_connect() failed: %s\n" -msgstr "pa_context_connect() nie powiodÅ‚o siÄ™: %s\n" +msgid "pa_context_connect() failed: %s" +msgstr "pa_context_connect() nie powiodÅ‚o siÄ™: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pacat.c:1072 +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_rttime_new() nie powiodÅ‚o siÄ™." -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" -msgstr "pa_mainloop_run() nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pacat.c:1079 +msgid "pa_mainloop_run() failed." +msgstr "pa_mainloop_run() nie powiodÅ‚o siÄ™."  #: ../src/utils/pasuspender.c:81  #, c-format @@ -1719,6 +1570,11 @@ 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:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Połączenie nie powiodÅ‚o siÄ™: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1758,6 +1614,21 @@ msgstr ""  "Skompilowane za pomocÄ… libpulse %s\n"  "Skonsolidowane za pomocÄ… libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() nie powiodÅ‚o siÄ™.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() nie powiodÅ‚o siÄ™.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() nie powiodÅ‚o siÄ™.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1853,14 +1724,14 @@ msgstr ""  "\t\t%s\n"  #: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 -#, fuzzy, c-format +#, c-format  msgid "\tPorts:\n" -msgstr "\tProfile:\n" +msgstr "\tPorty:\n"  #: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#, c-format  msgid "\tActive Port: %s\n" -msgstr "\tAktywny profil: %s\n" +msgstr "\tAktywny port: %s\n"  #: ../src/utils/pactl.c:290  #, c-format @@ -2115,7 +1986,7 @@ msgid "Premature end of file\n"  msgstr "Przedwczesny koniec pliku\n"  #: ../src/utils/pactl.c:826 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options] stat\n"  "%s [options] list\n" @@ -2154,6 +2025,8 @@ msgstr ""  "%s [opcje] suspend-sink [ODPÅYW] 1|0\n"  "%s [opcje] suspend-source [ŹRÓDÅO] 1|0\n"  "%s [opcje] set-card-profile [KARTA] [PROFIL] \n" +"%s [opcje] set-sink-port [ODPÅYW] [PORT] \n" +"%s [opcje] set-source-port [ŹRÓDÅO] [PORT] \n"  "\n"  "  -h, --help                            WyÅ›wietla tÄ™ pomoc\n"  "      --version                         WyÅ›wietla wersjÄ™\n" @@ -2172,6 +2045,11 @@ msgstr ""  "Skompilowane za pomocÄ… libpulse %s\n"  "Skonsolidowane za pomocÄ… libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "NieprawidÅ‚owa nazwa klienta \"%s\"\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "ProszÄ™ podać plik próbki do wczytania\n" @@ -2180,6 +2058,10 @@ msgstr "ProszÄ™ podać plik próbki do wczytania\n"  msgid "Failed to open sound file.\n"  msgstr "Otwarcie pliku dźwiÄ™kowego nie powiodÅ‚o siÄ™.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "Ustalenie okreÅ›lenia próbki z pliku nie powiodÅ‚o siÄ™.\n" +  #: ../src/utils/pactl.c:951  msgid "Warning: Failed to determine sample specification from file.\n"  msgstr "Ostrzeżenie: ustalenie okreÅ›lenia próbki z pliku nie powiodÅ‚o siÄ™.\n" @@ -2227,24 +2109,17 @@ 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:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "Należy podać nazwÄ™ karty/indeks i nazwÄ™ profilu\n" +msgstr "Należy podać nazwÄ™ odpÅ‚ywu/indeks i nazwÄ™ portu\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "Należy podać nazwÄ™ karty/indeks i nazwÄ™ profilu\n" +msgstr "Należy podać nazwÄ™ źródÅ‚a/indeks i nazwÄ™ portu\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "Nie podano prawidÅ‚owego polecenia.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() nie powiodÅ‚o siÄ™: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2363,11 +2238,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Nie można uzyskać dostÄ™pu do blokady automatycznego wznawiania." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2384,7 +2259,7 @@ msgstr ""  "Wybudzono za pomocÄ… ustawienia POLLOUT - ale jednoczesne wywoÅ‚anie "  "snd_pcm_avail() zwróciÅ‚o zero lub innÄ… wartość < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2402,15 +2277,15 @@ msgstr ""  "snd_pcm_avail() zwróciÅ‚o zero lub innÄ… wartość < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Wyłącz" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Odtwarzanie o wysokiej dokÅ‚adnoÅ›ci (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Duplex telefoniczny (HSP/HFP)" @@ -2418,44 +2293,60 @@ msgstr "Duplex telefoniczny (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Serwer dźwiÄ™ku PulseAudio" -#~ msgid "Analog Mono" -#~ msgstr "Analogowe mono" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Nie można połączyć siÄ™ z magistralÄ… systemowÄ…: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Nie można uzyskać obiektu caller z PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Nie można ustawić UID obiektu caller." -#~ msgid "Analog Stereo" -#~ msgstr "Analogowe stereo" +#~ msgid "Failed to get CK session." +#~ msgstr "Uzyskanie sesji CK nie powiodÅ‚o siÄ™." -#~ msgid "Digital Stereo (IEC958)" -#~ msgstr "Cyfrowe stereo (IEC958)" +#~ msgid "Cannot set UID on session object." +#~ msgstr "Nie można ustawić UID obiektowi sesji." -#~ msgid "Digital Stereo (HDMI)" -#~ msgstr "Cyfrowe stereo (HDMI)" +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Nie można przydzielić PolKitAction." -#~ msgid "Analog Surround 4.0" -#~ msgstr "Analogowe surround 4.0" +#~ msgid "Cannot set action_id" +#~ msgstr "Nie można ustawić action_id" -#~ msgid "Digital Surround 4.0 (IEC958/AC3)" -#~ msgstr "Cyfrowe surround 4.0 (IEC958/AC3)" +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Nie można przydzielić PolKitContext." -#~ msgid "Analog Surround 4.1" -#~ msgstr "Analogowe surround 4.1" +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Nie można zainicjować PolKitContext: %s" -#~ msgid "Analog Surround 5.0" -#~ msgstr "Analogowe surround 5.0" +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Nie można ustalić, czy obiekt caller jest upoważniony: %s" -#~ msgid "Analog Surround 5.1" -#~ msgstr "Analogowe surround 5.1" +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Nie można uzyskać upoważnienia: %s" -#~ msgid "Digital Surround 5.1 (IEC958/AC3)" -#~ msgstr "Cyfrowe surround 5.1 (IEC958/AC3)" +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit zwróciÅ‚o \"%s\"" -#~ msgid "Analog Surround 7.1" -#~ msgstr "Analogowe surround 7.1" +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Szeregowanie o wysokim priorytecie (ujemny poziom nice Uniksa) dla demona " +#~ "PulseAudio" -#~ msgid "Output %s + Input %s" -#~ msgstr "WyjÅ›cie %s + wejÅ›cie %s" +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Szeregowanie w czasie rzeczywistym dla demona PulseAudio" -#~ msgid "Output %s" -#~ msgstr "WyjÅ›cie %s" +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania o wysokim " +#~ "priorytecie." -#~ msgid "Input %s" -#~ msgstr "WejÅ›cie %s" +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Polityka systemu uniemożliwia PulseAudio uzyskanie szeregowania w czasie " +#~ "rzeczywistym." @@ -2,7 +2,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: \n"  "Last-Translator: Rui Gouveia <rui.gouveia@globaltek.pt>\n"  "Language-Team: pt <fedora-trans-pt@redhat.com>\n" @@ -12,7 +12,12 @@ msgstr ""  "X-Poedit-Language: Portuguese\n"  "X-Poedit-Country: PORTUGAL\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, fuzzy, c-format +msgid "%s %s" +msgstr "%s %s" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -25,7 +30,7 @@ msgstr ""  "Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "  "problema aos programadores do ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -38,7 +43,7 @@ msgstr ""  "Provavelmente isto é um erro no driver ALSA '%s'. Por favor, reporte este "  "problema aos programadores do ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -52,8 +57,9 @@ msgstr ""  "problema aos programadores do ALSA."  #: ../src/modules/module-ladspa-sink.c:49 +#, fuzzy  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Alarme virtual"  #: ../src/modules/module-ladspa-sink.c:53  msgid "" @@ -64,7 +70,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Ãudio Interno" @@ -84,220 +90,92 @@ msgstr "Não foi possÃvel alocar o novo carregador \"dl\"."  msgid "Failed to add bind-now-loader."  msgstr "Não foi possÃvel adicionar \"bind-now-loader\"." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Incapaz de se ligar ao bus de sistema: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Não foi possÃvel obter chamador a partir do PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Não foi possÃvel definir o UID no objecto chamador." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Falha ao obter sessão CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Não foi possÃvel definir o UID no objecto da sessão." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Não é possÃvel alocar PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "impossÃvel definir action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Não é possÃvel alocar contexto PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Incapaz de inicializar o PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Não foi possÃvel determinar se o chamador está autorizado: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Não foi possÃvel obter autenticação: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit respondeu com '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Foi obtido o sinal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "A sair." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Falha ao procurar o utilizador '%s'." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Falha ao procurar o grupo '%s'." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Foi encontrado utilizador '%s' (UID %lu) e grupo '%s' (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID do utilizador '%s' e do grupo '%s' não coincidem." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Directório pessoal do utilizador '%s' não é '%s'. A ignorar." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Falha ao criar o '%s': %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Falhou a alteração da lista de grupos: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Não foi possÃvel mudar o GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Não foi possÃvel mudar o UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Privilégios de root cedidos com sucesso." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Modo de sistema não suportado nesta plataforma." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) falhou: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Não foi possÃvel processar linha de comando." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "" -"O PolicyKit permite-nos o privilégio \"acquire-high-priority\" (adquirir " -"alta prioridade)." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "" -"O PolicyKit recusa-nos o privilégio \"acquire-high-priority\" (adquirir alta " -"prioridade)." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "" -"O PolicyKit permite-nos o privilégio \"acquire-real-time\" (adquirir tempo " -"real)." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "" -"O PolicyKit recusa-nos o privilégio \"acquire-real-time\" (adquirir tempo " -"real)." - -#: ../src/daemon/main.c:560 -#, 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:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Escalonamento de alta prioridade activo na configuração, mas não permitido " -"pela politica." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO aumentado com sucesso" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO falhou: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "A desistir de CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Escalonamento em tempo real activo na configuração, mas não permitido pela " -"politica." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Serviço não está a executar" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Serviço a executar como PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Tentativa de matar serviço falhou: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -305,154 +183,154 @@ msgstr ""  "Este programa não pretende ser executado como root (a não ser que a opção --"  "system seja especificada)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "São necessários privilégios de root." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start não é suportado para instâncias do sistema." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "A executar em modo de sistema, mas --disallow-exit não está definido!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "A executar em modo de sistema, mas --disallow-module-loading não está "  "definido!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "A executar em modo de sistema, a forçar a desactivação do modo SHM!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "A executar em modo de sistema, a forçar a desactivação da saÃda por "  "inactividade!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Não foi possÃvel adquirir o stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe falhou: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() falhou: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() falhou: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Arranque do serviço falhou." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Arranque do serviço sucedeu." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Isto é PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Máquina de compilação: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS utilizadas na compilação: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "A executar na máquina: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Foram encontrados %u CPUs." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Tamanho da página é %lu bytes" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compilado com suporte para Valgrind: sim" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compilado com suporte para Valgrind: não" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "A executar em modo \"valgrind\": %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimizado: sim" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Compilação optimizada: não" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definido, todas as declarações desactivadas." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definido, apenas as declarações \"fast path\" desactivadas." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Todas as declarações desactivadas." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "A tentativa de ler o ID da máquina falhou" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "O ID da máquina é %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s." -msgstr "O ID da máquina é %s." +msgstr "A sessão está fechada" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Execução a utilizar o directório %s" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "A manter o estado no directório %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Execução em modo de sistema: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -462,15 +340,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() falhou." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Timer \"frescos\" de alta resolução disponÃveis. Bom apetite!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -478,32 +356,32 @@ msgstr ""  "Oh pá, o teu kernel não presta! O prato do dia recomendado é Linux com "  "timers de alta resolução activos!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() falhou." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Falha ao inicializar serviço." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Serviço arrancou sem módulos carregados. A recusar trabalhar." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Arranque do serviço completo." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Encerramento do serviço iniciado." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Serviço terminado."  #: ../src/daemon/cmdline.c:115 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -596,7 +474,7 @@ msgstr ""  "\n"  "OPTIONS:\n"  "      --system[=BOOL]                   Executa em modo de sistema\n" -"  -D, --daemonize[=BOOL]                Passa serviço depois de executar\n" +"  -D, --daemonize[=BOOL]                Passa a serviço depois de executar\n"  "      --fail[=BOOL]                     Termina quando o arranque falha\n"  "      --high-priority[=BOOL]            Tenta definir um alto nÃvel de "  "execução\n" @@ -647,15 +525,14 @@ msgstr ""  "partilhada.\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" +"  -L, --load=\"MODULE ARGUMENTS\"         Carrega o módulo especificado com\n" +"                                        o argumento especificado\n" +"  -F, --file=FILENAME                   Executa o script especificado\n" +"  -C                                    Abre uma linha de comando no TTY " +"(consola) em execução\n" +"                                        depois do arranque\n"  "\n" -"  -n                                    Don't load default script file\n" +"  -n                                    Não carrega o script por omissão\n"  #: ../src/daemon/cmdline.c:247  msgid "--daemonize expects boolean argument" @@ -760,9 +637,9 @@ msgid "Load Once: %s\n"  msgstr "Carregar Uma Vez: %s\n"  #: ../src/daemon/dumpmodules.c:75 -#, c-format +#, fuzzy, c-format  msgid "DEPRECATION WARNING: %s\n" -msgstr "" +msgstr "Aviso de Impressão"  #: ../src/daemon/dumpmodules.c:79  #, c-format @@ -780,9 +657,9 @@ msgid "[%s:%u] Invalid log level '%s'."  msgstr "[%s:%u] NÃvel do ficheiro de registo inválido '%s'."  #: ../src/daemon/daemon-conf.c:248 -#, c-format +#, fuzzy, c-format  msgid "[%s:%u] Invalid resample method '%s'." -msgstr "" +msgstr "nome do método de acesso"  #: ../src/daemon/daemon-conf.c:271  #, c-format @@ -800,19 +677,19 @@ msgid "[%s:%u] Invalid sample format '%s'."  msgstr "[%s:%u] Formato da amostra inválido '%s'."  #: ../src/daemon/daemon-conf.c:312 -#, c-format +#, fuzzy, c-format  msgid "[%s:%u] Invalid sample rate '%s'." -msgstr "" +msgstr "Taxa de amostragem em kHz"  #: ../src/daemon/daemon-conf.c:336 -#, c-format +#, fuzzy, c-format  msgid "[%s:%u] Invalid sample channels '%s'." -msgstr "" +msgstr "Número de canais de audio"  #: ../src/daemon/daemon-conf.c:354 -#, c-format +#, fuzzy, c-format  msgid "[%s:%u] Invalid channel map '%s'." -msgstr "" +msgstr "Activar mapa de _radar"  #: ../src/daemon/daemon-conf.c:372  #, c-format @@ -839,20 +716,18 @@ msgid ""  "The specified default channel map has a different number of channels than "  "the specified default number of channels."  msgstr "" +"O mapa de canais especificado tem um número de canais diferente do número de " +"canais definido por omissão."  #: ../src/daemon/daemon-conf.c:616  #, c-format  msgid "### Read from configuration file: %s ###\n"  msgstr "### Ler configuração a partir do ficheiro: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "A largar privilégios de root." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "Sistema de Som PulseAudio" @@ -861,24 +736,6 @@ msgstr "Sistema de Som PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "Inciar o Sistema de Som PulseAudio" -#: ../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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1251,183 +1108,187 @@ msgstr "Não foi possÃvel processar dados da cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "Falha ao abrir ficheiro de configuração '%s': %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Nenhuma cookie carregada. A tentar ligar sem cookie." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Recebida mensagem para extensão desconhecida '%s'" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Falhou ao esvaziar fluxo: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" -msgstr "" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained." +msgstr "O álbum do fluxo actual." -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" -msgstr "" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server." +msgstr "Ligação ao Servidor Recusada" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() falhou: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() falhou: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() falhou: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Fluxo criado com sucesso.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() falhou: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Métricas do Buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Métricas do Buffer: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" -msgstr "" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'." +msgstr "Utilizando especificação da amostra '%s'\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Ligado ao dispositivo %s (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Erro de fluxo: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" -msgstr "" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s" +msgstr "Nenhum dispositivo configurado" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" -msgstr "" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s" +msgstr "Nenhum dispositivo configurado" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Fluxo com falta de dados.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Fluxo com excesso de dados.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Fluxo iniciado.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" -msgstr "" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s" +msgstr "Ligado ao dispositivo %s (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "negação" -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Ligação Estabelecida.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() falhou: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() falhou: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() falhou: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Ligação falhou: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Obtive EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() falhou: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Obtive EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() falhou: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Recebido sinal, a sair.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Falhou a obtenção da latência: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Tempo: %0.3f sec; Latency: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() falhou: %s\n"  #: ../src/utils/pacat.c:605 @@ -1497,97 +1358,104 @@ msgid ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n"  msgstr "" +"pacat %s\n" +"Compilado com libpulse %s\n" +"Ligado com libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Método de resample inválido '%s'." +msgid "Invalid client name '%s'" +msgstr "Nome de máquina inválido"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Método de resample inválido '%s'." +msgid "Invalid stream name '%s'" +msgstr "Nome de máquina inválido"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid channel map '%s'" +msgstr "Mapa de canais inválido '%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Especificação da latência inválida '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'" +msgstr "Especificação da infra-estrutura da impressora inválida: %1"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Método de resample inválido '%s'." +msgid "Invalid property '%s'" +msgstr "Tipo de propriedade inválido %s para propriedade %s"  #: ../src/utils/pacat.c:878 -#, c-format +#, fuzzy, c-format  msgid "Unknown file format %s." -msgstr "" +msgstr "Formato de ficheiro desconhecido"  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Especificação da amostra inválida\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "demasiados argumentos.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "não foi possÃvel obter informações da amostra: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" -msgstr "Falha ao abrir ficheiro de som.\n" +msgid "Failed to open audio file." +msgstr "Falha ao abrir ficheiro temporário"  #: ../src/utils/pacat.c:956  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "não foi possÃvel obter informações da amostra: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "não foi possÃvel obter informações da amostra: %s\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "" +#, fuzzy +msgid "Channel map doesn't match sample specification" +msgstr "Mapa de canais não corresponde com ficheiro.\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" +msgid "Warning: failed to write channel map to file."  msgstr ""  #: ../src/utils/pacat.c:1005  #, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr ""  #: ../src/utils/pacat.c:1006 @@ -1598,35 +1466,34 @@ msgstr "a gravar"  msgid "playback"  msgstr "reprodução" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() falhou.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() falhou.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() falhou.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() falhou: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() falhou.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "não foi possÃvel obter o novo contexto.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() falhou.\n"  #: ../src/utils/pasuspender.c:81 @@ -1654,6 +1521,11 @@ msgstr "Falhou ao restaurar: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "Atenção: Servidor de Som não local, suspender ignorado.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Ligação falhou: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1684,6 +1556,21 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() falhou.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() falhou.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() falhou.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1758,7 +1645,7 @@ msgstr "\tPrefis:\n"  #: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359  #, fuzzy, c-format  msgid "\tActive Port: %s\n" -msgstr "\tPerfil Activo: %s\n" +msgstr "MÃQUINA:PORTO"  #: ../src/utils/pactl.c:290  #, c-format @@ -1853,9 +1740,10 @@ msgid "\tActive Profile: %s\n"  msgstr "\tPerfil Activo: %s\n"  #: ../src/utils/pactl.c:489 -#, c-format +#, fuzzy, c-format  msgid "Failed to get sink input information: %s\n"  msgstr "" +"Não foi possÃvel obter informações sobre o Método de Introdução de Dados"  #: ../src/utils/pactl.c:508  #, c-format @@ -1976,6 +1864,11 @@ msgstr ""  "Compilado com libpulse %s\n"  "Linkado com libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Nome de máquina inválido" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Por favor, especifique um ficheiro de amostra para carregar\n" @@ -1984,6 +1877,11 @@ msgstr "Por favor, especifique um ficheiro de amostra para carregar\n"  msgid "Failed to open sound file.\n"  msgstr "Falha ao abrir ficheiro de som.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "não foi possÃvel obter informações da amostra: %s\n" +  #: ../src/utils/pactl.c:951  msgid "Warning: Failed to determine sample specification from file.\n"  msgstr "" @@ -2046,11 +1944,6 @@ msgstr "Tem de especificar um nome/Ãndice de carta e um nome de perfil\n"  msgid "No valid command specified.\n"  msgstr "O comando especificado é inválido.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() falhou: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2160,11 +2053,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "ImpossÃvel aceder ao lock \"autospawn\"." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2181,7 +2074,7 @@ msgstr ""  "Fomos acordados pelo conjunto POLLOUT -- contudo uma chamada a seguir de "  "snd_pcm_avail() retornou 0 ou outro valor < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2199,15 +2092,15 @@ msgstr ""  "snd_pcm_avail() retornou 0 ou outro valor < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "Desligado" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Reprodução Alta Fidelidade (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Telefonia Duplex (HSP/HFP)" @@ -2215,6 +2108,71 @@ msgstr "Telefonia Duplex (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "Servidor de Som PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Incapaz de se ligar ao bus de sistema: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Não foi possÃvel obter chamador a partir do PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Não foi possÃvel definir o UID no objecto chamador." + +#~ msgid "Failed to get CK session." +#~ msgstr "Falha ao obter sessão CK." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Não foi possÃvel definir o UID no objecto da sessão." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Não é possÃvel alocar PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "impossÃvel definir action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Não é possÃvel alocar contexto PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Incapaz de inicializar o PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Não foi possÃvel determinar se o chamador está autorizado: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Não foi possÃvel obter autenticação: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit respondeu com '%s'" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Escalonamento de alta-prioridade (nÃvel 'nice' negativo em Unix) para o " +#~ "serviço PulseAudio" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Escalonamento em tempo-real para o serviço PulseAudio" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Politica do sistema impede o PulseAudio de obter escalonamento de alta-" +#~ "prioridade." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Politica do sistema impede o PulseAudio de obter escalonamento de tempo-" +#~ "real." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() falhou: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "ImpossÃvel ligar ao servidor." +  #~ msgid "Analog Mono"  #~ msgstr "Mono Analógico" @@ -2248,6 +2206,60 @@ msgstr "Servidor de Som PulseAudio"  #~ msgid "Analog Surround 7.1"  #~ msgstr "Analog Surround 7.1" +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "Estamos no grupo '%s', permitindo escalonamento de alta-prioridade." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "" +#~ "O PolicyKit permite-nos o privilégio \"acquire-high-priority\" (adquirir " +#~ "alta prioridade)." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "" +#~ "O PolicyKit recusa-nos o privilégio \"acquire-high-priority\" (adquirir " +#~ "alta prioridade)." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "" +#~ "O PolicyKit permite-nos o privilégio \"acquire-real-time\" (adquirir " +#~ "tempo real)." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "" +#~ "O PolicyKit recusa-nos o privilégio \"acquire-real-time\" (adquirir tempo " +#~ "real)." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "Escalonamento de alta prioridade activo na configuração, mas não " +#~ "permitido pela politica." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO aumentado com sucesso" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO falhou: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "A desistir de CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "Escalonamento em tempo real activo na configuração, mas não permitido " +#~ "pela politica." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "Capacidades limitadas com sucesso em CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() falhou.\n" +  #~ msgid "Stream successfully created\n"  #~ msgstr "Fluxo criado com sucesso\n" @@ -2266,12 +2278,12 @@ msgstr "Servidor de Som PulseAudio"  #~ "Compilado com libpulse %s\n"  #~ "Linkado com libpulse %s\n" +#~ msgid "Invalid channel map\n" +#~ msgstr "Mapa de canais inválido\n" +  #~ msgid "Failed to open file '%s'\n"  #~ msgstr "Falha ao abrir o ficheiro '%s'\n" -#~ msgid "Using sample spec '%s'\n" -#~ msgstr "Utilizando especificação da amostra '%s'\n" -  #~ msgid "Output %s + Input %s"  #~ msgstr "SaÃda %s + Entrada %s" diff --git a/po/pt_BR.po b/po/pt_BR.po index fd4f5391..323e5b94 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,498 +1,367 @@ -# Brazilian Translation of PulseAudio -# Copyright (C) 2008 pulseaudio +# Brazilian Portuguese translation of PulseAudio +# Copyright (C) 2008,2009 pulseaudio  # This file is distributed under the same license as the pulseaudio package.  # Fabian Affolter <fab@fedoraproject.org>, 2008. +# Igor Pires Soares <igor@projetofedora.org>, 2009.  #  msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" -"PO-Revision-Date: 2008-11-21 01:21-0300\n" -"Last-Translator: Henrique (LonelySpooky) Junior <lspooky@fedoraproject.org>\n" +"POT-Creation-Date: 2009-08-08 14:46+0000\n" +"PO-Revision-Date: 2009-08-08 19:02-0300\n" +"Last-Translator: Igor Pires Soares <igor@projetofedora.org>\n"  "Language-Team: Brazilian-Portuguese <fedora-trans-pt_br@redhat.com>\n"  "MIME-Version: 1.0\n"  "Content-Type: text/plain; charset=utf-8\n"  "Content-Transfer-Encoding: 8bit\n"  "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Language: Brazilian Portuguese\n" +"X-Poedit-Language: Portuguese\n"  "X-Poedit-Country: Brazil\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 +#: ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "%s %s" + +#: ../src/modules/alsa/alsa-util.c:1023  #, 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." +"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 "" +"O snd_pcm_avail() retornou um valor que é excepcionalmente grande: %lu bytes (%lu ms).\n" +"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, 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." +"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 "" +"O snd_pcm_delay() retornou um valor que é excepcionalmente grande: %li bytes (%s%lu ms).\n" +"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, 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." +"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 "" +"O snd_pcm_mmap_begin() retornou um valor que é excepcionalmente grande: %lu bytes (%lu ms).\n" +"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema aos desenvolvedores do ALSA."  #: ../src/modules/module-ladspa-sink.c:49  msgid "Virtual LADSPA sink" -msgstr "" +msgstr "Destino Virtual LADSPA"  #: ../src/modules/module-ladspa-sink.c:53 -msgid "" -"sink_name=<name for the sink> sink_properties=<properties for the sink> " -"master=<name of sink to filter> format=<sample format> rate=<sample rate> " -"channels=<number of channels> channel_map=<channel map> plugin=<ladspa " -"plugin name> label=<ladspa plugin label> control=<comma seperated list of " -"input control values>" -msgstr "" +msgid "sink_name=<name for the sink> sink_properties=<properties for the sink> master=<name of sink to filter> format=<sample format> rate=<sample rate> channels=<number of channels> channel_map=<channel map> plugin=<ladspa plugin name> label=<ladspa plugin label> control=<comma seperated list of input control values>" +msgstr "sink_name=<nome do destino> sink_properties=<propriedades do destino> master=<nome do destino a ser filtrado> format=<formato de amostragem> rate=<taxa da amostragem> channels=<número de canais> channel_map=<mapa dos canais> plugin=<nome do plugin ladspa> label=<rótulo do plugin ladspa> control=<lista separada por vÃrgulas dos valores de controle da entrada>" -#: ../src/pulsecore/sink.c:2394 -#, fuzzy +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio" -msgstr "Erro interno" +msgstr "Ãudio interno"  #: ../src/pulsecore/sink.c:2400  msgid "Modem" -msgstr "" +msgstr "Modem"  #: ../src/daemon/ltdl-bind-now.c:124 -#, fuzzy  msgid "Failed to find original lt_dlopen loader." -msgstr "Falha em encontrar o carregador original dlopen" +msgstr "Falha ao localizar o carregador original lt_dlopen."  #: ../src/daemon/ltdl-bind-now.c:129 -#, fuzzy  msgid "Failed to allocate new dl loader." -msgstr "Falha em encontrar o carregador original dlopen" +msgstr "Falha ao alocar o novo carregador dl."  #: ../src/daemon/ltdl-bind-now.c:142  msgid "Failed to add bind-now-loader."  msgstr "Falha em adicionar o bind-now-loader." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Não foi possÃvel conectar com o barramento do sistema: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Não foi possÃvel obter quem chamou pelo PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Não foi possÃvel definir o UID sobre o objeto que chamou." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Falha em obter a sessão CK." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Não foi possÃvel definir o UID do objeto da sessão." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Não foi possÃvel alocar o PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Não foi possÃvel definir a action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Não foi possÃvel alocar o PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Não foi possÃvel iniciar o PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Não foi possÃvel determinar se o solicitante está autorizado: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Não foi possÃvel obter auth: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit respondeu com '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Sinal %s recebido." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Saindo." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Falha em encontrar o usuário '%s'." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Falha em encontrar o grupo '%s'." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Usuário '%s' (UID %lu) e grupo  '%s' (GID %lu) encontrados." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "O GID do usuário'%s' e do grupo '%s' não combinam." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "O diretório Home do usuário '%s' não é '%s', ignorando." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 +#: ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Falha em criar '%s': %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Falha em alterar a lista de grupos: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Falha em mudar o GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Falha em mudar o UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Os privilégios do root foram retirados com sucesso." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "O modo ampliado do sistema não tem suporte nessa plataforma." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) falhou: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Falha em interpretar a linha de comando." -#: ../src/daemon/main.c:505 -#, 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:512 -#, 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:520 -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:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade." - -#: ../src/daemon/main.c:528 -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:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real." - -#: ../src/daemon/main.c:560 -#, 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:585 -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:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "RLIMIT_RTPRIO aumentado com sucesso" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO falhou: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Abandonando CAP_NICE" - -#: ../src/daemon/main.c:631 -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:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "O daemon não está em execução" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Daemon executando como PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Falha em encerrar o daemon: %s" -#: ../src/daemon/main.c:722 -msgid "" -"This program is not intended to be run as root (unless --system is " -"specified)." -msgstr "" -"Este programa não é para ser executado como root (a não ser que --system " -"seja especificado)." +#: ../src/daemon/main.c:568 +msgid "This program is not intended to be run as root (unless --system is specified)." +msgstr "Este programa não é para ser executado como root (a não ser que --system seja especificado)." -#: ../src/daemon/main.c:724 -#, fuzzy +#: ../src/daemon/main.c:570  msgid "Root privileges required." -msgstr "Privilégios de rot são requeridos." +msgstr "Privilégios de root requeridos." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start não tem suporte para instâncias de sistemas." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  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:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!" -msgstr "" -"Executando no modo system, mas --disallow-module-loading não foi configurado!" +msgstr "Executando no modo system, mas --disallow-module-loading não foi configurado!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "Executando no modo system, desabilitando forçadamente o modo SHM!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!" -msgstr "" -"Executando no modo system, desabilitando forçadamente o exit idle time!" +msgstr "Executando no modo system, desabilitando forçadamente o exit idle time!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Falha em adquirir o stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "O pipe falhou: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "O fork() falhou: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 +#: ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "A operação read() falhou: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Falha na partida do daemon." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Os daemons foram iniciados com sucesso." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Este é o PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Host de compilação: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "Compilação CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Executando no host: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs." -msgstr "" +msgstr "%u CPUs localizadas." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "O tamanho da página é %lu bytes" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compilado com suporte do Valgrind: sim" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compilado com suporte do Valgrind: não" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Executando em modo valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Build otimizado: sim" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Build otimizado: não" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled." -msgstr "" +msgstr "NDEBUG definido, todas as declarações desabilitadas." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled." -msgstr "" +msgstr "FASTPATH definido, somente as declarações do \"fast path\" foram desabilitadas." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled." -msgstr "" +msgstr "Todas as declarações habilitadas." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Falha em obter o ID da máquina" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "A ID da máquina é %s." -#: ../src/daemon/main.c:917 -#, fuzzy, c-format +#: ../src/daemon/main.c:770 +#, c-format  msgid "Session ID is %s." -msgstr "A ID da máquina é %s." +msgstr "O ID da sessão é %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Usando o diretório de runtime %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Usando o diretório de estado %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Executando em modo do sistema: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid "" -"OK, so you are running PA in system mode. Please note that you most likely " -"shouldn't be doing that.\n" -"If you do it nonetheless then it's your own fault if things don't work as " -"expected.\n" -"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an " -"explanation why system mode is usually a bad idea." +"OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that.\n" +"If you do it nonetheless then it's your own fault if things don't work as expected.\n" +"Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an explanation why system mode is usually a bad idea."  msgstr "" +"OK, então você está executando o PA no modo de sistema. Por favor, note que é mais provável que você não deveria estar fazendo isso.\n" +"Todavia, se você o fizer, então a culpa será sua se as coisas não funcionarem como esperado.\n" +"Por favor, leia o http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode para obter um explicação sobre porque o modo de sistema é uma má idéia." -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() falhou." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Timers de alta resolução frequinhos disponÃveis! Bon appetit!" -#: ../src/daemon/main.c:963 -msgid "" -"Dude, your kernel stinks! The chef's recommendation today is Linux with high-" -"resolution timers enabled!" -msgstr "" -"Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de " -"alta resolução habilitados!" +#: ../src/daemon/main.c:816 +msgid "Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!" +msgstr "Cara, teu kernel fede! A recomendação do chef hoje é Linux com timers de alta resolução habilitados!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() falhou." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Falha em iniciar o daemon." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work." -msgstr "" -"O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar." +msgstr "O Daemon iniciou sem qualquer módulo carregado, recusando-se a trabalhar." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "A partida dos Daemon está completa." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "O encerramento do Daemon foi iniciado." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Daemon terminado."  #: ../src/daemon/cmdline.c:115 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -502,48 +371,37 @@ msgid ""  "      --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" +"      --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" +"      --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" +"                                        (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" +"                                        (only available as root, when SUID or\n"  "                                        with elevated RLIMIT_RTPRIO)\n" -"      --disallow-module-loading[=BOOL]  Disallow module user requested " -"module\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" +"      --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" +"      --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" +"      --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-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" +"  -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" @@ -554,12 +412,10 @@ msgid ""  "      --disable-shm[=BOOL]              Disable shared memory support.\n"  "\n"  "STARTUP SCRIPT:\n" -"  -L, --load=\"MODULE ARGUMENTS\"         Load the specified plugin module " -"with\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" +"  -C                                    Open a command line on the running TTY\n"  "                                        after startup\n"  "\n"  "  -n                                    Don't load default script file\n" @@ -570,74 +426,56 @@ msgstr ""  "  -h, --help                            Mostra esta ajuda\n"  "      --version                        Mostra a versão\n"  "      --dump-conf                       Descarrega a configuração padrão\n" -"      --dump-modules                   Descarrega a lista de módulos " -"disponÃveis\n" -"      --dump-resample-methods           Descarrega os métodos de " -"reamostragem (resample)\n" -"      --cleanup-shm                     Limpa os segmentos de memória " -"compartilhados\n" -"      --start                           Inicia o daemon se ele não estiver " -"em execução\n" +"      --dump-modules                   Descarrega a lista de módulos disponÃveis\n" +"      --dump-resample-methods           Descarrega os métodos de reamostragem\n" +"      --cleanup-shm                     Limpa os segmentos de memória compartilhados\n" +"      --start                           Inicia o daemon se ele não estiver em execução\n"  "  -k  --kill                            Encerra um daemon em execução\n" -"      --check                           Verifica um daemon em execução\n" +"      --check                           Verifica se há um daemon em execução (somente retorna o código de saÃda)\n"  "\n"  "OPÇÕES:\n" -"      --system[=BOOL]                   Executa como uma instância do " -"sistema em escala ampla \n" -"  -D, --daemonize[=BOOL]                Torna um daemom (daemonize) depois " -"da partida\n" +"      --system[=BOOL]                   Executa como uma instância do sistema em escala ampla\n" +"  -D, --daemonize[=BOOL]                Torna-se um daemom após o inÃcio\n"  "      --fail[=BOOL]                     Sai quando a partida falha\n"  "      --high-priority[=BOOL]            Tenta definir um nÃvel alto de nice\n"  "                                        (disponÃvel apenas, quando SUID ou\n"  "                                        com RLIMIT_NICE) elevado\n" -"      --realtime[=BOOL]                 Tenta habilidar o escalonamento em " -"tempo real\n" -"                                        (disponÃvel apenas como root, quando " -"SUID ou\n" +"      --realtime[=BOOL]                 Tenta habilitar o escalonamento em tempo real\n" +"                                        (disponÃvel apenas como root, quando SUID ou\n"  "                                        com  RLIMIT_RTPRIO) elevado\n" -"      --disallow-module-loading[=BOOL]  Não permite carga/descarga de módulo " -"requerido pelo usuário\n" +"      --disallow-module-loading[=BOOL]  Não permite carga/descarga de módulo requerido pelo usuário\n"  "                                        depois da partida\n" -"      --disallow-exit[=BOOL]            Não permite saÃda requisitada pelo " -"usuário\n" -"      --exit-idle-time=SECS             Termina um daemon quando ocioso e " -"este\n" -"                                        tempo foi decorrido\n" -"      --module-idle-time=SECS           Descarrega os modulos " -"autocarregáveis quando ociosos e\n" +"      --disallow-exit[=BOOL]            Não permite saÃda requisitada pelo usuário\n" +"      --exit-idle-time=SECS             Termina um daemon quando ocioso e este\n"  "                                        tempo foi decorrido\n" -"      --scache-idle-time=SECS           Descarrega amostras quando ociosas " -"e\n" -"                                        este tempo tenha passado\n" -"      --log-level[=LEVEL]               Aumenta ou define o grau de " -"verbosidade\n" -"  -v                                    Aumenta o nÃvel de verbosidade\n" -"      --log-target={auto,syslog,stderr} Especifica o alvo do log\n" -"  -p, --dl-search-path=PATH             Define o caminho de busca (search " -"paht)para objetos (plugins)\n" -"                                            dinamicamente commpartilhados\n" -"      --resample-method=METHOD         Usa o método de reamostragem " -"especificado\n" +"      --module-idle-time=SECS           Descarrega os módulos autocarregáveis quando ociosos e\n" +"                                        este tempo foi decorrido\n" +"      --scache-idle-time=SECS           Descarrega amostras quando ociosas e\n" +"                                        este tempo foi decorrido\n" +"      --log-level[=LEVEL]               Aumenta ou define o grau de detalhamento\n" +"  -v                                    Aumenta o nÃvel de detalhamento\n" +"      --log-target={auto,syslog,stderr} Especifica o destino do log\n" +"      --log-meta[=BOOL]                 Inclui a localização do código na mensagem de log\n" +"      --log-time[=BOOL]                 Inclui carimbos de hora nas mensagens de log\n" +"      --log-backtrace=FRAMES            Inclui um backtrace na mensagem de log\n" +"  -p, --dl-search-path=PATH             Define o caminho de pesquisa para objetos (plugins)\n" +"                                            dinamicamente compartilhados\n" +"      --resample-method=METHOD         Usa o método de reamostragem especificado\n"  "                                        (Veja --dump-resample-methods para\n"  "                                        valores possÃveis)\n" -"      --use-pid-file[=BOOL]             Cria um arquivo PID file\n" -"      --no-cpu-limit[=BOOL]            Não instala um limitador de carga de " -"CPU load em\n" +"      --use-pid-file[=BOOL]             Cria um arquivo PID\n" +"      --no-cpu-limit[=BOOL]            Não instala um limitador de carga de CPU em\n"  "                                        plataformas que o suportem.\n" -"      --disable-shm[=BOOL]              Desabilita o suporte a memória " -"compartilhada.\n" +"      --disable-shm[=BOOL]              Desabilita o suporte à memória compartilhada.\n"  "\n" -"STARTUP SCRIPT:\n" -"  -L, --load=\"MODULE ARGUMENTS\"         Carrega um plugin especificado " -"com\n" +"SCRIPT DE INÃCIO:\n" +"  -L, --load=\"ARGUMENTOS DO MÓDULO\"    Carrega um plugin especificado com\n"  "                                        o argumento especificado\n" -"  -F, --file=FILENAME                  Executa o script especificado\n" -"  -C                                    Abre uma linha de comando no TTY em " -"execução\n" +"  -F, --file=NOME_DO_ARQUIVO          Executa o script especificado\n" +"  -C                                    Abre uma linha de comando no TTY em execução\n"  "                                       depois da partida\n"  "\n" -"  -n                                    Não carrega o arquivo de script " -"padrão\n" +"  -n                                    Não carrega o arquivo de script padrão\n"  #: ../src/daemon/cmdline.c:247  msgid "--daemonize expects boolean argument" @@ -648,12 +486,8 @@ msgid "--fail expects boolean argument"  msgstr "--fail espera argumento booleano"  #: ../src/daemon/cmdline.c:264 -msgid "" -"--log-level expects log level argument (either numeric in range 0..4 or one " -"of debug, info, notice, warn, error)." -msgstr "" -"--log-level espera um argumento em nÃvel de log  (seja numérico na faixa de " -"0..4 seja algum entre debug, info, notice, warn, error)." +msgid "--log-level expects log level argument (either numeric in range 0..4 or one of debug, info, notice, warn, error)." +msgstr "--log-level espera um argumento em nÃvel de log  (seja numérico na faixa de 0..4 seja algum entre debug, info, notice, warn, error)."  #: ../src/daemon/cmdline.c:276  msgid "--high-priority expects boolean argument" @@ -668,9 +502,8 @@ msgid "--disallow-module-loading expects boolean argument"  msgstr "--disallow-module-loading espera um argumento booleano"  #: ../src/daemon/cmdline.c:297 -#, fuzzy  msgid "--disallow-exit expects boolean argument" -msgstr "--disallow-exit argumento booleano" +msgstr "--disallow-exit espera um argumento booleano"  #: ../src/daemon/cmdline.c:304  msgid "--use-pid-file expects boolean argument" @@ -681,14 +514,12 @@ msgid "Invalid log target: use either 'syslog', 'stderr' or 'auto'."  msgstr "Log target inválido: use 'syslog', 'stderr' ou 'auto'."  #: ../src/daemon/cmdline.c:328 -#, fuzzy  msgid "--log-time expects boolean argument" -msgstr "--realtime espera um argumento booleano" +msgstr "--log-time espera um argumento booleano"  #: ../src/daemon/cmdline.c:335 -#, fuzzy  msgid "--log-meta expects boolean argument" -msgstr "--disallow-exit argumento booleano" +msgstr "--log-meta espera um argumento booleano"  #: ../src/daemon/cmdline.c:354  #, c-format @@ -745,7 +576,7 @@ msgstr "Carrega uma vez: %s\n"  #: ../src/daemon/dumpmodules.c:75  #, c-format  msgid "DEPRECATION WARNING: %s\n" -msgstr "" +msgstr "AVISO DE OBSOLESCÊNCIA: %s\n"  #: ../src/daemon/dumpmodules.c:79  #, c-format @@ -793,9 +624,9 @@ msgid "[%s:%u] Invalid sample channels '%s'."  msgstr "[%s:%u] Canais de amostragem inválidos'%s'."  #: ../src/daemon/daemon-conf.c:354 -#, fuzzy, c-format +#, c-format  msgid "[%s:%u] Invalid channel map '%s'." -msgstr "[%s:%u] Canais de amostragem inválidos'%s'." +msgstr "[%s:%u] Mapa de canais \"%s\" inválido."  #: ../src/daemon/daemon-conf.c:372  #, c-format @@ -818,54 +649,28 @@ msgid "Failed to open configuration file: %s"  msgstr "Falha em abrir o arquivo de configuração: %s"  #: ../src/daemon/daemon-conf.c:540 -msgid "" -"The specified default channel map has a different number of channels than " -"the specified default number of channels." -msgstr "" +msgid "The specified default channel map has a different number of channels than the specified default number of channels." +msgstr "O mapa padrão dos canais especificado tem um número diferente de canais do que o número de canais padrão especificado."  #: ../src/daemon/daemon-conf.c:616  #, c-format  msgid "### Read from configuration file: %s ###\n"  msgstr "### Lido do arquivo de configuração: %s ###\n" -#: ../src/daemon/caps.c:63 -#, fuzzy +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Descartando os privilégios de root." -#: ../src/daemon/caps.c:103 -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 "" +msgstr "Sistema de som PulseAudio"  #: ../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." +msgstr "Iniciar o sistema de som 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:105 ../src/pulse/channelmap.c:747 +#: ../src/pulse/channelmap.c:105 +#: ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1069,35 +874,38 @@ msgstr "Posterior Superior Esquerdo"  msgid "Top Rear Right"  msgstr "Posterior Superior Direito" -#: ../src/pulse/channelmap.c:478 ../src/pulse/sample.c:167 -#: ../src/pulse/volume.c:239 ../src/pulse/volume.c:265 -#: ../src/pulse/volume.c:285 ../src/pulse/volume.c:315 +#: ../src/pulse/channelmap.c:478 +#: ../src/pulse/sample.c:167 +#: ../src/pulse/volume.c:239 +#: ../src/pulse/volume.c:265 +#: ../src/pulse/volume.c:285 +#: ../src/pulse/volume.c:315  msgid "(invalid)"  msgstr "(Inválido)"  #: ../src/pulse/channelmap.c:751  msgid "Stereo" -msgstr "" +msgstr "Stereo"  #: ../src/pulse/channelmap.c:756  msgid "Surround 4.0" -msgstr "" +msgstr "Surround 4.0"  #: ../src/pulse/channelmap.c:762  msgid "Surround 4.1" -msgstr "" +msgstr "Surround 4.1"  #: ../src/pulse/channelmap.c:768  msgid "Surround 5.0" -msgstr "" +msgstr "Surround 5.0"  #: ../src/pulse/channelmap.c:774  msgid "Surround 5.1" -msgstr "" +msgstr "Surround 5.1"  #: ../src/pulse/channelmap.c:781  msgid "Surround 7.1" -msgstr "" +msgstr "Surround 7.1"  #: ../src/pulse/error.c:43  msgid "OK" @@ -1189,42 +997,43 @@ msgstr "Não existe tal extensão"  #: ../src/pulse/error.c:65  msgid "Obsolete functionality" -msgstr "" +msgstr "Funcionalidade obsoleta"  #: ../src/pulse/error.c:66  msgid "Missing implementation" -msgstr "" +msgstr "Implementação faltando"  #: ../src/pulse/error.c:67  msgid "Client forked" -msgstr "" +msgstr "Cliente bifurcado"  #: ../src/pulse/sample.c:169  #, c-format  msgid "%s %uch %uHz" -msgstr "" +msgstr "%s %uch %uHz"  #: ../src/pulse/sample.c:181  #, c-format  msgid "%0.1f GiB" -msgstr "" +msgstr "%0.1f GiB"  #: ../src/pulse/sample.c:183  #, c-format  msgid "%0.1f MiB" -msgstr "" +msgstr "%0.1f MiB"  #: ../src/pulse/sample.c:185  #, c-format  msgid "%0.1f KiB" -msgstr "" +msgstr "%0.1f KiB"  #: ../src/pulse/sample.c:187  #, c-format  msgid "%u B" -msgstr "" +msgstr "%u B" -#: ../src/pulse/client-conf-x11.c:55 ../src/utils/pax11publish.c:100 +#: ../src/pulse/client-conf-x11.c:55 +#: ../src/utils/pax11publish.c:100  msgid "XOpenDisplay() failed"  msgstr "XOpenDisplay() falhou" @@ -1237,187 +1046,187 @@ msgstr "Falhou ao analisar os dados do cookie"  msgid "Failed to open configuration file '%s': %s"  msgstr "Falha em abrir o arquivo de configuração '%s': %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Nenhum cookie foi carregado. Tentativa de conexão sem eles." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Foi recebida uma mensagem para uma extensão desconhecida '%s'" -#: ../src/utils/pacat.c:107 +#: ../src/utils/pacat.c:108  #, c-format -msgid "Failed to drain stream: %s\n" -msgstr "Falha em drenar o fluxo: %s\n" +msgid "Failed to drain stream: %s" +msgstr "Falha ao drenar o fluxo: %s" + +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained." +msgstr "Fluxo de reprodução drenado." -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" -msgstr "Drenado o fluxo de playback.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server." +msgstr "Drenando conexão para o servidor." -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" -msgstr "Drenando a conexão par ao servidor.\n" +#: ../src/utils/pacat.c:136 +#, c-format +msgid "pa_stream_drain(): %s" +msgstr "pa_stream_drain(): %s" -#: ../src/utils/pacat.c:135 +#: ../src/utils/pacat.c:159  #, c-format -msgid "pa_stream_drain(): %s\n" -msgstr "pa_stream_drain(): %s\n" +msgid "pa_stream_write() failed: %s" +msgstr "pa_stream_write() falhou: %s" -#: ../src/utils/pacat.c:158 +#: ../src/utils/pacat.c:197  #, c-format -msgid "pa_stream_write() failed: %s\n" -msgstr "pa_stream_write() falhou: %s\n" +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_begin_write() falhou: %s" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 +#: ../src/utils/pacat.c:237 +#: ../src/utils/pacat.c:267  #, c-format -msgid "pa_stream_peek() failed: %s\n" -msgstr "pa_stream_peek() falhou: %s\n" +msgid "pa_stream_peek() failed: %s" +msgstr "pa_stream_peek() falhou: %s" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" -msgstr "O fluxo (stream) foi criado com sucesso.\n" +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created." +msgstr "Fluxo criado com sucesso." -#: ../src/utils/pacat.c:305 +#: ../src/utils/pacat.c:310  #, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" -msgstr "pa_stream_get_buffer_attr() falhou: %s\n" +msgid "pa_stream_get_buffer_attr() failed: %s" +msgstr "pa_stream_get_buffer_attr() falhou: %s" -#: ../src/utils/pacat.c:309 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -msgstr "Metrica do buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u" +msgstr "Métricas do buffer: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u" -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" -msgstr "Métrica do buffer: maxlength=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u" +msgstr "Métricas do buffer: maxlength=%u, fragsize=%u" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" -msgstr "Usando a espeficifação de amostragem '%s', mapa do canal '%s'.\n" +msgid "Using sample spec '%s', channel map '%s'." +msgstr "Usando especificação de amostragem \"%s\", mapa de canais \"%s\"." -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" -msgstr "Conectado ao dispositivo %s (%u, %ssuspended).\n" +msgid "Connected to device %s (%u, %ssuspended)." +msgstr "Conectado ao dispositivo %s (%u, %ssuspended)." -#: ../src/utils/pacat.c:330 +#: ../src/utils/pacat.c:335  #, c-format -msgid "Stream error: %s\n" -msgstr "Erro de fluxo: %s\n" +msgid "Stream error: %s" +msgstr "Erro de fluxo: %s" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" -msgstr "Dispositivo de fluxo suspenso.%s \n" +msgid "Stream device suspended.%s" +msgstr "Dispositivo de fluxo suspenso.%s" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" -msgstr "Dispositivo de fluxo prosseguiu.%s \n" +msgid "Stream device resumed.%s" +msgstr "O dispositivo de fluxo continuou.%s" -#: ../src/utils/pacat.c:350 +#: ../src/utils/pacat.c:355  #, c-format -msgid "Stream underrun.%s \n" -msgstr "Extravazamento do fluxo. %s\n" +msgid "Stream underrun.%s" +msgstr "Subestimação do fluxo.%s" -#: ../src/utils/pacat.c:357 +#: ../src/utils/pacat.c:362  #, c-format -msgid "Stream overrun.%s \n" -msgstr "O fluxo extravazou.%s \n" +msgid "Stream overrun.%s" +msgstr "Superestimação do fluxo.%s" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" -msgstr "O fluxo iniciou: %s\n" +msgid "Stream started.%s" +msgstr "Fluxo iniciado.%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" -msgstr "O fluxo foi movido para o dispositivo %s (%u, %ssuspended).%s \n" +msgid "Stream moved to device %s (%u, %ssuspended).%s" +msgstr "Fluxo movido para o dispositivo %s (%u, %ssuspended).%s" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "não" -#: ../src/utils/pacat.c:378 -#, fuzzy, c-format -msgid "Stream buffer attributes changed.%s \n" -msgstr "Extravazamento do fluxo. %s\n" - -#: ../src/utils/pacat.c:411 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Connection established.%s \n" -msgstr "Conexão estabelecida.%s \n" +msgid "Stream buffer attributes changed.%s" +msgstr "Atributos do buffer de fluxo alterados.%s" -#: ../src/utils/pacat.c:414 +#: ../src/utils/pacat.c:416  #, c-format -msgid "pa_stream_new() failed: %s\n" -msgstr "pa_stream_new() falhou: %s\n" +msgid "Connection established.%s" +msgstr "Conexão estabelecida.%s" -#: ../src/utils/pacat.c:442 +#: ../src/utils/pacat.c:419  #, c-format -msgid "pa_stream_connect_playback() failed: %s\n" -msgstr "pa_stream_connect_playback() falhou: %s\n" +msgid "pa_stream_new() failed: %s" +msgstr "pa_stream_new() falhou: %s" -#: ../src/utils/pacat.c:448 +#: ../src/utils/pacat.c:447  #, c-format -msgid "pa_stream_connect_record() failed: %s\n" -msgstr "pa_stream_connect_record() falhou: %s\n" +msgid "pa_stream_connect_playback() failed: %s" +msgstr "pa_stream_connect_playback() falhou: %s" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 +#: ../src/utils/pacat.c:453  #, c-format -msgid "Connection failure: %s\n" -msgstr "Falha na conexão: %s\n" +msgid "pa_stream_connect_record() failed: %s" +msgstr "pa_stream_connect_record() falhou: %s" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Atingiu EOF.\n" +#: ../src/utils/pacat.c:467 +#, c-format +msgid "Connection failure: %s" +msgstr "Falha na conexão: %s"  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() falhou: %s\n" +msgid "Got EOF." +msgstr "Atingiu EOF." -#: ../src/utils/pacat.c:532 +#: ../src/utils/pacat.c:537  #, c-format -msgid "write() failed: %s\n" -msgstr "write() falhou: %s\n" +msgid "write() failed: %s" +msgstr "write() falhou: %s" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" -msgstr "Sinal recebido, saindo (exiting).\n" +#: ../src/utils/pacat.c:558 +msgid "Got signal, exiting." +msgstr "Sinal recebido, saindo." -#: ../src/utils/pacat.c:567 +#: ../src/utils/pacat.c:572  #, c-format -msgid "Failed to get latency: %s\n" -msgstr "Falhou em obter a latência: %s\n" +msgid "Failed to get latency: %s" +msgstr "Falha ao obter a latência: %s" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Tempo: %0.3f s; Latência: %0.0f us.  \r" -#: ../src/utils/pacat.c:592 +#: ../src/utils/pacat.c:595  #, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" -msgstr "Falha em pa_stream_update_timing_info(): %s\n" +msgid "pa_stream_update_timing_info() failed: %s" +msgstr "pa_stream_update_timing_info() falhou: %s"  #: ../src/utils/pacat.c:605 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options]\n"  "\n" @@ -1429,48 +1238,29 @@ msgid ""  "\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, " -"s24le, s24be,\n" -"                                        s24-32le, s24-32be (defaults to " -"s16ne)\n" -"      --channels=CHANNELS               The number of channels, 1 for mono, " -"2 for stereo\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, s24le, s24be,\n" +"                                        s24-32le, s24-32be (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" +"      --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" +"      --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" +"      --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" -"      --property=PROPERTY=VALUE         Set the specified property to the " -"specified value.\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" +"      --property=PROPERTY=VALUE         Set the specified property to the specified value.\n"  "      --raw                             Record/play raw PCM data.\n"  "      --file-format=FFORMAT             Record/play formatted PCM data.\n"  "      --list-file-formats               List available file formats.\n" @@ -1481,44 +1271,36 @@ msgstr ""  "      --version                         Mostra a versão\n"  "\n"  "  -r, --record                          Cria uma conexão para gravação\n" -"  -p, --playback                        Cria uma conexão para playback\n" +"  -p, --playback                        Cria uma conexão para reprodução\n"  "\n" -"  -v, --verbose                         Habilita operações no modo verboso\n" +"  -v, --verbose                         Habilita operações no modo detalhado\n"  "\n" -"  -s, --server=SERVER                   Nome do servidor a ser conectado\n" -"  -d, --device=DEVICE                   O nome do destino/fonte a conectar\n" -"  -n, --client-name=NAME                Como chamar o cliente no servidor\n" -"      --stream-name=NAME               Como chamar este fluxo no " -"servidorn      --volume=VOLUME                   Especifica a faixa (linear) " -"inicial de volume no intervalo 0...65536\n" -"      --rate=SAMPLERATE                 Taxa de amostragem em Hz (o padrão é " -"44100)\n" -"      --format=SAMPLEFORMAT             Tipo de amostragem, um de s16le, " -"s16be, u8, float32le,\n" -"                                        float32be, ulaw, alaw, s32le, s32be " -"(o padrão é s16ne)\n" -"      --channels=CHANNELS               O número de canais, 1 para mono, 2 " -"para estéreo\n" +"  -s, --server=SERVIDOR                   Nome do servidor a conectar-se\n" +"  -d, --device=DISPOSITIVO                   O nome do destino/fonte a conectar-se\n" +"  -n, --client-name=NOME                Como chamar este cliente no servidor\n" +"      --stream-name=NOME               Como chamar este fluxo no servidor\n" +"      --volume=VOLUME                   Especifica a faixa (linear) inicial de volume no intervalo 0...65536\n" +"      --rate=TAXA_DE_AMOSTRAGEM             Taxa de amostragem em Hz (o padrão é 44100)\n" +"      --format=FORMATO_DE_AMOSTRAGEM       Tipo de amostragem, um de s16le, s16be, u8, float32le,\n" +"                                        float32be, ulaw, alaw, s32le, s32be, s24le, s24be,\n" +"                                        s24-32le, s24-32be (o padrão é s16ne)\n" +"      --channels=CANAIS               O número de canais, 1 para mono, 2 para estéreo\n"  "                                        (o padrão é 2)\n" -"      --channel-map=CHANNELMAP          Mapeamento de canais a ser usando em " -"lugar do padrão\n" -"      --fix-format                      Obtém o formato da amostragem do " -"destino onde o fluxo\n" -" está sendo conectado.\n" -"            --fix-rate                        Obtém o taxa de amostragem do " -"destino onde o fluxo está\n" +"      --channel-map=MAPA_DE_CANAIS          Mapeamento de canais a ser usado no lugar do padrão\n" +"      --fix-format                      Obtém o formato da amostragem do destino onde o fluxo\n" +"                                             está sendo conectado.\n" +"      --fix-rate                        Obtém a taxa de amostragem do destino onde o fluxo está\n"  "                                        sendo conectado.\n" -"      --fix-channels                    Obtém o número de canais e o mapa de " -"canais\n" -"                                      do destino onde o fluxo está sendo " -"conectado.\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" +"      --fix-channels                    Obtém o número de canais e o mapa de canais\n" +"                                      do destino onde o fluxo está sendo conectado.\n" +"      --no-remix                        Não realizar upmix nem downmix dos canais.\n" +"      --no-remap                        Mapear os canais por Ãndice em vez de nome.\n" +"      --latency=BYTES                   Requisitar a latência especificada em bytes.\n" +"      --process-time=BYTES              Requisitar o tempo de processo especificado por requisições em bytes.\n" +"      --property=PROPRIEDADE=VALOR         Define a propriedade especificada para o valor especificado.\n" +"      --raw                             Grava/reproduz dados PCM não tratados.\n" +"      --file-format=FORMATO_DO_ARQ.             Grava/reproduz dados PCM formatados.\n" +"      --list-file-formats               Lista os formatos de arquivo disponÃveis.\n"  #: ../src/utils/pacat.c:727  #, c-format @@ -1531,97 +1313,91 @@ msgstr ""  "Compilado com  libpulse %s\n"  "Linkado com libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 -#, fuzzy, c-format -msgid "Invalid client name '%s'\n" -msgstr "Mapa de canal inválido '%s'\n" +#: ../src/utils/pacat.c:760 +#, c-format +msgid "Invalid client name '%s'" +msgstr "Nome do cliente \"%s\" inválido"  #: ../src/utils/pacat.c:776 -#, fuzzy, c-format -msgid "Invalid stream name '%s'\n" -msgstr "Método de reamostragem inválido '%s'." +#, c-format +msgid "Invalid stream name '%s'" +msgstr "Nome do fluxo \"%s\" inválido"  #: ../src/utils/pacat.c:813  #, c-format -msgid "Invalid channel map '%s'\n" -msgstr "Mapa de canal inválido '%s'\n" +msgid "Invalid channel map '%s'" +msgstr "Mapa de canais \"%s\" inválido"  #: ../src/utils/pacat.c:842  #, c-format -msgid "Invalid latency specification '%s'\n" -msgstr "Especificação de latência inválida '%s'\n" +msgid "Invalid latency specification '%s'" +msgstr "Especificação de latência inválida \"%s\""  #: ../src/utils/pacat.c:849  #, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "Especificação do tempo do processo inválida '%s'\n" +msgid "Invalid process time specification '%s'" +msgstr "Especificação do tempo de processo \"%s\" inválida"  #: ../src/utils/pacat.c:861 -#, fuzzy, c-format -msgid "Invalid property '%s'\n" -msgstr "Método de reamostragem inválido '%s'." +#, c-format +msgid "Invalid property '%s'" +msgstr "Propriedade \"%s\" inválida"  #: ../src/utils/pacat.c:878  #, c-format  msgid "Unknown file format %s." -msgstr "" +msgstr "Formato de arquivo %s desconhecido."  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "Especificação de amostragem inválida\n" +msgid "Invalid sample specification" +msgstr "Especificação de amostragem inválida"  #: ../src/utils/pacat.c:907  #, c-format -msgid "open(): %s\n" -msgstr "open(): %s\n" +msgid "open(): %s" +msgstr "open(): %s"  #: ../src/utils/pacat.c:912  #, c-format -msgid "dup2(): %s\n" -msgstr "dup2(): %s\n" +msgid "dup2(): %s" +msgstr "dup2(): %s"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" -msgstr "Argumentos em excesso.\n" +msgid "Too many arguments." +msgstr "Argumentos em excesso."  #: ../src/utils/pacat.c:930 -#, fuzzy -msgid "Failed to generate sample specification for file.\n" -msgstr "Falha em obter informações sobre a amostragem: %s\n" +msgid "Failed to generate sample specification for file." +msgstr "Falha ao gerar a especificação de amostragem para o arquivo."  #: ../src/utils/pacat.c:950 -#, fuzzy -msgid "Failed to open audio file.\n" -msgstr "Falha em abrir o arquivo de som.\n" +msgid "Failed to open audio file." +msgstr "Falha ao abrir o arquivo de áudio."  #: ../src/utils/pacat.c:956 -msgid "" -"Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +msgid "Warning: specified sample specification will be overwritten with specification from file." +msgstr "Aviso: a especificação de amostragem especificada será sobrescrita pela especificação do arquivo." -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -#, fuzzy -msgid "Failed to determine sample specification from file.\n" -msgstr "Falha em obter informações sobre a amostragem: %s\n" +#: ../src/utils/pacat.c:959 +msgid "Failed to determine sample specification from file." +msgstr "Falha ao determinar a especificação de amostragem a partir do arquivo."  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +msgid "Warning: Failed to determine channel map from file." +msgstr "Aviso: falha ao determinar o mapa de canais a partir do arquivo."  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "O mapeamento do canal não casa com a especificação da amostragem\n" +msgid "Channel map doesn't match sample specification" +msgstr "O mapa de canais não combina com a especificação da amostragem"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +msgid "Warning: failed to write channel map to file." +msgstr "Aviso: falha ao gravar o mapa de canais no arquivo."  #: ../src/utils/pacat.c:1005 -#, fuzzy, c-format -msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" -msgstr "Abrindo um %s fluxo com a especificação de amostragem '%s'.\n" +#, c-format +msgid "Opening a %s stream with sample specification '%s' and channel map '%s'." +msgstr "Abrindo um fluxo %s com a especificação de amostragem \"%s\" e mapeamento de canais \"%s\"."  #: ../src/utils/pacat.c:1006  msgid "recording" @@ -1631,36 +1407,31 @@ msgstr "gravando"  msgid "playback"  msgstr "playback" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" -msgstr "pa_mainloop_new() falhou.\n" +#: ../src/utils/pacat.c:1032 +msgid "pa_mainloop_new() failed." +msgstr "pa_mainloop_new() falhou."  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" -msgstr "io_new() falhou.\n" +msgid "io_new() failed." +msgstr "io_new() falhou." -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" -msgstr "pa_context_new() falhou.\n" +#: ../src/utils/pacat.c:1058 +msgid "pa_context_new() failed." +msgstr "pa_context_new() falhou."  #: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_new() falhou: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() falhou.\n" +#: ../src/utils/pacat.c:1072 +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_rttime_new() falhou." -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" -msgstr "pa_mainloop_run() falhou.\n" +#: ../src/utils/pacat.c:1079 +msgid "pa_mainloop_run() failed." +msgstr "pa_mainloop_run() falhou."  #: ../src/utils/pasuspender.c:81  #, c-format @@ -1685,11 +1456,16 @@ msgstr "Falha ao prosseguir: %s\n"  #: ../src/utils/pasuspender.c:147  #, c-format  msgid "WARNING: Sound server is not local, not suspending.\n" -msgstr "" -"AVISO: O servidor de som não é local, Sound server is not local, não está em " -"suspenso.\n" +msgstr "AVISO: O servidor de som não é local, Sound server is not local, não está em suspenso.\n" + +#: ../src/utils/pasuspender.c:159 +#: ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Falha na conexão: %s\n" -#: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820 +#: ../src/utils/pasuspender.c:176 +#: ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n"  msgstr "Recebido o SIGINT, saindo.\n" @@ -1706,8 +1482,7 @@ msgid ""  "\n"  "  -h, --help                            Show this help\n"  "      --version                         Show version\n" -"  -s, --server=SERVER                   The name of the server to connect " -"to\n" +"  -s, --server=SERVER                   The name of the server to connect to\n"  "\n"  msgstr ""  "%s [options] ... \n" @@ -1728,6 +1503,24 @@ msgstr ""  "Compilado com libpulse %s\n"  "Linkado com libpulse %s\n" +#: ../src/utils/pasuspender.c:277 +#: ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() falhou.\n" + +#: ../src/utils/pasuspender.c:290 +#: ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() falhou.\n" + +#: ../src/utils/pasuspender.c:298 +#: ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() falhou.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1754,7 +1547,7 @@ msgid "Failed to get server information: %s\n"  msgstr "Falha em obter a informação do servidor: %s\n"  #: ../src/utils/pactl.c:157 -#, fuzzy, c-format +#, c-format  msgid ""  "User name: %s\n"  "Host Name: %s\n" @@ -1766,11 +1559,12 @@ msgid ""  "Default Source: %s\n"  "Cookie: %08x\n"  msgstr "" -"Nome do Usuário: %s\n" -"Nome do Host: %s\n" -"Nome do Servidor: %s\n" -"Versão do Servidor: %s\n" +"Nome do usuário: %s\n" +"Nome da máquina: %s\n" +"Nome do servidor: %s\n" +"Versão do servidor: %s\n"  "Especificação padrão de amostragem: %s\n" +"Mapa de canais padrão: %s\n"  "Destino padrão: %s\n"  "Fonte padrão %s\n"  "Cookie: %08x\n" @@ -1781,7 +1575,7 @@ msgid "Failed to get sink information: %s\n"  msgstr "Falha em obter a informação do destino: %s\n"  #: ../src/utils/pactl.c:214 -#, fuzzy, c-format +#, c-format  msgid ""  "Sink #%u\n"  "\tState: %s\n" @@ -1801,28 +1595,35 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Destino #%u ***\n" -"Nome: %s\n" -"Driver: %s\n" -"Especificação de amostragem: %s\n" -"Mapa de canais: %s\n" -"Propretário do módulo: %u\n" -"Volume: %s\n" -"Fonte do monitor: %s\n" -"Latência: %0.0f us, configurado %0.0f us\n" -"Flags: %s%s%s%s%s%s\n" -"Propriedades:\n" -"%s" - -#: ../src/utils/pactl.c:261 ../src/utils/pactl.c:353 +"Destino #%u\n" +"\tEstado: %s\n" +"\tNome: %s\n" +"\tDescrição: %s\n" +"\tDriver: %s\n" +"\tEspecificação da amostragem: %s\n" +"\tMapa dos canais: %s\n" +"\tMódulo proprietário: %u\n" +"\tMudo: %s\n" +"\tVolume: %s%s%s\n" +"\t        balanço %0.2f\n" +"\tVolume base: %s%s%s\n" +"\tFonte de monitoração: %s\n" +"\tLatência: %0.0f usec, %0.0f usec configurado\n" +"\tSinalizadores: %s%s%s%s%s%s\n" +"\tPropriedades:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:261 +#: ../src/utils/pactl.c:353  #, c-format  msgid "\tPorts:\n" -msgstr "" +msgstr "\tPortas:\n" -#: ../src/utils/pactl.c:267 ../src/utils/pactl.c:359 -#, fuzzy, c-format +#: ../src/utils/pactl.c:267 +#: ../src/utils/pactl.c:359 +#, c-format  msgid "\tActive Port: %s\n" -msgstr "O pipe falhou: %s" +msgstr "\tPorta ativa: %s\n"  #: ../src/utils/pactl.c:290  #, c-format @@ -1830,7 +1631,7 @@ msgid "Failed to get source information: %s\n"  msgstr "Falha em obter a informação da fonte: %s\n"  #: ../src/utils/pactl.c:306 -#, fuzzy, c-format +#, c-format  msgid ""  "Source #%u\n"  "\tState: %s\n" @@ -1850,23 +1651,36 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Fonte #%u ***\n" -"Nome: %s\n" -"Driver: %s\n" -"Especificação de amostragem: %s\n" -"Mapa do canal: %s\n" -"Proprietário do módulo: %u\n" -"Volume: %s\n" -"Monitor do destino: %s\n" -"Latência: %0.0f us, configurado %0.0f us:\n" -"Flags: %s%s%s%s%s%s\n" -"Propriedades:\n" -"%s" - -#: ../src/utils/pactl.c:338 ../src/utils/pactl.c:394 ../src/utils/pactl.c:429 -#: ../src/utils/pactl.c:466 ../src/utils/pactl.c:525 ../src/utils/pactl.c:526 -#: ../src/utils/pactl.c:536 ../src/utils/pactl.c:580 ../src/utils/pactl.c:581 -#: ../src/utils/pactl.c:587 ../src/utils/pactl.c:630 ../src/utils/pactl.c:631 +"Fonte #%u\n" +"\tEstado: %s\n" +"\tNome: %s\n" +"\tDescrição: %s\n" +"\tDriver: %s\n" +"\tEspecificação da amostragem: %s\n" +"\tMapa dos canais: %s\n" +"\tMódulo proprietário: %u\n" +"\tMudo: %s\n" +"\tVolume: %s%s%s\n" +"\t        balanço %0.2f\n" +"\tVolume base: %s%s%s\n" +"\tMonitor do destino: %s\n" +"\tLatência: %0.0f usec, %0.0f usec configurado\n" +"\tSinalizadores: %s%s%s%s%s%s\n" +"\tPropriedades:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:338 +#: ../src/utils/pactl.c:394 +#: ../src/utils/pactl.c:429 +#: ../src/utils/pactl.c:466 +#: ../src/utils/pactl.c:525 +#: ../src/utils/pactl.c:526 +#: ../src/utils/pactl.c:536 +#: ../src/utils/pactl.c:580 +#: ../src/utils/pactl.c:581 +#: ../src/utils/pactl.c:587 +#: ../src/utils/pactl.c:630 +#: ../src/utils/pactl.c:631  #: ../src/utils/pactl.c:638  msgid "n/a"  msgstr "n/a" @@ -1877,7 +1691,7 @@ msgid "Failed to get module information: %s\n"  msgstr "Falha em obter a informação do módulo: %s\n"  #: ../src/utils/pactl.c:386 -#, fuzzy, c-format +#, c-format  msgid ""  "Module #%u\n"  "\tName: %s\n" @@ -1886,11 +1700,12 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Módulo #%u ***\n" -"Nome: %s\n" -"Argumento: %s\n" -"Contador de uso: %s\n" -"Auto descarregar: %s\n" +"Módulo #%u\n" +"\tNome: %s\n" +"\tArgumento: %s\n" +"\tContador de uso: %s\n" +"\tPropriedades:\n" +"\t\t%s\n"  #: ../src/utils/pactl.c:405  #, c-format @@ -1898,7 +1713,7 @@ msgid "Failed to get client information: %s\n"  msgstr "Falhou ao obter a informação do cliente: %s\n"  #: ../src/utils/pactl.c:423 -#, fuzzy, c-format +#, c-format  msgid ""  "Client #%u\n"  "\tDriver: %s\n" @@ -1906,19 +1721,19 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Cliente #%u ***\n" -"Driver: %s\n" -"Poprietário do módulo: %s\n" -"Propriedades:\n" -"%s" +"Cliente #%u\n" +"\tDriver: %s\n" +"\tMódulo proprietário: %s\n" +"\tPropriedades:\n" +"\t\t%s\n"  #: ../src/utils/pactl.c:440 -#, fuzzy, c-format +#, c-format  msgid "Failed to get card information: %s\n" -msgstr "Falha em obter a informação do autoload: %s\n" +msgstr "Falha ao obter as informações da placa: %s\n"  #: ../src/utils/pactl.c:458 -#, fuzzy, c-format +#, c-format  msgid ""  "Card #%u\n"  "\tName: %s\n" @@ -1927,21 +1742,22 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Cliente #%u ***\n" -"Driver: %s\n" -"Poprietário do módulo: %s\n" -"Propriedades:\n" -"%s" +"Placa #%u\n" +"\tNome: %s\n" +"\tDriver: %s\n" +"\tMódulo proprietário: %s\n" +"\tPropriedades:\n" +"\t\t%s\n"  #: ../src/utils/pactl.c:472  #, c-format  msgid "\tProfiles:\n" -msgstr "" +msgstr "\tPerfis:\n"  #: ../src/utils/pactl.c:478 -#, fuzzy, c-format +#, c-format  msgid "\tActive Profile: %s\n" -msgstr "O pipe falhou: %s" +msgstr "\tPerfil ativo: %s\n"  #: ../src/utils/pactl.c:489  #, c-format @@ -1949,7 +1765,7 @@ 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:508 -#, fuzzy, c-format +#, c-format  msgid ""  "Sink Input #%u\n"  "\tDriver: %s\n" @@ -1968,19 +1784,22 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Entrada do destino #%u ***\n" -"Driver: %s\n" -"Proprietário do módulo: %s\n" -"Cliente: %s\n" -"Destino: %u\n" -"Especificação da amostragem: %s\n" -"Mapa de canais: %s\n" -"Volume: %s\n" -"Latência do buffer: %0.0f us\n" -"Latência do destino %0.0f usec\n" -"Método de reamostragem (resample): %s\n" -"Propriedades:\n" -"%s" +"Entrada do destino #%u\n" +"\tDriver: %s\n" +"\tMódulo proprietário: %s\n" +"\tCliente: %s\n" +"\tDestino: %u\n" +"\tEspecificação da amostragem: %s\n" +"\tMapa dos canais: %s\n" +"\tMudo: %s\n" +"\tVolume: %s\n" +"\t        %s\n" +"\t        balanço %0.2f\n" +"\tLatência do buffer: %0.0f usec\n" +"\tLatência do destino: %0.0f usec\n" +"\tMétodo de reamostragem: %s\n" +"\tPropriedades:\n" +"\t\t%s\n"  #: ../src/utils/pactl.c:547  #, c-format @@ -1988,7 +1807,7 @@ 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:567 -#, fuzzy, c-format +#, c-format  msgid ""  "Source Output #%u\n"  "\tDriver: %s\n" @@ -2003,18 +1822,18 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** SaÃda da Fonte #%u ***\n" -"Driver: %s\n" -"Proprietário do Módulo: %s\n" -"Cliente: %s\n" -"Fonte: %u\n" -"Especificação de Amostragem: %s\n" -"Mapa do Canal: %s\n" -"Latência do Buffer: %0.0f usec\n" -"Latência da Fonte: %0.0f usec\n" -"Método de Reamostragem (resample): %s\n" -"Propriedades:\n" -"%s" +"SaÃda da fonte #%u\n" +"\tDriver: %s\n" +"\tMódulo proprietário: %s\n" +"\tCliente: %s\n" +"\tFonte: %u\n" +"\tEspecificação da amostragem: %s\n" +"\tMapa dos canais: %s\n" +"\tLatência do buffer: %0.0f usec\n" +"\tLatência da fonte: %0.0f usec\n" +"\tMétodo de reamostragem: %s\n" +"\tPropriedades:\n" +"\t\t%s\n"  #: ../src/utils/pactl.c:598  #, c-format @@ -2022,7 +1841,7 @@ msgid "Failed to get sample information: %s\n"  msgstr "Falha em obter informações sobre a amostragem: %s\n"  #: ../src/utils/pactl.c:616 -#, fuzzy, c-format +#, c-format  msgid ""  "Sample #%u\n"  "\tName: %s\n" @@ -2038,19 +1857,22 @@ msgid ""  "\tProperties:\n"  "\t\t%s\n"  msgstr "" -"*** Amostragem #%u ***\n" -"Nome: %s\n" -"Volume: %s\n" -"Especificação da Amostragem: %s\n" -"Mapa de Canais: %s\n" -"Duração: %0.1fs\n" -"Tamanho: %s\n" -"Lazy: %s\n" -"Nome do Arquivo: %s\n" -"Propriedades:\n" -"%s" - -#: ../src/utils/pactl.c:646 ../src/utils/pactl.c:656 +"Amostra #%u\n" +"\tNome: %s\n" +"\tEspecificação da amostragem: %s\n" +"\tMapa dos canais: %s\n" +"\tVolume: %s\n" +"\t        %s\n" +"\t        balanço %0.2f\n" +"\tDuração: %0.1fs\n" +"\tTamanho: %s\n" +"\tLazy: %s\n" +"\tNome do arquivo: %s\n" +"\tPropriedades:\n" +"\t\t%s\n" + +#: ../src/utils/pactl.c:646 +#: ../src/utils/pactl.c:656  #, c-format  msgid "Failure: %s\n"  msgstr "Falha: %s\n" @@ -2065,7 +1887,7 @@ msgid "Premature end of file\n"  msgstr "Fim prematuro do arquivo\n"  #: ../src/utils/pactl.c:826 -#, fuzzy, c-format +#, c-format  msgid ""  "%s [options] stat\n"  "%s [options] list\n" @@ -2086,30 +1908,30 @@ msgid ""  "  -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 [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, --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 [opções] stat\n" +"%s [opções] list\n" +"%s [opções] exit\n" +"%s [opções] upload-sample NOME_DO_ARQUIVO [NOME]\n" +"%s [opções] play-sample NOME [DESTINO]\n" +"%s [opções] remove-sample NOME\n" +"%s [opções] move-sink-input ID DESTINO\n" +"%s [opções] move-source-output ID FONTE\n" +"%s [opções] load-module NOME [ARGS ...]\n" +"%s [opções] unload-module ID\n" +"%s [opções] suspend-sink [DESTINO] 1|0\n" +"%s [opções] suspend-source [FONTE] 1|0\n" +"%s [opções] set-card-profile [PLACA] [PERFIL] \n" +"%s [opções] set-sink-port [DESTINO] [PORTA] \n" +"%s [opções] set-source-port [FONTE] [PORTA] \n"  "\n"  "  -h, --help                            Mostra essa ajuda\n"  "      --version                        Mostra a versão\n"  "\n"  "  -s, --server=SERVER                   O nome do servidor a ser conectado\n" -"  -n, --client-name=NAME                Como chamar este cliente no " -"servidor \n" +"  -n, --client-name=NAME                Como chamar este cliente no servidor \n"  #: ../src/utils/pactl.c:880  #, c-format @@ -2122,6 +1944,11 @@ msgstr ""  "Compilado com libpulse %s\n"  "Linkado com libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "Nome do cliente \"%s\" inválido\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Por favor, especifique o arquivo de amostra a ser carregado\n" @@ -2130,10 +1957,13 @@ msgstr "Por favor, especifique o arquivo de amostra a ser carregado\n"  msgid "Failed to open sound file.\n"  msgstr "Falha em abrir o arquivo de som.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "Falha ao determinar a especificação de amostragem a partir do arquivo.\n" +  #: ../src/utils/pactl.c:951 -#, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" -msgstr "Abrindo um %s fluxo com a especificação de amostragem '%s'.\n" +msgstr "Aviso: falha ao determinar a especificação da amostragem a partir do arquivo.\n"  #: ../src/utils/pactl.c:961  msgid "You have to specify a sample name to play\n" @@ -2145,8 +1975,7 @@ msgstr "Você deve especificar um nome da amostra para ser removida\n"  #: ../src/utils/pactl.c:982  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" +msgstr "Você tem que especificar a entrada para o destino e um destino\n"  #: ../src/utils/pactl.c:992  msgid "You have to specify a source output index and a source\n" @@ -2161,50 +1990,29 @@ msgid "You have to specify a module index\n"  msgstr "Você deve especificar um Ãndice de um módulo\n"  #: ../src/utils/pactl.c:1037 -#, fuzzy -msgid "" -"You may not specify more than one sink. You have to specify a boolean " -"value.\n" -msgstr "" -"Você não pode especificar mais de um destino. Pelo menos um valor booleano " -"deve ser especificado.\n" +msgid "You may not specify more than one sink. You have to specify a boolean value.\n" +msgstr "Você não pode especificar mais de um destino. Você tem que especificar um valor booleano.\n"  #: ../src/utils/pactl.c:1050 -#, fuzzy -msgid "" -"You may not specify more than one source. You have to specify a boolean " -"value.\n" -msgstr "" -"Você não pode especificar mais de uma fonte. Pelo menos um valor booleano " -"deve ser especificado.\n" +msgid "You may not specify more than one source. You have to specify a boolean value.\n" +msgstr "Você não pode especificar mais de uma fonte. Você tem que especificar um valor booleano.\n"  #: ../src/utils/pactl.c:1062 -#, fuzzy  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" +msgstr "Você tem que especificar um nome/Ãndice da placa e um nome de perfil\n"  #: ../src/utils/pactl.c:1073 -#, fuzzy  msgid "You have to specify a sink name/index and a port name\n" -msgstr "" -"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n" +msgstr "Você tem que especificar um nome/Ãndice do destino e o nome da porta\n"  #: ../src/utils/pactl.c:1084 -#, fuzzy  msgid "You have to specify a source name/index and a port name\n" -msgstr "" -"Você tem que especificar a entrada para o destino (sink) e um destino(sink)\n" +msgstr "Você tem que especificar um nome/Ãndice da fonte e o nome da porta\n"  #: ../src/utils/pactl.c:1099  msgid "No valid command specified.\n"  msgstr "Nenhum comando válido especificado.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_new() falhou: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2212,17 +2020,14 @@ msgid ""  "\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" +" -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 source] [-c file]  [-d|-e|-i|-r]\n"  "\n" -" -d    Mostra os dados atuais do PulseAudio associados ao display X11 " -"(padrão)\n" +" -d    Mostra os dados atuais do PulseAudio associados ao display X11 (padrão)\n"  " -e    Exporta os dados locais do PulseAudio para um display X11 \n" -" -i     Importa os dados do PulseAudio de um display X11 para as variáveis " -"de ambiente locais e para o arquivo de cookie.\n" +" -i     Importa os dados do PulseAudio de um display X11 para as variáveis de ambiente locais e para o arquivo de cookie.\n"  " -r    Remove os dados do PulseAudio do display X11\n"  #: ../src/utils/pax11publish.c:94 @@ -2287,7 +2092,7 @@ msgstr "Ainda não implementado.\n"  #: ../src/utils/pacmd.c:61  msgid "No PulseAudio daemon running, or not running as session daemon." -msgstr "" +msgstr "Nenhum daemon do PulseAudio em execução ou não está em execução como daemon de sessão."  #: ../src/utils/pacmd.c:66  #, c-format @@ -2301,79 +2106,161 @@ msgstr "connect(): %s"  #: ../src/utils/pacmd.c:91  msgid "Failed to kill PulseAudio daemon." -msgstr "Falha em cancelar o daemon do PulseAudio." +msgstr "Falha ao matar o daemon do PulseAudio."  #: ../src/utils/pacmd.c:99  msgid "Daemon not responding." -msgstr "Daemon não responde." +msgstr "O daemon não responde."  #: ../src/utils/pacmd.c:146  #, c-format  msgid "select(): %s"  msgstr "select(): %s" -#: ../src/utils/pacmd.c:156 ../src/utils/pacmd.c:173 +#: ../src/utils/pacmd.c:156 +#: ../src/utils/pacmd.c:173  #, c-format  msgid "read(): %s"  msgstr "read(): %s" -#: ../src/utils/pacmd.c:189 ../src/utils/pacmd.c:203 +#: ../src/utils/pacmd.c:189 +#: ../src/utils/pacmd.c:203  #, c-format  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 +#: ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Não foi possÃvel acessar a trava de autogeração." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 +#: ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid "" -"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." +"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."  msgstr "" +"O ALSA nos acordou para gravar novos dados no dispositivo, mas não há nada a ser gravado!\n" +"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema para os desenvolvedores do ALSA.\n" +"Nós fomos acordados com o conjunto POLLOUT -- entretanto, a snd_pcm_avail() subseqüente retornou 0 ou outro valor < min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 +#: ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid "" -"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." +"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."  msgstr "" +"O ALSA nos acordou para ler novos dados no dispositivo, mas não há nada a ser lido!\n" +"É mais provável que isso seja um erro no driver \"%s\" do ALSA. Por favor, relate esse problema para os desenvolvedores do ALSA.\n" +"Nós fomos acordados com o conjunto POLLIN -- entretanto, a snd_pcm_avail() subseqüente retornou 0 ou outro valor < min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off" -msgstr "" +msgstr "Desligado" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)" -msgstr "" +msgstr "Reprodução de alta fidelidade (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)" -msgstr "" +msgstr "Duplex telefônico (HSP/HFP)"  #: ../src/modules/reserve-wrap.c:151  msgid "PulseAudio Sound Server" -msgstr "" - +msgstr "Servidor de som PulseAudio" + +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Não foi possÃvel conectar com o barramento do sistema: %s" +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Não foi possÃvel obter quem chamou pelo PID: %s" +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Não foi possÃvel definir o UID sobre o objeto que chamou." +#~ msgid "Failed to get CK session." +#~ msgstr "Falha em obter a sessão CK." +#~ msgid "Cannot set UID on session object." +#~ msgstr "Não foi possÃvel definir o UID do objeto da sessão." +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Não foi possÃvel alocar o PolKitAction." +#~ msgid "Cannot set action_id" +#~ msgstr "Não foi possÃvel definir a action_id" +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Não foi possÃvel alocar o PolKitContext." +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Não foi possÃvel iniciar o PolKitContext: %s" +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Não foi possÃvel determinar se o solicitante está autorizado: %s" +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Não foi possÃvel obter auth: %s" +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit respondeu com '%s'" +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Escalonamento de alta prioridade (nÃvel de nice Unix negativo) para o " +#~ "daemon do PulseAudio" +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Escalonamento em tempo real para o daemon do PulseAudio" +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Uma polÃtica do sistema impede que o PulseAudio adquira escalonamento de " +#~ "alta prioridade." +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Uma polÃtica do sistema impede que o PulseAudio adquira o escalonamento " +#~ "em tempo real." +#~ msgid "read() failed: %s\n" +#~ msgstr "read() falhou: %s\n" +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() falhou: %s\n" +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "Estamos no grupo '%s', permitindo escalonamento de alta prioridade." +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "Estamos no grupo '%s', permitindo escalonamento em tempo real." +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "" +#~ "O PolicyKit assegura-nos a aquisição de privilégio de alta prioridade." +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "O PolicyKit recusa a aquisição de privilégios de alta prioridade." +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "O PolicyKit assegura-nos a aquisição de privilégios de tempo-real." +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "O PolicyKit recusa a aquisição de privilégios de tempo real." +#~ 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." +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "RLIMIT_RTPRIO aumentado com sucesso" +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO falhou: %s" +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Abandonando CAP_NICE" +#~ 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." +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "As capacidades foram limitadas com sucesso para CAP_SYS_NICE." +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() falhou.\n"  #~ msgid "Stream successfully created\n"  #~ msgstr "Fluxo criado com sucesso\n" -  #~ msgid "Stream errror: %s\n"  #~ msgstr "Erro de fluxo: %s\n" -  #~ msgid "Connection established.\n"  #~ msgstr "Conexão estabelecida.\n" -  #~ msgid ""  #~ "%s [options] [FILE]\n"  #~ "\n" @@ -2412,7 +2299,6 @@ msgstr ""  #~ "      --volume=VOLUME                   Especifica o volume inicial "  #~ "(linear) no intervalo 0...65536\n"  #~ "      --channel-map=CHANNELMAP          Define o mapa do canal para uso\n" -  #~ msgid ""  #~ "paplay %s\n"  #~ "Compiled with libpulse %s\n" @@ -2421,16 +2307,12 @@ msgstr ""  #~ "paplay %s\n"  #~ "Compilado com libpulse %s\n"  #~ "Linkado com  libpulse %s\n" -  #~ msgid "Invalid channel map\n"  #~ msgstr "Mapa de canais inválido\n" -  #~ msgid "Failed to open file '%s'\n"  #~ msgstr "Falha ao abrir o arquivo '%s'\n" -  #~ msgid "Channel map doesn't match file.\n"  #~ msgstr "O mapa dos canais não coincide com o arquivo.\n" -  #~ msgid "Using sample spec '%s'\n"  #~ msgstr "Usando a especificação da amostragem '%s'\n" @@ -2449,19 +2331,14 @@ msgstr ""  #, 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." -  #~ msgid "Buffer overrun, dropping incoming data\n"  #~ msgstr "Houve estouro de buffer, os dados que chegaram foram descartados\n" -  #~ msgid "pa_stream_drop() failed: %s\n"  #~ msgstr "pa_stream_drop() falhou: %s\n" -  #~ msgid "muted"  #~ msgstr "mudo" -  #~ msgid ""  #~ "*** Autoload Entry #%u ***\n"  #~ "Name: %s\n" @@ -2474,13 +2351,10 @@ msgstr ""  #~ "Tipo: %s\n"  #~ "Módulo: %s\n"  #~ "Argumento: %s\n" -  #~ msgid "sink"  #~ msgstr "destino" -  #~ msgid "source"  #~ msgstr "fonte" -  #~ msgid ""  #~ "' and PolicyKit refuse to grant us priviliges. Dropping SUID again.\n"  #~ "For enabling real-time scheduling please acquire the appropriate " @@ -2490,13 +2364,11 @@ msgstr ""  #~ "outra vez.\n"  #~ " Para habilitar o escalonamento em tempo real, por favo, adquira os "  #~ "privilégios adequados pelo PolicyKit, ou torne-se membro do'" -  #~ msgid ""  #~ "', or increase the RLIMIT_NICE/RLIMIT_RTPRIO resource limits for this "  #~ "user."  #~ msgstr ""  #~ "', ou eleve o RLIMIT_NICE/RLIMIT_RTPRIO dos limites do recurso para este "  #~ "usuário." -  #~ msgid "socketpair(): %s"  #~ msgstr "socketpair(): %s" @@ -8,7 +8,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-07 23:02+0100\n"  "Last-Translator: MiloÅ¡ KomarÄević <kmilos@gmail.com>\n"  "Language-Team: Serbian <fedora-trans-sr@redhat.com>\n" @@ -19,7 +19,12 @@ msgstr ""  "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"  "X-Generator: Lokalize 0.3\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -32,7 +37,7 @@ msgstr ""  "Ово је највероватније грешка у „%s“ ALSA управљачком програму. Пријавите "  "овај проблем ALSA програмерима." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -45,7 +50,7 @@ msgstr ""  "Ово је највероватније грешка у „%s“ ALSA управљачком програму. Пријавите "  "овај проблем ALSA програмерима." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -71,7 +76,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Унутрашњи звук" @@ -91,222 +96,92 @@ msgstr "ÐеуÑпешно Ñмештање новог dl учитавача."  msgid "Failed to add bind-now-loader."  msgstr "ÐеуÑпешно додавање „повежи одмах“ учитавача." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Ðије Ñе могуће прикључити на ÑиÑтемÑку магиÑтралу: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Ðе могу добавити позивника из PID-а: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Ðе могу поÑтавити UID за позивнички објекат." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "ÐеуÑпешно добављање CK ÑеÑије." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Ðе могу поÑтавити UID за објекат ÑеÑије." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Ðе могу поÑтавити PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Ðе могу поÑтавити action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Ðе могу поÑтавити PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Ðе могу иницијализовати PolKitContex: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Ðије могуће одредити овлашћење позивника: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Ðе могу добити овлашћење: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit је одговорио Ñа „%s“" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Добих Ñигнал %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Ðапуштам." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Ðе могу наћи кориÑника „%s“." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Ðе могу наћи групу „%s“." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Ðађени Ñу кориÑник „%s“ (UID %lu) и група „%s“ (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID кориÑника „%s“ Ñе не поклапа Ñа групом „%s“." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Лични директоријум кориÑника „%s“ није „%s“, занемарујем." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "ÐеуÑпешно прављење „%s“: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "ÐеуÑпешна промена групног ÑпиÑка: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "ÐеуÑпешна промена GID-а: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "ÐеуÑпешна промена UID-а: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "УÑпешно одбачена root овлашћења." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Режим за читав ÑиÑтем није подржан на овој платформи." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) није уÑпело: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "ÐеуÑпешно тумачење командне линије." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" -"Ðалазимо Ñе у групи „%s“ која дозвољава виÑокоприоритетно раÑпоређивање." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" -"Ðалазимо Ñе у групи „%s“ која дозвољава ÑтварновременÑко раÑпоређивање." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit нам је дао овлашћење за добијање виÑоког приоритета." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit одбија овлашћење за добијање виÑоког приоритета." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit нам је дао овлашћење за добијање рада у Ñтварном времену." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit одбија овлашћење за добијање рада у Ñтварном времену." - -# -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID root и ÑтварновременÑко и/или виÑокоприоритетно раÑпоређивање је " -"захтевано у подешавањима. Међутим, немамо потребна овлашћења:\n" -"ниÑмо у групи „%s“, PolicyKit одбија да нам да̑ тражена овлашћења и  немамо " -"ÑредÑтава за повећање RLIMIT_NICE/RLIMIT_RTPRIO ограничења.\n" -"Морате добити одговарајућа PolicyKit овлашћења, или поÑтати члан групе „%s“, " -"или повећати ограничења за RLIMIT_NICE/RLIMIT_RTPRIO ÑредÑтва овог кориÑника " -"како би омогућили ÑтварновременÑко или виÑокоприоритетно раÑпоређивање." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"ВиÑокоприоритетно раÑпоређивање је омогућено у подешавањима, али политика то " -"не дозвољава." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "УÑпешно повећано RLIMIT_RTPRIO ограничење" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "ÐеуÑпешно поÑтављање RLIMIT_RTPRIO-а:%s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "ОдуÑтајем од CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"СтварновременÑко раÑпоређивање је омогућено у подешавањима, али политика то " -"не дозвољава." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Демон није покренут" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Демон је покренут Ñа PID-ом %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "ÐеуÑпешно убијање демона: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -314,153 +189,153 @@ msgstr ""  "Ðије намеравано да Ñе овај програм покреће из root налога (оÑим у Ñлучају "  "када је --system наведено)" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Потребна Ñу root овлашћења." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start није подржано за ÑиÑтемÑке примерке." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "Покренуто у ÑиÑтемÑком режиму, али --disallow-exit није поÑтављено!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "Покренуто у ÑиÑтемÑком режиму, али --disallow-module-loading није поÑтављено!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "Покренуто у ÑиÑтемÑком режиму, приÑилно онемогућујем SHM режим!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "Покренуто у ÑиÑтемÑком режиму, приÑилно онемогућујем гашење поÑле одређеног "  "времена мировања!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "ÐеуÑпешно проналажење Ñтандардног улаза/излаза." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "ÐеуÑпешно пуштање података кроз цев: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "ÐеуÑпела функција fork(): %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "ÐеуÑпела функција read(): %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "ÐеуÑпешно покретање демона." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Демон уÑпешно покренут." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Ово је PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Домаћин компајлирања: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS компајлирања: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Покренут на домаћину: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Ðашао %u процеÑор(а)" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Величина Ñтранице је %lu бајтова" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Компајлирано Ñа подршком за Valgrind: да" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Компајлирано Ñа подршком за Valgrind: не" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Покренут у Valgrind режиму: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Оптимизована изградња: да" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Оптимизована изградња: не" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG дефиниÑан, Ñва обавештења иÑкључена." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH дефиниÑан, Ñамо обавештења брзе путање иÑкључена." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Сва обавештења омогућена." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "ÐеуÑпешно добављање ИБ машине" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "ИБ машине је %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "ИБ машине је %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "КориÑти Ñе %s извршни директоријум." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "КориÑти Ñе %s директоријум Ñтања." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Покренуто у ÑиÑтемÑком режиму: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -470,15 +345,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "ÐеуÑпела функција pa_pid_file_create()." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ДоÑтупни Ñу нови бројачи виÑоке резолуције! Пријатно!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -486,27 +361,27 @@ msgstr ""  "Ваше језгро није добро подешено за pulseaudio! Препоручује Вам Ñе да "  "кориÑтите Linux језгро Ñа омогућеним бројачима виÑоке резолуције." -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "ÐеуÑпела функција pa_core_new()." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "ÐеуÑпешно покретање демона." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Демон је покренут без иједног учитаног модула, одбија да ради." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Покретање демона уÑпешно." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Покренуто гашење демона." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Рад демона је прекинут." @@ -850,14 +725,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Прочитај из датотеке подешавања: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Одбацујем root повлаÑтице." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "УÑпешно ограничио могућноÑти на CAP_SYS_NICE." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio звучни ÑиÑтем" @@ -866,30 +737,6 @@ msgstr "PulseAudio звучни ÑиÑтем"  msgid "Start the PulseAudio Sound System"  msgstr "Покрени PulseAudio звучни ÑиÑтем" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"ВиÑокоприоритетно раÑпоређивање (негативни Unix нивои финоће, тј. nice " -"нивои) за PulseAudio демона" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "СтварновременÑко раÑпоређивање за PulseAudio демона" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"СиÑтемÑка политика Ñпречава PulseAudio-у да добије виÑокоприоритетно " -"раÑпоређивање." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"СиÑтемÑка политика Ñпречава PulseAudio-у да добије ÑтварновременÑко " -"раÑпоређивање." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Моно" @@ -1263,183 +1110,187 @@ msgstr "ÐеуÑпешно тумачење података из колачић  msgid "Failed to open configuration file '%s': %s"  msgstr "ÐеуÑпешно отварање датотеке подешавања „%s“: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "Колачић није учитан. Покушавам Ñе повезати без колачића." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Примио поруку за непознати локал „%s“" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "ÐеуÑпешно иÑушивање тока: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Репродукциони ток иÑушен.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Веза до Ñервера Ñе иÑушује.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_write(): %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "ÐеуÑпела функција pa_stream_write(): %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_peek(): %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Ток уÑпешно направљен.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "ÐеуÑпешно pa_stream_get_buffer_attr(): %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Метрике бафера: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Метрике бафера: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "КориÑтим Ñледеће параметре узорка „%s“ и мапу канала „%s“.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "Прикључен на уређај %s (%u, %s обуÑтављено).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Грешка тока: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Уређај тока обуÑтављен.%s\n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Уређај тока наÑтављен.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Ток није попуњен. %s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Ток Ñе прелива.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Ток покренут. %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Ток пребачен на уређај %s (%u, %s обуÑтављено). %s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "није" -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Параметри бафера тока Ñу промењени. %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Веза уÑпоÑтављена.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_new() : %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_connect_playback(): %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_connect_record(): %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "ÐеуÑпешно повезивање: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Дошао до краја датотеке.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "ÐеуÑпела функција read(): %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Дошао до краја датотеке.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "ÐеуÑпела функција write(): %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Добио Ñигнал, излазим.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Ðемогу добити вредноÑÑ‚ кашњења: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Време: %0.3f s. Кашњење: %0.0f μs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "ÐеуÑпела функција pa_stream_update_timing_info(): %s\n"  # Шта да радимо Ñа downmix и upmix. ПреÑликај навише  и преÑликај наниже? -- Игор @@ -1558,34 +1409,34 @@ msgstr ""  "Компајлирано Ñа libpulse %s\n"  "Повезано Ñа libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "ÐеиÑправна мапа канала „%s“\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "ÐеиÑправан начин диÑкретизације „%s“."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "ÐеиÑправна мапа канала „%s“\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "ÐеиÑправан параметар кашњења „%s“\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "ÐеиÑправан параметар за време процеÑа „%s“\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "ÐеиÑправан начин диÑкретизације „%s“."  #: ../src/utils/pacat.c:878 @@ -1594,60 +1445,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "ÐеиÑправни параметри узорка\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Превише параметара.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Ðије уÑпело добављање података о узорку: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Ðије уÑпело отварање звучне датотеке.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Ðије уÑпело добављање података о узорку: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Мапа канала Ñе не поклапа Ñа параметрима узорка\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Отварам ток %s Ñа Ñледећим параметрима узорка „%s“.\n"  #: ../src/utils/pacat.c:1006 @@ -1658,35 +1515,34 @@ msgstr "Ñнима"  msgid "playback"  msgstr "пушта" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "ÐеуÑпела функција pa_mainloop_new().\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "ÐеуÑпела функција io_new() \n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "ÐеуÑпела функција pa_context_new().\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "ÐеуÑпела функција pa_context_connect(): %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "ÐеуÑпела функција time_new() \n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "ÐеуÑпела функција pa_context_new().\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "ÐеуÑпела функција pa_mainloop_run().\n"  #: ../src/utils/pasuspender.c:81 @@ -1714,6 +1570,11 @@ msgstr "ÐеуÑпешно наÑтављање: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "УПОЗОРЕЊЕ: Звучни Ñервер није локални, не зауÑтављам.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "ÐеуÑпешно повезивање: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1753,6 +1614,21 @@ msgstr ""  "Компајлирано Ñа libpulse %s\n"  "Повезано Ñа libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "ÐеуÑпела функција pa_mainloop_new().\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "ÐеуÑпела функција pa_context_new().\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "ÐеуÑпела функција pa_mainloop_run().\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2167,6 +2043,11 @@ msgstr ""  "Компајлирано Ñа libpulse %s\n"  "Повезано Ñа libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "ÐеиÑправна мапа канала „%s“\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Ðаведите датотеку узорка коју треба учитати\n" @@ -2175,6 +2056,11 @@ msgstr "Ðаведите датотеку узорка коју треба учР msgid "Failed to open sound file.\n"  msgstr "Ðије уÑпело отварање звучне датотеке.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Ðије уÑпело добављање података о узорку: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2234,11 +2120,6 @@ msgstr "Морате навеÑти име/Ð¸Ð½Ð´ÐµÐºÑ ÐºÐ°Ñ€Ñ‚Ð¸Ñ†Ðµ и име  msgid "No valid command specified.\n"  msgstr "Ðи једна иÑправна наредба није наведена.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "ÐеуÑпела функција pa_context_connect(): %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2358,11 +2239,11 @@ msgid "write(): %s"  msgstr "write(): %s"  # Како превеÑти autospawn (могућноÑÑ‚ прављења или покретања процеÑа из иÑтог) -- Игор -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Ðије могуће приÑтупити датотеци закључавања за Ñамоумножавање." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2379,7 +2260,7 @@ msgstr ""  "Пробуђени Ñмо Ñа поÑтављеним POLLOUT-ом -- али Ñледећи snd_pcm_avail() је "  "вратио 0 или неку другу вредноÑÑ‚ мању од min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2397,15 +2278,15 @@ msgstr ""  "вратио 0 или неку другу вредноÑÑ‚ мању од min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "ИÑкључено" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Репродукција виÑоке тачноÑти (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "ДвоÑтрано телефонирање (HSP/HFP)" @@ -2413,6 +2294,140 @@ msgstr "ДвоÑтрано телефонирање (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio звучни ÑиÑтем" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Ðије Ñе могуће прикључити на ÑиÑтемÑку магиÑтралу: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Ðе могу добавити позивника из PID-а: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Ðе могу поÑтавити UID за позивнички објекат." + +#~ msgid "Failed to get CK session." +#~ msgstr "ÐеуÑпешно добављање CK ÑеÑије." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Ðе могу поÑтавити UID за објекат ÑеÑије." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Ðе могу поÑтавити PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Ðе могу поÑтавити action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Ðе могу поÑтавити PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Ðе могу иницијализовати PolKitContex: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Ðије могуће одредити овлашћење позивника: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Ðе могу добити овлашћење: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit је одговорио Ñа „%s“" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "ВиÑокоприоритетно раÑпоређивање (негативни Unix нивои финоће, тј. nice " +#~ "нивои) за PulseAudio демона" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "СтварновременÑко раÑпоређивање за PulseAudio демона" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "СиÑтемÑка политика Ñпречава PulseAudio-у да добије виÑокоприоритетно " +#~ "раÑпоређивање." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "СиÑтемÑка политика Ñпречава PulseAudio-у да добије ÑтварновременÑко " +#~ "раÑпоређивање." + +#~ msgid "read() failed: %s\n" +#~ msgstr "ÐеуÑпела функција read(): %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "ÐеуÑпела функција pa_context_connect(): %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Ðалазимо Ñе у групи „%s“ која дозвољава виÑокоприоритетно раÑпоређивање." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Ðалазимо Ñе у групи „%s“ која дозвољава ÑтварновременÑко раÑпоређивање." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit нам је дао овлашћење за добијање виÑоког приоритета." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit одбија овлашћење за добијање виÑоког приоритета." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit нам је дао овлашћење за добијање рада у Ñтварном времену." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit одбија овлашћење за добијање рада у Ñтварном времену." + +# +#~ 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 "" +#~ "SUID root и ÑтварновременÑко и/или виÑокоприоритетно раÑпоређивање је " +#~ "захтевано у подешавањима. Међутим, немамо потребна овлашћења:\n" +#~ "ниÑмо у групи „%s“, PolicyKit одбија да нам да̑ тражена овлашћења и  " +#~ "немамо ÑредÑтава за повећање RLIMIT_NICE/RLIMIT_RTPRIO ограничења.\n" +#~ "Морате добити одговарајућа PolicyKit овлашћења, или поÑтати члан групе „%" +#~ "s“, или повећати ограничења за RLIMIT_NICE/RLIMIT_RTPRIO ÑредÑтва овог " +#~ "кориÑника како би омогућили ÑтварновременÑко или виÑокоприоритетно " +#~ "раÑпоређивање." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "ВиÑокоприоритетно раÑпоређивање је омогућено у подешавањима, али политика " +#~ "то не дозвољава." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "УÑпешно повећано RLIMIT_RTPRIO ограничење" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "ÐеуÑпешно поÑтављање RLIMIT_RTPRIO-а:%s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "ОдуÑтајем од CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "СтварновременÑко раÑпоређивање је омогућено у подешавањима, али политика " +#~ "то не дозвољава." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "УÑпешно ограничио могућноÑти на CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "ÐеуÑпела функција time_new() \n" +  #~ msgid "Analog Mono"  #~ msgstr "Ðналогни моно" diff --git a/po/sr@latin.po b/po/sr@latin.po index e5b0f7b1..ddbacadf 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -8,7 +8,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-07 23:02+0100\n"  "Last-Translator: MiloÅ¡ KomarÄević <kmilos@gmail.com>\n"  "Language-Team: Serbian <fedora-trans-sr@redhat.com>\n" @@ -19,7 +19,12 @@ msgstr ""  "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"  "X-Generator: Lokalize 0.3\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -32,7 +37,7 @@ msgstr ""  "Ovo je najverovatnije greÅ¡ka u „%s“ ALSA upravljaÄkom programu. Prijavite "  "ovaj problem ALSA programerima." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -45,7 +50,7 @@ msgstr ""  "Ovo je najverovatnije greÅ¡ka u „%s“ ALSA upravljaÄkom programu. Prijavite "  "ovaj problem ALSA programerima." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -71,7 +76,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "UnutraÅ¡nji zvuk" @@ -91,223 +96,92 @@ msgstr "NeuspeÅ¡no smeÅ¡tanje novog dl uÄitavaÄa."  msgid "Failed to add bind-now-loader."  msgstr "NeuspeÅ¡no dodavanje „poveži odmah“ uÄitavaÄa." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Nije se moguće prikljuÄiti na sistemsku magistralu: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Ne mogu dobaviti pozivnika iz PID-a: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Ne mogu postaviti UID za pozivniÄki objekat." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "NeuspeÅ¡no dobavljanje CK sesije." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Ne mogu postaviti UID za objekat sesije." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Ne mogu postaviti PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Ne mogu postaviti action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Ne mogu postaviti PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Ne mogu inicijalizovati PolKitContex: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Nije moguće odrediti ovlašćenje pozivnika: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Ne mogu dobiti ovlašćenje: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit je odgovorio sa „%s“" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Dobih signal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "NapuÅ¡tam." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Ne mogu naći korisnika „%s“." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Ne mogu naći grupu „%s“." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "NaÄ‘eni su korisnik „%s“ (UID %lu) i grupa „%s“ (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID korisnika „%s“ se ne poklapa sa grupom „%s“." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "LiÄni direktorijum korisnika „%s“ nije „%s“, zanemarujem." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "NeuspeÅ¡no pravljenje „%s“: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "NeuspeÅ¡na promena grupnog spiska: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "NeuspeÅ¡na promena GID-a: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "NeuspeÅ¡na promena UID-a: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "UspeÅ¡no odbaÄena root ovlašćenja." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "Režim za Äitav sistem nije podržan na ovoj platformi." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) nije uspelo: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "NeuspeÅ¡no tumaÄenje komandne linije." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" -"Nalazimo se u grupi „%s“ koja dozvoljava visokoprioritetno rasporeÄ‘ivanje." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" -"Nalazimo se u grupi „%s“ koja dozvoljava stvarnovremensko rasporeÄ‘ivanje." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit nam je dao ovlašćenje za dobijanje visokog prioriteta." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit odbija ovlašćenje za dobijanje visokog prioriteta." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit nam je dao ovlašćenje za dobijanje rada u stvarnom vremenu." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit odbija ovlašćenje za dobijanje rada u stvarnom vremenu." - -# -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID root i stvarnovremensko i/ili visokoprioritetno rasporeÄ‘ivanje je " -"zahtevano u podeÅ¡avanjima. MeÄ‘utim, nemamo potrebna ovlašćenja:\n" -"nismo u grupi „%s“, PolicyKit odbija da nam daÌ‘ tražena ovlašćenja i  nemamo " -"sredstava za povećanje RLIMIT_NICE/RLIMIT_RTPRIO ograniÄenja.\n" -"Morate dobiti odgovarajuća PolicyKit ovlašćenja, ili postati Älan grupe „%" -"s“, ili povećati ograniÄenja za RLIMIT_NICE/RLIMIT_RTPRIO sredstva ovog " -"korisnika kako bi omogućili stvarnovremensko ili visokoprioritetno " -"rasporeÄ‘ivanje." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Visokoprioritetno rasporeÄ‘ivanje je omogućeno u podeÅ¡avanjima, ali politika " -"to ne dozvoljava." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "UspeÅ¡no povećano RLIMIT_RTPRIO ograniÄenje" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "NeuspeÅ¡no postavljanje RLIMIT_RTPRIO-a:%s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "Odustajem od CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"Stvarnovremensko rasporeÄ‘ivanje je omogućeno u podeÅ¡avanjima, ali politika " -"to ne dozvoljava." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Demon nije pokrenut" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Demon je pokrenut sa PID-om %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "NeuspeÅ¡no ubijanje demona: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -315,154 +189,154 @@ msgstr ""  "Nije nameravano da se ovaj program pokreće iz root naloga (osim u sluÄaju "  "kada je --system navedeno)" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Potrebna su root ovlašćenja." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start nije podržano za sistemske primerke." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "Pokrenuto u sistemskom režimu, ali --disallow-exit nije postavljeno!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "Pokrenuto u sistemskom režimu, ali --disallow-module-loading nije "  "postavljeno!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "Pokrenuto u sistemskom režimu, prisilno onemogućujem SHM režim!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "Pokrenuto u sistemskom režimu, prisilno onemogućujem gaÅ¡enje posle odreÄ‘enog "  "vremena mirovanja!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "NeuspeÅ¡no pronalaženje standardnog ulaza/izlaza." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "NeuspeÅ¡no puÅ¡tanje podataka kroz cev: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "Neuspela funkcija fork(): %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "Neuspela funkcija read(): %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "NeuspeÅ¡no pokretanje demona." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Demon uspeÅ¡no pokrenut." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Ovo je PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Domaćin kompajliranja: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS kompajliranja: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Pokrenut na domaćinu: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "NaÅ¡ao %u procesor(a)" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "VeliÄina stranice je %lu bajtova" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Kompajlirano sa podrÅ¡kom za Valgrind: da" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Kompajlirano sa podrÅ¡kom za Valgrind: ne" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "Pokrenut u Valgrind režimu: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimizovana izgradnja: da" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Optimizovana izgradnja: ne" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG definisan, sva obaveÅ¡tenja iskljuÄena." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH definisan, samo obaveÅ¡tenja brze putanje iskljuÄena." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "Sva obaveÅ¡tenja omogućena." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "NeuspeÅ¡no dobavljanje IB maÅ¡ine" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "IB maÅ¡ine je %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "IB maÅ¡ine je %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Koristi se %s izvrÅ¡ni direktorijum." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Koristi se %s direktorijum stanja." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "Pokrenuto u sistemskom režimu: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -472,15 +346,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "Neuspela funkcija pa_pid_file_create()." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "Dostupni su novi brojaÄi visoke rezolucije! Prijatno!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -488,27 +362,27 @@ msgstr ""  "VaÅ¡e jezgro nije dobro podeÅ¡eno za pulseaudio! PreporuÄuje Vam se da "  "koristite Linux jezgro sa omogućenim brojaÄima visoke rezolucije." -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "Neuspela funkcija pa_core_new()." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "NeuspeÅ¡no pokretanje demona." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "Demon je pokrenut bez ijednog uÄitanog modula, odbija da radi." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "Pokretanje demona uspeÅ¡no." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Pokrenuto gaÅ¡enje demona." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Rad demona je prekinut." @@ -852,14 +726,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### ProÄitaj iz datoteke podeÅ¡avanja: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "Odbacujem root povlastice." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "UspeÅ¡no ograniÄio mogućnosti na CAP_SYS_NICE." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio zvuÄni sistem" @@ -868,30 +738,6 @@ msgstr "PulseAudio zvuÄni sistem"  msgid "Start the PulseAudio Sound System"  msgstr "Pokreni PulseAudio zvuÄni sistem" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "" -"Visokoprioritetno rasporeÄ‘ivanje (negativni Unix nivoi finoće, tj. nice " -"nivoi) za PulseAudio demona" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "Stvarnovremensko rasporeÄ‘ivanje za PulseAudio demona" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"Sistemska politika spreÄava PulseAudiu da dobije visokoprioritetno " -"rasporeÄ‘ivanje." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "" -"Sistemska politika spreÄava PulseAudiu da dobije stvarnovremensko " -"rasporeÄ‘ivanje." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1265,183 +1111,187 @@ msgstr "NeuspeÅ¡no tumaÄenje podataka iz kolaÄića"  msgid "Failed to open configuration file '%s': %s"  msgstr "NeuspeÅ¡no otvaranje datoteke podeÅ¡avanja „%s“: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "KolaÄić nije uÄitan. PokuÅ¡avam se povezati bez kolaÄića." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Primio poruku za nepoznati lokal „%s“" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "NeuspeÅ¡no isuÅ¡ivanje toka: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Reprodukcioni tok isuÅ¡en.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Veza do servera se isuÅ¡uje.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "Neuspela funkcija pa_stream_write(): %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "Neuspela funkcija pa_stream_write(): %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "Neuspela funkcija pa_stream_peek(): %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Tok uspeÅ¡no napravljen.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "NeuspeÅ¡no pa_stream_get_buffer_attr(): %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Metrike bafera: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Metrike bafera: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "Koristim sledeće parametre uzorka „%s“ i mapu kanala „%s“.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "PrikljuÄen na ureÄ‘aj %s (%u, %s obustavljeno).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "GreÅ¡ka toka: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "UreÄ‘aj toka obustavljen.%s\n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "UreÄ‘aj toka nastavljen.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "Tok nije popunjen. %s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "Tok se preliva.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Tok pokrenut. %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Tok prebaÄen na ureÄ‘aj %s (%u, %s obustavljeno). %s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "nije" -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "Parametri bafera toka su promenjeni. %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Veza uspostavljena.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "Neuspela funkcija pa_stream_new() : %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "Neuspela funkcija pa_stream_connect_playback(): %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "Neuspela funkcija pa_stream_connect_record(): %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "NeuspeÅ¡no povezivanje: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "DoÅ¡ao do kraja datoteke.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "Neuspela funkcija read(): %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "DoÅ¡ao do kraja datoteke.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "Neuspela funkcija write(): %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Dobio signal, izlazim.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Nemogu dobiti vrednost kaÅ¡njenja: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Vreme: %0.3f s. KaÅ¡njenje: %0.0f μs.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "Neuspela funkcija pa_stream_update_timing_info(): %s\n"  # Å ta da radimo sa downmix i upmix. Preslikaj naviÅ¡e  i preslikaj naniže? -- Igor @@ -1561,34 +1411,34 @@ msgstr ""  "Kompajlirano sa libpulse %s\n"  "Povezano sa libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Neispravna mapa kanala „%s“\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Neispravan naÄin diskretizacije „%s“."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Neispravna mapa kanala „%s“\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Neispravan parametar kaÅ¡njenja „%s“\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Neispravan parametar za vreme procesa „%s“\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Neispravan naÄin diskretizacije „%s“."  #: ../src/utils/pacat.c:878 @@ -1597,60 +1447,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Neispravni parametri uzorka\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "PreviÅ¡e parametara.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Nije uspelo otvaranje zvuÄne datoteke.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Mapa kanala se ne poklapa sa parametrima uzorka\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Otvaram tok %s sa sledećim parametrima uzorka „%s“.\n"  #: ../src/utils/pacat.c:1006 @@ -1661,35 +1517,34 @@ msgstr "snima"  msgid "playback"  msgstr "puÅ¡ta" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "Neuspela funkcija pa_mainloop_new().\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "Neuspela funkcija io_new() \n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "Neuspela funkcija pa_context_new().\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "Neuspela funkcija pa_context_connect(): %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "Neuspela funkcija time_new() \n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "Neuspela funkcija pa_context_new().\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "Neuspela funkcija pa_mainloop_run().\n"  #: ../src/utils/pasuspender.c:81 @@ -1717,6 +1572,11 @@ msgstr "NeuspeÅ¡no nastavljanje: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "UPOZORENJE: ZvuÄni server nije lokalni, ne zaustavljam.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "NeuspeÅ¡no povezivanje: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1756,6 +1616,21 @@ msgstr ""  "Kompajlirano sa libpulse %s\n"  "Povezano sa libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "Neuspela funkcija pa_mainloop_new().\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "Neuspela funkcija pa_context_new().\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "Neuspela funkcija pa_mainloop_run().\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2170,6 +2045,11 @@ msgstr ""  "Kompajlirano sa libpulse %s\n"  "Povezano sa libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Neispravna mapa kanala „%s“\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Navedite datoteku uzorka koju treba uÄitati\n" @@ -2178,6 +2058,11 @@ msgstr "Navedite datoteku uzorka koju treba uÄitati\n"  msgid "Failed to open sound file.\n"  msgstr "Nije uspelo otvaranje zvuÄne datoteke.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Nije uspelo dobavljanje podataka o uzorku: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2237,11 +2122,6 @@ msgstr "Morate navesti ime/indeks kartice i ime profila\n"  msgid "No valid command specified.\n"  msgstr "Ni jedna ispravna naredba nije navedena.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "Neuspela funkcija pa_context_connect(): %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2361,11 +2241,11 @@ msgid "write(): %s"  msgstr "write(): %s"  # Kako prevesti autospawn (mogućnost pravljenja ili pokretanja procesa iz istog) -- Igor -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Nije moguće pristupiti datoteci zakljuÄavanja za samoumnožavanje." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2382,7 +2262,7 @@ msgstr ""  "ProbuÄ‘eni smo sa postavljenim POLLOUT-om -- ali sledeći snd_pcm_avail() je "  "vratio 0 ili neku drugu vrednost manju od min_avail." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2400,15 +2280,15 @@ msgstr ""  "vratio 0 ili neku drugu vrednost manju od min_avail."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "IskljuÄeno" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "Reprodukcija visoke taÄnosti (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "Dvostrano telefoniranje (HSP/HFP)" @@ -2416,6 +2296,141 @@ msgstr "Dvostrano telefoniranje (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio zvuÄni sistem" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Nije se moguće prikljuÄiti na sistemsku magistralu: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Ne mogu dobaviti pozivnika iz PID-a: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Ne mogu postaviti UID za pozivniÄki objekat." + +#~ msgid "Failed to get CK session." +#~ msgstr "NeuspeÅ¡no dobavljanje CK sesije." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Ne mogu postaviti UID za objekat sesije." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Ne mogu postaviti PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Ne mogu postaviti action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Ne mogu postaviti PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Ne mogu inicijalizovati PolKitContex: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Nije moguće odrediti ovlašćenje pozivnika: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Ne mogu dobiti ovlašćenje: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit je odgovorio sa „%s“" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "Visokoprioritetno rasporeÄ‘ivanje (negativni Unix nivoi finoće, tj. nice " +#~ "nivoi) za PulseAudio demona" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "Stvarnovremensko rasporeÄ‘ivanje za PulseAudio demona" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Sistemska politika spreÄava PulseAudiu da dobije visokoprioritetno " +#~ "rasporeÄ‘ivanje." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "" +#~ "Sistemska politika spreÄava PulseAudiu da dobije stvarnovremensko " +#~ "rasporeÄ‘ivanje." + +#~ msgid "read() failed: %s\n" +#~ msgstr "Neuspela funkcija read(): %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "Neuspela funkcija pa_context_connect(): %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Nalazimo se u grupi „%s“ koja dozvoljava visokoprioritetno rasporeÄ‘ivanje." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Nalazimo se u grupi „%s“ koja dozvoljava stvarnovremensko rasporeÄ‘ivanje." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit nam je dao ovlašćenje za dobijanje visokog prioriteta." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit odbija ovlašćenje za dobijanje visokog prioriteta." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "" +#~ "PolicyKit nam je dao ovlašćenje za dobijanje rada u stvarnom vremenu." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit odbija ovlašćenje za dobijanje rada u stvarnom vremenu." + +# +#~ 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 "" +#~ "SUID root i stvarnovremensko i/ili visokoprioritetno rasporeÄ‘ivanje je " +#~ "zahtevano u podeÅ¡avanjima. MeÄ‘utim, nemamo potrebna ovlašćenja:\n" +#~ "nismo u grupi „%s“, PolicyKit odbija da nam daÌ‘ tražena ovlašćenja i  " +#~ "nemamo sredstava za povećanje RLIMIT_NICE/RLIMIT_RTPRIO ograniÄenja.\n" +#~ "Morate dobiti odgovarajuća PolicyKit ovlašćenja, ili postati Älan grupe „%" +#~ "s“, ili povećati ograniÄenja za RLIMIT_NICE/RLIMIT_RTPRIO sredstva ovog " +#~ "korisnika kako bi omogućili stvarnovremensko ili visokoprioritetno " +#~ "rasporeÄ‘ivanje." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "Visokoprioritetno rasporeÄ‘ivanje je omogućeno u podeÅ¡avanjima, ali " +#~ "politika to ne dozvoljava." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "UspeÅ¡no povećano RLIMIT_RTPRIO ograniÄenje" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "NeuspeÅ¡no postavljanje RLIMIT_RTPRIO-a:%s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "Odustajem od CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "Stvarnovremensko rasporeÄ‘ivanje je omogućeno u podeÅ¡avanjima, ali " +#~ "politika to ne dozvoljava." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "UspeÅ¡no ograniÄio mogućnosti na CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "Neuspela funkcija time_new() \n" +  #~ msgid "Analog Mono"  #~ msgstr "Analogni mono" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\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,7 +15,12 @@ msgstr ""  "Content-Type: text/plain; charset=utf-8\n"  "Content-Transfer-Encoding: 8bit\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -24,7 +29,7 @@ msgid ""  "to the ALSA developers."  msgstr "" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -33,7 +38,7 @@ msgid ""  "to the ALSA developers."  msgstr "" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -55,7 +60,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  #, fuzzy  msgid "Internal Audio"  msgstr "Internt fel" @@ -77,208 +82,92 @@ msgstr "Misslyckades med att öppna ljudfil.\n"  msgid "Failed to add bind-now-loader."  msgstr "" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit svarade med \"%s\"" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Fick signal %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Avslutar." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Misslyckades med att hitta användaren \"%s\"." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Misslyckades med att hitta gruppen \"%s\"." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "" -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "" -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Hemkatalogen för användaren \"%s\" är inte \"%s\", ignorerar." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Misslyckades med att skapa \"%s\": %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) misslyckades: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "" - -#: ../src/daemon/main.c:560 -#, 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:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO misslyckades: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -286,151 +175,151 @@ msgstr ""  "Detta program är inte tänkt att köras som root (sÃ¥vida inte --system har "  "angivits)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  #, fuzzy  msgid "Root privileges required."  msgstr "Root-behörighet krävs." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start stöds inte för systeminstanser." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "pipe misslyckades: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() misslyckades: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() misslyckades: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Detta är PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, c-format  msgid "Session ID is %s."  msgstr "" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -440,41 +329,41 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() misslyckades." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr "" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() misslyckades." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "" @@ -739,15 +628,11 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  #, fuzzy  msgid "Dropping root privileges."  msgstr "Släpper root-behörighet." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "" @@ -756,24 +641,6 @@ msgstr ""  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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Mono" @@ -1147,183 +1014,184 @@ msgstr ""  msgid "Failed to open configuration file '%s': %s"  msgstr "Misslyckades med att öppna konfigurationsfilen \"%s\": %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" -msgstr "" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s" +msgstr "Misslyckades med att hitta användaren \"%s\"." -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +msgid "Playback stream drained."  msgstr "" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +msgid "Draining connection to server."  msgstr "" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() misslyckades: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() misslyckades: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() misslyckades: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +msgid "Stream successfully created."  msgstr "" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() misslyckades: %s\n" -#: ../src/utils/pacat.c:309 +#: ../src/utils/pacat.c:314  #, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "" -#: ../src/utils/pacat.c:312 +#: ../src/utils/pacat.c:317  #, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "" -#: ../src/utils/pacat.c:316 +#: ../src/utils/pacat.c:321  #, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +msgid "Using sample spec '%s', channel map '%s'."  msgstr "" -#: ../src/utils/pacat.c:320 +#: ../src/utils/pacat.c:325  #, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Strömfel: %s\n" -#: ../src/utils/pacat.c:340 +#: ../src/utils/pacat.c:345  #, c-format -msgid "Stream device suspended.%s \n" +msgid "Stream device suspended.%s"  msgstr "" -#: ../src/utils/pacat.c:342 +#: ../src/utils/pacat.c:347  #, c-format -msgid "Stream device resumed.%s \n" +msgid "Stream device resumed.%s"  msgstr "" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" -msgstr "" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s" +msgstr "Strömfel: %s\n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" -msgstr "" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s" +msgstr "Strömfel: %s\n" -#: ../src/utils/pacat.c:364 +#: ../src/utils/pacat.c:369  #, c-format -msgid "Stream started.%s \n" +msgid "Stream started.%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  #, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "inte " -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" -msgstr "" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s" +msgstr "Anslutning etablerad.\n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() misslyckades: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() misslyckades: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() misslyckades: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Anslutningsfel: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Fick filslut.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() misslyckades: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Fick filslut.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() misslyckades: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" -msgstr "" - -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" -msgstr "" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting." +msgstr "Fick signal %s."  #: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s" +msgstr "Misslyckades med att fÃ¥ statistik: %s\n" + +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Tid: %0.3f sec; Latens: %0.0f ms  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() misslyckades: %s\n"  #: ../src/utils/pacat.c:605 @@ -1394,34 +1262,34 @@ msgid ""  "Linked with libpulse %s\n"  msgstr "" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 -#, c-format -msgid "Invalid client name '%s'\n" -msgstr "" +#: ../src/utils/pacat.c:760 +#, fuzzy, c-format +msgid "Invalid client name '%s'" +msgstr "Ogiltig server"  #: ../src/utils/pacat.c:776 -#, c-format -msgid "Invalid stream name '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid stream name '%s'" +msgstr "Ogiltig server"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid channel map '%s'" +msgstr "Ogiltig server"  #: ../src/utils/pacat.c:842  #, c-format -msgid "Invalid latency specification '%s'\n" +msgid "Invalid latency specification '%s'"  msgstr ""  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" -msgstr "" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'" +msgstr "Ogiltig server"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Ogiltig server"  #: ../src/utils/pacat.c:878 @@ -1430,59 +1298,63 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" -msgstr "" +#, fuzzy +msgid "Invalid sample specification" +msgstr "Misslyckades med att fÃ¥ modulinformation: %s\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "För mÃ¥nga argument.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Misslyckades med att fÃ¥ modulinformation: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Misslyckades med att öppna ljudfil.\n"  #: ../src/utils/pacat.c:956  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" +"specification from file."  msgstr "" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 -msgid "Failed to determine sample specification from file.\n" -msgstr "" +#: ../src/utils/pacat.c:959 +#, fuzzy +msgid "Failed to determine sample specification from file." +msgstr "Misslyckades med att fÃ¥ modulinformation: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" +msgid "Warning: Failed to determine channel map from file."  msgstr ""  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" -msgstr "" +#, fuzzy +msgid "Channel map doesn't match sample specification" +msgstr "Misslyckades med att fÃ¥ modulinformation: %s\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" +msgid "Warning: failed to write channel map to file."  msgstr ""  #: ../src/utils/pacat.c:1005  #, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr ""  #: ../src/utils/pacat.c:1006 @@ -1493,35 +1365,34 @@ msgstr ""  msgid "playback"  msgstr "" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() misslyckades.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() misslyckades.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() misslyckades.\n" -#: ../src/utils/pacat.c:1066 +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122  #, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_new() misslyckades.\n" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() misslyckades.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() misslyckades.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() misslyckades.\n"  #: ../src/utils/pasuspender.c:81 @@ -1549,6 +1420,11 @@ msgstr ""  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Anslutningsfel: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1582,6 +1458,21 @@ msgstr ""  "Kompilerad med libpulse %s\n"  "Länkad med libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() misslyckades.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() misslyckades.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() misslyckades.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -1874,6 +1765,11 @@ msgstr ""  "Kompilerad med libpulse %s\n"  "Länkad med libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, c-format +msgid "Invalid client name '%s'\n" +msgstr "" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "" @@ -1882,6 +1778,10 @@ msgstr ""  msgid "Failed to open sound file.\n"  msgstr "Misslyckades med att öppna ljudfil.\n" +#: ../src/utils/pactl.c:944 +msgid "Failed to determine sample specification from file.\n" +msgstr "" +  #: ../src/utils/pactl.c:951  msgid "Warning: Failed to determine sample specification from file.\n"  msgstr "" @@ -1938,11 +1838,6 @@ msgstr ""  msgid "No valid command specified.\n"  msgstr "" -#: ../src/utils/pactl.c:1122 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_new() misslyckades.\n" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2052,11 +1947,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2067,7 +1962,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2079,15 +1974,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -2095,8 +1990,21 @@ msgstr ""  msgid "PulseAudio Sound Server"  msgstr "" -#~ msgid "Connection established.\n" -#~ msgstr "Anslutning etablerad.\n" +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit svarade med \"%s\"" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() misslyckades: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_new() misslyckades.\n" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO misslyckades: %s" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() misslyckades.\n"  #~ msgid ""  #~ "paplay %s\n" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.pulseaudio\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-12 05:02+0530\n"  "Last-Translator: I. Felix <ifelix@redhat.com>\n"  "Language-Team: Tamil <fedora-trans-ta@redhat.com>\n" @@ -34,7 +34,12 @@ msgstr ""  "\n"  "\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -47,7 +52,7 @@ msgstr ""  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "  "to the ALSA developers." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -60,7 +65,7 @@ msgstr ""  "Most likely this is a bug in the ALSA driver '%s'. Please report this issue "  "to the ALSA developers." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -86,7 +91,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "உடà¯à®ªà¯à®± ஆடியோ" @@ -106,373 +111,242 @@ msgstr "பà¯à®¤à®¿à®¯ dl à®à®±à¯à®±à¯à®ªà®µà®°à¯ˆ ஒதà¯à®•à¯à®•à®¿à®°à  msgid "Failed to add bind-now-loader."  msgstr "இபà¯à®ªà¯‹à®¤à¯ பிணைகà¯à®•à¯à®®à¯ à®à®±à¯à®ªà®¿à®¯à¯ˆ சேரà¯à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "கணினி பஸà¯à®¸à¯ˆ இணைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID லிரà¯à®¨à¯à®¤à¯ அழைபà¯à®ªà®¾à®³à®°à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "UID கà¯à®•௠அழைபà¯à®ªà®¾à®³à®°à¯ பொரà¯à®³à¯ˆ அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK அமரà¯à®µà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "அமரà¯à®µà¯ பொரà¯à®³à®¿à®²à¯ UID஠அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction஠ஒதà¯à®•à¯à®• இயலவிலà¯à®²à¯ˆ." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "செயலை அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (_i)" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext஠ஒஉகà¯à®•ிட à®®à¯à®Ÿà®¿à®¯à®šà®µà®¿à®²à¯à®²à¯ˆ." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext஠தà¯à®µà®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "அழைபà¯à®ªà®¾à®³à®°à¯ à®…à®™à¯à®•ீகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®µà®°à®¾ எனà¯à®ªà®¯à¯ˆ நிசà¯à®šà®¯à®¿à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "auth஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "'%s'உடன௠பாலிஸிகிட௠ஒதà¯à®¤à¯à®ªà¯‹à®•ிறதà¯" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "%sகà¯à®•௠சிகà¯à®©à®²à¯ கிடைதà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà®¤à¯." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "வெளியேறà¯à®¤à®²à¯." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "'%s' பயனரை கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "'%s' கà¯à®´à¯à®µà¯ˆ கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "'%s'பயனர௠கணà¯à®Ÿà¯à®ªà®¿à®Ÿà®¿à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¾à®°à¯ (UID %lu) மறà¯à®±à¯à®®à¯ கà¯à®´à¯ '%s' (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID ன௠பயனர௠'%s' மறà¯à®±à¯à®®à¯ '%s' கà¯à®´à¯à®µà¯à®Ÿà®©à¯ ஒதà¯à®¤à¯ போகவிலà¯à®²à¯ˆ." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "à®®à¯à®•பà¯à®ªà¯ அடைவ௠பயனரான'%s' '%s'ஆலà¯, பà¯à®±à®•à¯à®•ணிகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s'஠உரà¯à®µà®¾à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "கà¯à®´à¯à®ªà¯ படà¯à®Ÿà®¿à®¯à®²à¯ˆ மாறà¯à®± à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GIDகà¯à®•௠மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UIDகà¯à®•௠மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ள௠வெறà¯à®±à®¿à®•ரமாக விடபà¯à®ªà®Ÿà¯à®Ÿà®¤à¯." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "இநà¯à®¤ தளதà¯à®¤à®¿à®²à¯ கணினியின௠திறநà¯à®¤ à®®à¯à®±à¯ˆà®®à¯ˆ தà¯à®£à¯ˆà®ªà¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "கடà¯à®Ÿà®³à¯ˆ வரியை மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" -"நாம௠கà¯à®´à¯ '%s'ல௠இரà¯à®¨à¯à®¤ போத௠, உயரà¯à®¨à¯à®¤ à®®à¯à®¤à®©à¯à®®à¯ˆ அடà¯à®Ÿà®µà®£à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ அனà¯à®®à®¤à®¿ " -"அளிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®¨à¯à®¤à®¤à¯." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "கà¯à®´à¯ '%s'இல௠இரà¯à®•à¯à®•ிறோமà¯, நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•ிறதà¯." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "நமகà¯à®•ாக PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•ிய à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ வழஙà¯à®•à¯à®•ிறதà¯." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•ிய à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ மறà¯à®•à¯à®•ிறதà¯." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ளை கொடà¯à®•à¯à®•ிறதà¯." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ளை நிராகரிகà¯à®•ிறதà¯." - -#: ../src/daemon/main.c:560 -#, 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 "" -"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." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"உயரà¯à®¨à¯à®¤ சலà¯à®•ைகளின௠அடà¯à®Ÿà®µà®£à¯ˆà®¯à¯ˆ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠பாலிசியால௠" -"அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "வெறà¯à®±à®¿à®•ரமாக அதிகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "" -"CAP_NICE஠மேலே கொடà¯à®•à¯à®•ிறத௠(_N\n" -")" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠கொளà¯à®•ையால௠அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà¯à®µà®¤à®¿à®²à¯à®²à¯ˆ" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "டோமோன௠இயஙà¯à®•விலà¯à®²à¯ˆ" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "PID %uவாக டோமோன௠இயஙà¯à®•à¯à®•ிறதà¯" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "டோமோனà¯à®•à¯à®•௠மà¯à®Ÿà®¿à®µà¯ கடà¯à®Ÿà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "இநà¯à®¤ நிரல௠ரூடà¯à®Ÿà®¾à®• இயஙà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (--system கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®¾à®¤ வரை)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ள௠தேவைபà¯à®ªà®Ÿà¯à®•ிறதà¯." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start கணினி நிகழà¯à®µà®¿à®²à¯ தà¯à®£à¯ˆà®ªà¯à®°à®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯, ஆனால௠--disallow-exit அமைகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯, ஆனால௠--disallow-module-loading அமைகà¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯, SHM à®®à¯à®±à¯ˆà®®à¯ˆ செயலà¯à®¨à¯€à®•à¯à®•à¯à®¤à®²à¯ கடà¯à®Ÿà®¾à®¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "கணினி à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯, வெறà¯à®®à¯ˆ நேரதà¯à®¤à¯ˆ செயலà¯à®¨à¯€à®•à¯à®• கடà¯à®Ÿà®¾à®¯à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "பைப௠தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "டோமோனை தà¯à®µà®•à¯à®•à¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "டோமோனை வெறà¯à®±à®¿à®•ரமாக தà¯à®µà®•à¯à®•கபà¯à®ªà®Ÿà¯à®Ÿà®¤à¯." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "இத௠தான௠பளà¯à®¸à¯ ஆடியோ %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "தொகà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ பà¯à®°à®µà®²à®©à¯: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "தொகà¯à®ªà¯à®ªà¯ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "பà¯à®°à®µà®²à®©à®¾à®• இயஙà¯à®•à¯à®•ிறத: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "CPUs %uவில௠காணபà¯à®ªà®Ÿà¯à®•ிறத௠." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "பகà¯à®• அளவà¯à®•ள௠%lu பைடà¯à®¸à¯" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Compiled with Valgrind support: yes" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Compiled with Valgrind support: no" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind à®®à¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Optimized build: yes" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "சà¯à®°à¯à®•à¯à®•மான உரà¯à®µà®¾à®•à¯à®•à®®à¯: இலà¯à®²à¯ˆ" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "கணினி கà¯à®±à®¿à®¯à¯€à®Ÿà¯ %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "ஓடà¯à®®à¯à®¨à¯‡à®°à®®à¯  %s அடைவை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "%s நிலை அடைவினை பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•ிறதà¯." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "கணினியின௠மà¯à®±à¯ˆà®®à¯ˆà®¯à®¿à®²à¯ இயஙà¯à®•à¯à®•ிறதà¯: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -482,15 +356,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "உயரà¯à®¨à¯à®¤ திரைதà¯à®¤à®¿à®±à®©à¯ நேரமà¯à®•ாடà¯à®Ÿà®¿ கிடைகà¯à®•ிளதà¯! Bon appetit!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -498,27 +372,27 @@ msgstr ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "டோமோனை ஆரமà¯à®ªà®¿à®ªà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "டீமான௠தà¯à®µà®•à¯à®•ம௠எநà¯à®¤ தொகà¯à®¤à®¿à®•ளà¯à®®à¯ à®à®±à¯à®±à®ªà¯à®ªà®Ÿà®¾à®®à®²à¯, வேலையை நிராகரிகà¯à®•ிறதà¯." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "டோமோன௠தà¯à®µà®•à¯à®•à¯à®µà®¤à¯ à®®à¯à®Ÿà®¿à®µà®Ÿà¯ˆà®¨à¯à®¤à®¤à¯." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "டோமோன௠பணிநிறà¯à®¤à¯à®¤à®®à¯ à®®à¯à®©à¯ˆà®•ிறதà¯." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "டோமோன௠நீகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®¤à¯." @@ -853,14 +727,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà¯ கோபà¯à®ªà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வாசிகà¯à®•வà¯à®®à¯: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "ரூட௠மà¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ள௠விடà¯à®ªà®Ÿà¯à®•ிறதà¯." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ திறனà¯à®•ள௠CAP_SYS_NICEகà¯à®•௠அமைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி" @@ -869,26 +739,6 @@ msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி"  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 "" -"அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯à®³à¯à®³ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ (negative Unix nice level) PulseAudio daemonகà¯à®•à¯" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio daemonகà¯à®•ான நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "" -"கணினி கொளà¯à®•ை PulseAudio஠அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ பெறà¯à®µà®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ தடà¯à®•à¯à®•ிறதà¯." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "கணினி கொளà¯à®•ை PulseAudio ஠நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ எடà¯à®•à¯à®•ிறதà¯." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "மோனோ" @@ -1261,183 +1111,187 @@ msgstr "கà¯à®•à¯à®•ீ தரவை மாறà¯à®±à¯à®µà®¤à®¿à®²à¯ தோ  msgid "Failed to open configuration file '%s': %s"  msgstr "'%s'கடà¯à®Ÿà®®à¯ˆà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "கà¯à®•à¯à®•ி à®à®±à¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. இணைபà¯à®ªà®¿à®²à¯à®²à®¾à®®à®²à¯ à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•ிறதà¯." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "தெரியாத தொடரிசà¯à®šà®¿à®¯à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ '%s'கà¯à®•௠செயà¯à®¤à®¿à®•ள௠பெறபà¯à®ªà®Ÿà¯à®Ÿà®©" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ˆ டà¯à®°à¯ˆà®©à¯ செயà¯à®¯ à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "டà¯à®°à¯ˆà®©à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿ ஸà¯à®Ÿà¯€à®°à®¿à®®à¯.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "டà¯à®°à¯ˆà®©à¯ செயà¯à®¯à¯à®®à¯ இணைபà¯à®ªà¯ சேவையகதà¯à®¤à®¿à®±à¯à®•à¯.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ வெறà¯à®±à®¿à®•ரமாக உரà¯à®µà®¾à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ கà¯à®±à®¿à®ªà¯à®ªà¯ '%s', சேனல௠மேப௠'%s'஠பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®¿.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "%s சாதனதà¯à®¤à¯à®Ÿà®©à¯ இணைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ (%u, %ssuspended).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ பிழை: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ சாதனம௠இடைநீகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ சாதனம௠தொடரà¯à®•ிறதà¯.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ இயஙà¯à®•à¯à®•ிறதà¯.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ அதிகளவ௠இயஙà¯à®•ியதà¯.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ %s தà¯à®µà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "ஸà¯à®Ÿà®¿à®°à¯€à®®à¯ %s இயகà¯à®•ிகà¯à®•௠நகரà¯à®¨à¯à®¤à®¤à¯ (%u, %ssuspended).%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "இலà¯à®²à¯ˆ" -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, fuzzy, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "ஸà¯à®Ÿà¯€à®°à®¿à®®à¯ இயஙà¯à®•à¯à®•ிறதà¯.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "இணைபà¯à®ªà¯ தà¯à®µà®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "இணைபà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF கிடைகà¯à®•ப௠பெறà¯à®±à®¤à¯\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF கிடைகà¯à®•ப௠பெறà¯à®±à®¤à¯\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "எழà¯à®¤à¯à®µà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "சிகà¯à®©à®²à¯ கிடைதà¯à®¤à®¤à¯, வெளியேறà¯à®•ிறதà¯.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "லடனà¯à®šà®¿à®¯à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "Time: %0.3f sec; Latency: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() தோலà¯à®µà®¿: %s\n"  #: ../src/utils/pacat.c:605 @@ -1559,34 +1413,34 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "தவறான சேனல௠வரைபடம௠'%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "தவறான மறà¯à®®à®¾à®¤à®¿à®°à®¿ à®®à¯à®±à¯ˆ '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "தவறான சேனல௠வரைபடம௠'%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "தவறான லேடனà¯à®šà®¿ கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "தவறான செயல௠நேர கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "தவறான மறà¯à®®à®¾à®¤à®¿à®°à®¿ à®®à¯à®±à¯ˆ '%s'."  #: ../src/utils/pacat.c:878 @@ -1595,60 +1449,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "தவறான மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "நிறைய விவாதஙà¯à®•ளà¯.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "ஒலி கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•ிறதà¯.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•ிறதà¯.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "சேனல௠மேப௠மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯à®Ÿà¯à®Ÿà®©à¯ பொரà¯à®¨à¯à®¤à®µà®¿à®²à¯à®²à¯ˆ\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•ிறதà¯.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "ஒர௠%s ஸà¯à®Ÿà¯€à®°à®®à¯ˆ மாதிரி கà¯à®±à®¿à®ªà¯à®ªà¯€à®Ÿà¯ '%s'உடன௠திறகà¯à®•ிறதà¯.\n"  #: ../src/utils/pacat.c:1006 @@ -1659,35 +1519,34 @@ msgstr "ஒலிபà¯à®ªà®¤à®¿à®µà¯"  msgid "playback"  msgstr "பிணà¯à®£à®©à®¿" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() தோலà¯à®µà®¿.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_பà¯à®¤à®¿à®¯() தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯.(_n) \n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() தோலà¯à®µà®¿.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() தோலà¯à®µà®¿: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() தோலà¯à®µà®¿.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() தோலà¯à®µà®¿.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() தோலà¯à®µà®¿.\n"  #: ../src/utils/pasuspender.c:81 @@ -1715,6 +1574,11 @@ msgstr "தொடர à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "எசà¯à®šà®°à®¿à®•à¯à®•ை: ஒலி சேவையம௠உளà¯à®³à®®à¯ˆà®µà®¾à®• இலà¯à®²à¯ˆ, இடைநிறà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "இணைபà¯à®ªà®¤à®¿à®²à¯ தோலà¯à®µà®¿: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1754,6 +1618,21 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() தோலà¯à®µà®¿.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() தோலà¯à®µà®¿.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() தோலà¯à®µà®¿.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2169,6 +2048,11 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "தவறான சேனல௠வரைபடம௠'%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "à®à®±à¯à®±à¯à®µà®¤à®±à¯à®•௠ஒர௠மாதிரி கோபà¯à®ªà®¿à®©à¯ˆ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®µà¯à®®à¯\n" @@ -2177,6 +2061,11 @@ msgstr "à®à®±à¯à®±à¯à®µà®¤à®±à¯à®•௠ஒர௠மாதிரி கோப  msgid "Failed to open sound file.\n"  msgstr "ஒலி கோபà¯à®ªà®¿à®©à¯ˆ திறகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "மாதிரி தகவலை பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ.: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2242,11 +2131,6 @@ msgstr ""  msgid "No valid command specified.\n"  msgstr "சரியான கடà¯à®Ÿà®³à¯ˆ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ \n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() தோலà¯à®µà®¿: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2363,11 +2247,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "autospawn பூடà¯à®Ÿà¯ˆ அணà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2378,7 +2262,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2390,15 +2274,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -2407,6 +2291,140 @@ msgstr ""  msgid "PulseAudio Sound Server"  msgstr "பளà¯à®¸à¯ ஆடியோ ஒலி கணினி" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "கணினி பஸà¯à®¸à¯ˆ இணைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID லிரà¯à®¨à¯à®¤à¯ அழைபà¯à®ªà®¾à®³à®°à¯ˆ பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "UID கà¯à®•௠அழைபà¯à®ªà®¾à®³à®°à¯ பொரà¯à®³à¯ˆ அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK அமரà¯à®µà¯ˆ பெறà¯à®µà®¤à®¿à®²à¯ தோலà¯à®µà®¿." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "அமரà¯à®µà¯ பொரà¯à®³à®¿à®²à¯ UID஠அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction஠ஒதà¯à®•à¯à®• இயலவிலà¯à®²à¯ˆ." + +#~ msgid "Cannot set action_id" +#~ msgstr "செயலை அமைகà¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ (_i)" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext஠ஒஉகà¯à®•ிட à®®à¯à®Ÿà®¿à®¯à®šà®µà®¿à®²à¯à®²à¯ˆ." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext஠தà¯à®µà®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "அழைபà¯à®ªà®¾à®³à®°à¯ à®…à®™à¯à®•ீகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®µà®°à®¾ எனà¯à®ªà®¯à¯ˆ நிசà¯à®šà®¯à®¿à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "auth஠பெற à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "'%s'உடன௠பாலிஸிகிட௠ஒதà¯à®¤à¯à®ªà¯‹à®•ிறதà¯" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "" +#~ "அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯à®³à¯à®³ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ (negative Unix nice level) PulseAudio " +#~ "daemonகà¯à®•à¯" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio daemonகà¯à®•ான நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "கணினி கொளà¯à®•ை PulseAudio஠அதிக à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆ திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ பெறà¯à®µà®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ " +#~ "தடà¯à®•à¯à®•ிறதà¯." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "கணினி கொளà¯à®•ை PulseAudio ஠நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ எடà¯à®•à¯à®•ிறதà¯." + +#~ msgid "read() failed: %s\n" +#~ msgstr "வாசிபà¯à®ªà®¤à®¿à®²à¯ () தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() தோலà¯à®µà®¿: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "நாம௠கà¯à®´à¯ '%s'ல௠இரà¯à®¨à¯à®¤ போத௠, உயரà¯à®¨à¯à®¤ à®®à¯à®¤à®©à¯à®®à¯ˆ அடà¯à®Ÿà®µà®£à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ அனà¯à®®à®¤à®¿ " +#~ "அளிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¿à®°à¯à®¨à¯à®¤à®¤à¯." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "கà¯à®´à¯ '%s'இல௠இரà¯à®•à¯à®•ிறோமà¯, நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ˆ அனà¯à®®à®¤à®¿à®•à¯à®•ிறதà¯." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "நமகà¯à®•ாக PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•ிய à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ வழஙà¯à®•à¯à®•ிறதà¯." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit உயரà¯à®¨à¯à®¤ à®®à¯à®•à¯à®•ிய à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®¯à¯ˆ மறà¯à®•à¯à®•ிறதà¯." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ளை கொடà¯à®•à¯à®•ிறதà¯." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time à®®à¯à®©à¯à®©à¯à®°à®¿à®®à¯ˆà®•ளை நிராகரிகà¯à®•ிறதà¯." + +#~ 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 "" +#~ "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." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "உயரà¯à®¨à¯à®¤ சலà¯à®•ைகளின௠அடà¯à®Ÿà®µà®£à¯ˆà®¯à¯ˆ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠பாலிசியால௠" +#~ "அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "வெறà¯à®±à®¿à®•ரமாக அதிகரிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ RLIMIT_RTPRIO" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "" +#~ "CAP_NICE஠மேலே கொடà¯à®•à¯à®•ிறத௠(_N\n" +#~ ")" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "நிகழà¯à®¨à¯‡à®° திடà¯à®Ÿà®®à®¿à®Ÿà¯à®¤à®²à¯ கடà¯à®Ÿà®®à¯ˆà®ªà¯à®ªà®¿à®²à¯ செயலà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ ஆனால௠கொளà¯à®•ையால௠" +#~ "அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà¯à®µà®¤à®¿à®²à¯à®²à¯ˆ" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ திறனà¯à®•ள௠CAP_SYS_NICEகà¯à®•௠அமைகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() தோலà¯à®µà®¿.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Analog Mono" @@ -7,7 +7,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx.te\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-08 18:21+0530\n"  "Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"  "Language-Team: Telugu <en@li.org>\n" @@ -21,7 +21,12 @@ msgstr ""  "\n"  "\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -33,7 +38,7 @@ msgstr ""  "సాదారణంగా యిది ALSA à°¡à±à°°à±ˆà°µà°°à± '%s' నందలి బగౠకావచà±à°šà±à°¨à±. దయచేసి దీనిని ALSA à°…à°à°¿à°µà±ƒà°¦à±à°¦à°¿ కారà±à°²à°•à± "  "నివేదించà±à°®à±." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -45,7 +50,7 @@ msgstr ""  "సాదారణంగా యిది ALSA à°¡à±à°°à±ˆà°µà°°à± '%s' నందౠబగౠకావచà±à°šà±à°¨à± . దయచేసి దీనిని ALSA à°…à°à°¿à°µà±ƒà°¦à±à°¦à°¿à°•ారà±à°²à°• "  "నివేదించà±à°®à±." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -69,7 +74,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "అంతరà±à°—à°¤ ఆడియో" @@ -89,364 +94,241 @@ msgstr "కొతà±à°¤ dl లోడరౠకేటాయించà±à°Ÿà°²à±‹  msgid "Failed to add bind-now-loader."  msgstr "bind-now-loader జతచేయà±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "సిసà±à°Ÿà°®à± బసà±â€Œà°¨à°•à± à°…à°¨à±à°¸à°‚ధానమౠకాలేకపోయింది: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "PID à°¨à±à°‚à°¡à°¿ కాలరà±â€Œà°¨à± పొందలేక పోయింది: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "కాలరౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°šà°²à±‡à°• పోయింది." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "CK సెషనౠపొందà±à°Ÿà°•ౠవిఫలమైంది." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "సెషనౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°š లేకపోయింది." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "PolKitAction à°šà°¿à°°à±à°¨à°¾à°®à°¾à°¨à± కేటాయించలేక పోయింది." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "action_id అమరà±à°šà°²à±‡à°• పోయింది" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "PolKitContext కేటాయించలేక పోయింది." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "PolKitContext సిదà±à°¦à°®à± చేయలేక పోయింది: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "కాలరౠఅధికారమౠకలదో లేదో నిరà±à°£à°¯à°¿à°‚చలేక పోయింది: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "దృవీకరణ పొందలేక పోయింది: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit à°¸à±à°ªà°‚దిచినది దీనితో '%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "సంకేతమౠ%s పొందినది." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "నిషà±à°•à±à°°à°®à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "వినియోగదారి '%s'నౠకనà±à°—ొనà±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "సమూహం '%s' à°•à°¨à±à°—ొనà±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "వినియోగదారి '%s' (UID %lu) మరియౠసమూహమౠ'%s' (GID %lu) కనబడినవి." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "వినియోగదారి '%s' మరియౠసమూహమౠ'%s' యొకà±à°• GID సరితూగలేదà±." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "వినియోగదారి '%s' యొకà±à°• నివాస డైరెకà±à°Ÿà°°à±€ '%s' కాదà±, వదిలివేయà±à°šà±à°¨à±à°¨à°¦à°¿." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "'%s' సృషà±à°Ÿà°¿à°‚à°šà±à°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "సమూహ జాబితా మారà±à°šà±à°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "GID మారà±à°šà±à°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "UID మారà±à°šà°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "root à°…à°¨à±à°®à°¤à±à°²à± విజయవంతంగా తిసివేయబడినాయి." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "à°ˆ à°ªà±à°²à°¾à°Ÿà±â€Œà°«à°¾à°‚ నందౠసిసà±à°Ÿà°®à± తరహా రీతి మదà±à°¦à°¤à±€à°¯à°¬à°¡à°¦à±." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) విఫలమైంది: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "ఆదేశ వరà±à°¸à°¨à± పారà±à°¶à± చేయà±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ పణాళికనౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit మనకౠacquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit à°…à°¨à±à°¨à°¦à°¿ acquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit మనకౠacquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit acquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/main.c:560 -#, 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 "" -"SUID root కాలౠచేసింది మరియౠవాసà±à°¤à°µ-సమయ మరియà±/లేదా అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤ à°ªà±à°°à°£à°¾à°³à°¿à°• à°…à°à±à°¯à°°à±à°§à°¿à°‚బడింది " -"ఆకృతీకరణనందà±. à°à°®à±ˆà°¨à°ªà±à°ªà±à°Ÿà°¿à°•à°¿, మనకౠఅవసరమైన à°…à°¨à±à°®à°¤à°²à± లోపించినవి:\n" -"మనమౠసమూహం '%s' నందౠలేమà±, PolicyKit à°…à°¨à±à°¨à°¦à°¿ మనకౠఅà°à±à°¯à°°à±à°¦à°¿à°‚à°šà°¿à°¨ à°…à°¨à±à°®à°¤à±à°²à°¨à± యిచà±à°šà±à°Ÿà°•à± " -"నిరాకరించినది మరియౠమనమౠవృదà±à°¦à°¿ RLIMIT_NICE/RLIMIT_RTPRIO వనరౠపరిమితà±à°²à°¨à± కలిగిలేమà±.\n" -"వాసà±à°¤à°µ-సమయ/à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠచేతనపరచà±à°Ÿà°•ౠదయచేసి సరైన PolicyKit à°…à°¨à±à°®à°¤à±à°²à°¨à± పొందà±à°®à±, " -"లేదా '%s' యొకà±à°• à°¸à°à±à°¯à±à°¨à°¿à°µà°¿ à°•à°®à±à°®à±, లేదా à°ˆ వినియోగదారికి RLIMIT_NICE/RLIMIT_RTPRIO వనరౠ" -"పరిమితà±à°²à°¨à± పెంచà±à°®à±." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడింది." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "సమరà±à°§à°µà°‚తంగా RLIMIT_RTPRIOనౠపెంచినది" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO విఫలమైంది: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "CAP_NICE యిసà±à°¤à±‹à°‚ది" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనంచేయబడింది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడలేదà±." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "డెమోనౠనడà±à°šà±à°Ÿ లేదà±" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "డెమోనౠPID %u వలె నడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "డెమోనౠచంపà±à°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "à°ˆ à°ªà±à°°à±‹à°—à±à°°à°¾à°®à± root లా నడà±à°ªà°µà°²à°¸à°¿à°‚ది కాదౠ(--system తెలిపితే తపà±à°ª)" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Root à°…à°¨à±à°®à°¤à±à°²à± అవసరమà±." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "--start సిసà±à°Ÿà°®à± సంà°à°µà°¾à°² à°¦à±à°µà°¾à°°à°¾ మదà±à°¦à°¤à±€à°¯à°¬à°¡à°¦à±." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "సిసà±à°Ÿà°®à± మోడౠనందౠనడà±à°ªà±à°¤à±‹à°‚ది, అయితే --disallow-exit అమరà±à°šà°²à±‡à°¦à±!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿, అయితే --disallow-module-loading అమరà±à°šà°²à±‡à°¦à±!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿, బలవంతంగా SHM రీతిని అచేతనమౠచేసà±à°¤à±‹à°‚ది!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "సిసà±à°Ÿà°®à± రీతినందౠనడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿, బలవంతంగా నిషà±à°•à±à°°à°®à°£ వృధా సమయానà±à°¨à°¿ అచేతనమౠచేయà±à°šà±à°¨à±à°¨à°¦à°¿!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "stdio పొందà±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "పైరౠవిఫలమైంది: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork() విఫలమైంది: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read() విఫలమైంది: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "డెమోనౠపà±à°°à°¾à°°à°‚à°à°‚ విఫలమైంది." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "డెమోనౠపà±à°°à°¾à°°à°‚à°à°®à± సఫలమైంది." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "ఇది PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "నిరà±à°µà°°à±à°¤à°¨ హోసà±à°Ÿà±: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "నిరà±à°µà°°à±à°¤à°¨ CFLAGS: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "హోసà±à°Ÿà±à°¨à± నడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "%u CPUలనౠకనà±à°—ొనà±à°¨à°¦à°¿." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "పేజీ పరిమాణమౠ%lu బైటà±à°²à±" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Valgrind మదà±à°¦à°¤à±à°¤à±‹ నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది: à°…à°µà±à°¨à±" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Valgrind మదà±à°¦à°¤à±à°¤à±‹ నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది: లేదà±" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "valgrind రీతినందౠనడà±à°ªà±à°šà±à°¨à±à°¨à°¦à°¿: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "ఆపà±à°Ÿà°¿à°®à±ˆà°œà±à°¡à± à°¬à±à°²à±à°¡à±: à°…à°µà±à°¨à±" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "ఆపà±à°Ÿà°¿à°®à±ˆà°œà±à°¡à± à°¬à±à°²à±à°¡à±: కాదà±" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "NDEBUG నిరà±à°µà°šà°¿à°‚చబడింది, à°…à°¨à±à°¨à°¿ à°¸à±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± అచేతనమైనవి." -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "FASTPATH నిరà±à°µà°šà°¿à°‚చబడింది, ఫాసà±à°Ÿà± పాతౠసà±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± మాతà±à°°à°®à±‡ అచేతనమైనవి." -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "à°…à°¨à±à°¨à°¿ à°¸à±à°¥à°¿à°°à°°à°¾à°¶à±à°²à± చేతనమైనవి." -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "మిషనౠID పొందà±à°Ÿà°•ౠవిఫలమైంది" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "మిషనౠID %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "మిషనౠID %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "à°°à°¨à±â€Œà°Ÿà±ˆà°®à± డైరెకà±à°Ÿà°°à±€à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿ %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "à°¸à±à°¥à°¿à°¤à°¿ డైరెకà±à°Ÿà°°à±€à°¨à± à°µà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿ %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "సిసà±à°Ÿà°®à± రీతినందౠవà±à°ªà°¯à±‹à°—à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -456,41 +338,41 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create() విఫలమైంది." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "తాజా à°…à°§à°¿à°•-తీవà±à°°à°¤ కాలసూచికలౠఅందà±à°¬à°¾à°Ÿà±à°²à±‹ à°µà±à°¨à±à°¨à°¾à°¯à°¿! బానౠఎపటైటà±!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr "మితà±à°°à°®à°¾, నీ కెరà±à°¨à°²à± చెడిపోయింది! à°…à°§à°¿à°•-తీవà±à°°à°¤ కాలసూచకిలనౠచేతనమౠచేయమని సూచించడమైనది!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new() విఫలమైంది." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "డెమోనౠసిదà±à°¦à°®à±à°šà±‡à°¯à±à°Ÿà°•ౠవిఫలమైంది." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "à°à°µà°¿à°§à°®à±ˆà°¨ మాడà±à°¯à±‚à°³à±à°³à± లోడవకà±à°‚à°¡à°¾ డెమోనౠపà±à°°à°¾à°°à°‚à°à°®à±, పనిచేయà±à°Ÿà°•ౠతిరసà±à°•రించబడింది." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "డెమోనౠపà±à°°à°¾à°°à°‚à°à°®à± పూరà±à°¤à±ˆà°¨à°¦à°¿." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "డెమోనౠమూసివేత సిదà±à°¦à°®à±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "డెమోనౠఅంతమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది." @@ -825,14 +707,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### ఆకృతీకరణ దసà±à°¤à±à°°à°®à±à°¨à±à°‚à°¡à°¿ à°šà°¦à±à°µà±à°®à±: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "root à°…à°¨à±à°®à°¤à±à°²à°¨à± తీసివేయà±à°šà±à°¨à±à°¨à°¦à°¿." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "సామరà±à°§à±à°¯à°¾à°²à°¨à± CAP_SYS_NICE కౠసమరà±à°¦à°µà°‚తంగా పరిమితం చేయబడినవి." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio à°¶à°¬à±à°¦à°ªà± సిసà±à°Ÿà°®à±" @@ -841,24 +719,6 @@ msgstr "PulseAudio à°¶à°¬à±à°¦à°ªà± సిసà±à°Ÿà°®à±"  msgid "Start the PulseAudio Sound System"  msgstr "PulseAudio à°¶à°¬à±à°¦à°ªà± సిసà±à°Ÿà°®à±â€Œà°¨à± à°ªà±à°°à°¾à°°à°‚à°à°¿à°‚à°šà±à°®à±" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• (à°‹à°£ à°¯à±à°¨à°¿à°•à±à°¸à± సాదా à°¸à±à°¥à°¾à°¯à°¿) PulseAudio డెమోనà±â€Œà°•à±" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio డెమోనà±â€Œ కొరకౠవాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠపొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±à°¨à±à°¨à°¦à°¿." - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠపొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±‹à°‚ది." -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "మోనో" @@ -1231,183 +1091,187 @@ msgstr "à°•à±à°•à±€ డాటా పారà±à°¶à± చేయà±à°Ÿà°•ౠవఠ msgid "Failed to open configuration file '%s': %s"  msgstr "ఆకృతీకరణ దసà±à°¤à±à°°à°®à± '%s' తెరà±à°µà±à°Ÿà°•ౠవిఫలమైంది: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "à° à°•à±à°•à±€ లోడవలేదà±. లేకà±à°‚à°¡à°¾ à°…à°¨à±à°¸à°‚ధానమగà±à°Ÿà°•à± à°ªà±à°°à°¯à°¤à±à°¨à°¿à°¸à±à°¤à±‹à°‚ది." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "తెలియని పొడిగింపౠకొరకౠసందేశమౠసà±à°µà±€à°•రించింది '%s'" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± à°Žà°‚à°¡à°—à°Ÿà±à°Ÿà±à°Ÿà°•ౠవిఫలమైంది: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "à°ªà±à°²à±‡à°¬à±à°¯à°¾à°•à± à°¸à±à°Ÿà±à°°à±€à°®à± à°Žà°‚à°¡à°—à°Ÿà±à°Ÿà°¿à°¨à°¦à°¿.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "సేవికకౠఅనà±à°¸à°‚ధానమà±à°¨à± నశింపచేసà±à°¤à±‹à°‚ది.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write() విఫలమైంది: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± సమరà±à°§à°µà°‚తంగా సృషà±à°Ÿà°¿à°‚చబడింది.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Buffer metrics: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "సాదారణ విశదీకరణ(à°¸à±à°ªà±†à°•à±) '%s' à°µà±à°ªà°¯à±‹à°—à°¿à°¸à±à°¤à±‹à°‚ది, à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°—à°‚ మాపౠ'%s'.\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "పరికరమౠ%s (%u, %ssuspended) à°•à± à°…à°¨à±à°¸à°‚ధానించబడింది.\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± దోషమà±: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠఅరà±à°¦à°¾à°‚తరమà±à°—à°¾ నిలిపివేయి.%s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠతిరిగికొనసాగించబడింది.%s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± తకà±à°•à±à°µà°—ానడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.%s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± మించినడà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.%s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± à°ªà±à°°à°¾à°°à°‚à°à°®à±ˆà°‚ది.%s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± పరికరమౠ%s (%u, %ssuspended) à°•à± à°•à°¦à±à°ªà°¬à°¡à°¿à°‚ది.%s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "కాదౠ" -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "à°¸à±à°Ÿà±à°°à±€à°®à± బఫరౠయాటà±à°°à°¿à°¬à±à°¯à±‚à°Ÿà±à°²à± మారà±à°šà°¬à°¡à°¿à°¨à°µà°¿.%s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "à°…à°¨à±à°¸à°‚ధానమౠà°à°°à±à°ªà°¡à°¿à°¨à°¦à°¿.%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_record() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "à°…à°¨à±à°¸à°‚ధానమౠవైఫలà±à°¯à°®à±: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "EOF పొందింది.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read() విఫలమైంది: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "EOF పొందింది.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write() విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "సంకేతమౠపొందినది, నిషà±à°•à±à°°à°®à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨à°¤à°¨à± పొందà±à°Ÿà°²à±‹ విఫలమైంది: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "సమయం: %0.3f sec; à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨à°¤: %0.0f usec.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info() విఫలమైంది: %s\n"  #: ../src/utils/pacat.c:605 @@ -1529,34 +1393,34 @@ msgstr ""  "libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n"  "libpulse లింకైనది %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°¨à°ƒà°µà±à°¦à°¾à°¹à°°à°£ పదà±à°¦à°¤à°¿ '%s'."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "చెలà±à°²à°¨à°¿ à°•à±à°°à°¿à°¯à°¾à°¹à±€à°¨ విశదీకరణమౠ'%s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "చెలà±à°²à°¨à°¿ కారà±à°¯à°•à±à°°à°®à°®à± సమయ విశదీకరణ '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°¨à°ƒà°µà±à°¦à°¾à°¹à°°à°£ పదà±à°¦à°¤à°¿ '%s'."  #: ../src/utils/pacat.c:878 @@ -1565,60 +1429,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "చెలà±à°²à°¨à°Ÿà±à°µà°‚à°Ÿà°¿ మాదిరి విశదీకరణ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "చాలా యెకà±à°•à±à°µ ఆరà±à°—à±à°®à±†à°‚à°Ÿà±à°²à±.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•ౠవిఫలమైంది: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "à°¶à°¬à±à°¦à°ªà± దసà±à°¤à±à°°à°®à±à°¨à± తెరà±à°µà±à°Ÿà°•ౠవిఫలమైంది.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•ౠవిఫలమైంది: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠమాదిరి విశదీకరణితో సరిపోలà±à°Ÿà°²à±‡à°¦à±\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "%s à°¸à±à°Ÿà±à°°à±€à°®à±â€Œà°¨à± మాదిరి విశదీకరణి '%s'తో తెరà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿.\n"  #: ../src/utils/pacat.c:1006 @@ -1629,35 +1499,34 @@ msgstr "రికారà±à°¡à°¿à°‚à°—à±"  msgid "playback"  msgstr "à°ªà±à°²à±‡à°¬à°¾à°•à±" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new() విఫలమైంది.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new() విఫలమైంది.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new() విఫలమైంది.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect() విఫలమైంది: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new() విఫలమైంది.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new() విఫలమైంది.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run() విఫలమైంది.\n"  #: ../src/utils/pasuspender.c:81 @@ -1685,6 +1554,11 @@ msgstr "తిరిగికొనసాగింపౠవైఫలà±à°¯à°®à±  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "హెచà±à°šà°°à°¿à°•: à°¶à°¬à±à°§à°ªà± సేవిక à°¸à±à°¥à°¾à°¨à°¿à°•à°‚ కాదà±, à°…à°°à±à°§à°¾à°‚తరనిలà±à°ªà±à°¦à°² కావడంలేదà±.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "à°…à°¨à±à°¸à°‚ధానమౠవైఫలà±à°¯à°®à±: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1725,6 +1599,21 @@ msgstr ""  "libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n"  "libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new() విఫలమైంది.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new() విఫలమైంది.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run() విఫలమైంది.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2139,6 +2028,11 @@ msgstr ""  "libpulse తో నిరà±à°µà°°à±à°¤à°¿à°‚చబడింది%s\n"  "libpulse తో లింకà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "చెలà±à°²à°¨à°¿ à°ªà±à°°à°¸à°¾à°°à°®à°¾à°°à±à°— మాపౠ'%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "లోడà±à°µà±à°µà±à°Ÿà°•ౠదయచేసి మాదిరి దసà±à°¤à±à°°à°®à±à°¨à± తెలà±à°ªà±à°®à±\n" @@ -2147,6 +2041,11 @@ msgstr "లోడà±à°µà±à°µà±à°Ÿà°•ౠదయచేసి మాదిరి  msgid "Failed to open sound file.\n"  msgstr "à°¶à°¬à±à°¦à°ªà± దసà±à°¤à±à°°à°®à±à°¨à± తెరà±à°µà±à°Ÿà°•ౠవిఫలమైంది.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "మాదిరి సమాచారమౠపొందà±à°Ÿà°•ౠవిఫలమైంది: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2208,11 +2107,6 @@ msgstr "మీరౠకారà±à°¡à± నామమà±/విషయసూచి  msgid "No valid command specified.\n"  msgstr "à°Žà°Ÿà±à°µà°‚à°Ÿà°¿ విలà±à°µà±ˆà°¨ ఆదేశమౠతెలà±à°ªà°²à±‡à°¦à±.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect() విఫలమైంది: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2329,11 +2223,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "ఆటోసà±à°ªà°¾à°¨à± తాళంనౠయాకà±à°¸à°¿à°¸à± చేయలేదà±." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2349,7 +2243,7 @@ msgstr ""  "మనమౠPOLLOUT అమరà±à°ªà± à°¦à±à°µà°¾à°°à°¾ జాగరూక పరచబడినామౠ-- à°à°®à±ˆà°¨à°ªà±à°ªà°Ÿà°¿à°•à°¿ snd_pcm_avail() à°…à°¨à±à°¨à°¦à°¿ 0 నౠ"  "యిసà±à°¤à±à°‚ది లేదా వేరొక విలà±à°µ < min_avail యిసà±à°¤à±à°‚ది." -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2366,15 +2260,15 @@ msgstr ""  "యిసà±à°¤à±à°‚ది లేదా వేరొక విలà±à°µ < min_avail యిసà±à°¤à±à°‚ది."  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "ఆఫà±" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "హై ఫెడిలిటి à°ªà±à°²à±‡à°¬à±à°¯à°¾à°•à± (A2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "టెలిఫోనీ డూపà±à°²à±†à°•à±à°¸à± (HSP/HFP)" @@ -2382,6 +2276,126 @@ msgstr "టెలిఫోనీ డూపà±à°²à±†à°•à±à°¸à± (HSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "పలà±à°¸à± ఆడియో సౌండౠసేవిక" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "సిసà±à°Ÿà°®à± బసà±â€Œà°¨à°•à± à°…à°¨à±à°¸à°‚ధానమౠకాలేకపోయింది: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "PID à°¨à±à°‚à°¡à°¿ కాలరà±â€Œà°¨à± పొందలేక పోయింది: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "కాలరౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°šà°²à±‡à°• పోయింది." + +#~ msgid "Failed to get CK session." +#~ msgstr "CK సెషనౠపొందà±à°Ÿà°•ౠవిఫలమైంది." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "సెషనౠఆబà±à°œà°•à±à°Ÿà±à°¨à°‚దౠUIDనౠఅమరà±à°š లేకపోయింది." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "PolKitAction à°šà°¿à°°à±à°¨à°¾à°®à°¾à°¨à± కేటాయించలేక పోయింది." + +#~ msgid "Cannot set action_id" +#~ msgstr "action_id అమరà±à°šà°²à±‡à°• పోయింది" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "PolKitContext కేటాయించలేక పోయింది." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "PolKitContext సిదà±à°¦à°®à± చేయలేక పోయింది: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "కాలరౠఅధికారమౠకలదో లేదో నిరà±à°£à°¯à°¿à°‚చలేక పోయింది: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "దృవీకరణ పొందలేక పోయింది: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit à°¸à±à°ªà°‚దిచినది దీనితో '%s'" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• (à°‹à°£ à°¯à±à°¨à°¿à°•à±à°¸à± సాదా à°¸à±à°¥à°¾à°¯à°¿) PulseAudio డెమోనà±â€Œà°•à±" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio డెమోనà±â€Œ కొరకౠవాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠపొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±à°¨à±à°¨à°¦à°¿." + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "సిసà±à°Ÿà°®à± విధానమౠPulseAudio వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠపొందకà±à°‚à°¡à°¾ నిరోధిసà±à°¤à±‹à°‚ది." + +#~ msgid "read() failed: %s\n" +#~ msgstr "read() విఫలమైంది: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect() విఫలమైంది: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ పణాళికనౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "మనమౠసమూహమౠ'%s' నందౠవà±à°¨à±à°¨à°¾à°®à±, వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠఅనà±à°®à°¤à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit మనకౠacquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit à°…à°¨à±à°¨à°¦à°¿ acquire-high-priority à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit మనకౠacquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ యిచà±à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit acquire-real-time à°…à°¨à±à°®à°¤à°¿à°¨à°¿ తిరసà±à°•à°°à°¿à°‚à°šà±à°šà±à°¨à±à°¨à°¦à°¿." + +#~ 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 "" +#~ "SUID root కాలౠచేసింది మరియౠవాసà±à°¤à°µ-సమయ మరియà±/లేదా అదిక-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤ à°ªà±à°°à°£à°¾à°³à°¿à°• à°…à°à±à°¯à°°à±à°§à°¿à°‚బడింది " +#~ "ఆకృతీకరణనందà±. à°à°®à±ˆà°¨à°ªà±à°ªà±à°Ÿà°¿à°•à°¿, మనకౠఅవసరమైన à°…à°¨à±à°®à°¤à°²à± లోపించినవి:\n" +#~ "మనమౠసమూహం '%s' నందౠలేమà±, PolicyKit à°…à°¨à±à°¨à°¦à°¿ మనకౠఅà°à±à°¯à°°à±à°¦à°¿à°‚à°šà°¿à°¨ à°…à°¨à±à°®à°¤à±à°²à°¨à± యిచà±à°šà±à°Ÿà°•à± " +#~ "నిరాకరించినది మరియౠమనమౠవృదà±à°¦à°¿ RLIMIT_NICE/RLIMIT_RTPRIO వనరౠపరిమితà±à°²à°¨à± కలిగిలేమà±.\n" +#~ "వాసà±à°¤à°µ-సమయ/à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯ à°ªà±à°°à°£à°¾à°³à°¿à°•నౠచేతనపరచà±à°Ÿà°•ౠదయచేసి సరైన PolicyKit à°…à°¨à±à°®à°¤à±à°²à°¨à± " +#~ "పొందà±à°®à±, లేదా '%s' యొకà±à°• à°¸à°à±à°¯à±à°¨à°¿à°µà°¿ à°•à°®à±à°®à±, లేదా à°ˆ వినియోగదారికి RLIMIT_NICE/RLIMIT_RTPRIO " +#~ "వనరౠపరిమితà±à°²à°¨à± పెంచà±à°®à±." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "à°…à°§à°¿à°•-à°ªà±à°°à°¾à°®à±à°–à±à°¯à°¤à°¾ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనమà±à°šà±‡à°¯à°¬à°¡à°¿à°‚ది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడింది." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "సమరà±à°§à°µà°‚తంగా RLIMIT_RTPRIOనౠపెంచినది" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO విఫలమైంది: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "CAP_NICE యిసà±à°¤à±‹à°‚ది" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "వాసà±à°¤à°µ-సమయ à°ªà±à°°à°£à°¾à°³à°¿à°• ఆకృతీకరణనందౠచేతనంచేయబడింది కాని విధానమౠదà±à°µà°¾à°°à°¾ à°…à°¨à±à°®à°¤à°¿à°‚చబడలేదà±." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "సామరà±à°§à±à°¯à°¾à°²à°¨à± CAP_SYS_NICE కౠసమరà±à°¦à°µà°‚తంగా పరిమితం చేయబడినవి." + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new() విఫలమైంది.\n" +  #~ msgid "Analog Mono"  #~ msgstr "ఎనలాగౠమోనో" @@ -6,7 +6,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-18 11:13+0300\n"  "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"  "Language-Team: Ukrainian <translation@linux.org.ua>\n" @@ -17,7 +17,12 @@ msgstr ""  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"  "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -30,7 +35,7 @@ msgstr ""  "Ймовірно, ви натрапили на ваду у драйвері ALSA «%s». Будь лаÑка, повідомте "  "про цю ваду розробникам ALSA." -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -43,7 +48,7 @@ msgstr ""  "Ймовірно, ви натрапили на ваду у драйвері ALSA «%s». Будь лаÑка, повідомте "  "про цю ваду розробникам ALSA." -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -69,7 +74,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "Вбудоване аудіо" @@ -92,225 +97,92 @@ msgstr ""  msgid "Failed to add bind-now-loader."  msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ bind-now-loader." -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "Ðе вдалоÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð· шиною ÑиÑтеми: %s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ джерело виклику від PID: %s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° джерела виклику." - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ CK ÑеанÑу." - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ÑеанÑу." - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitAction." - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "Ðе вдалоÑÑ Ð²Ñтановити action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitContext." - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ чи уповноважено джерело виклику: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ уповноваженнÑ: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit надіÑлала відповідь: «%s»" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "Отримано Ñигнал %s." -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "Ð—Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸." -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ кориÑтувача «%s»." -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ групу «%s»." -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "Знайдено кориÑтувача «%s» (UID %lu) Ñ– групу «%s» (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "GID кориÑтувача «%s» Ñ– групи «%s» не збігаютьÑÑ." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "Домашнім каталогом кориÑтувача «%s» не Ñ” «%s», дані проігноровано." -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "Ðе вдалоÑÑ Ñтворити «%s»: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ ÑпиÑок груп: %s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ GID: %s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ UID: %s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "Програма уÑпішно позбулаÑÑ Ð¿Ñ€Ð°Ð² доÑтупу кориÑтувача root." -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "ЗагальноÑиÑтемний режим не підтримуєтьÑÑ Ð½Ð° цій платформі." -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "Спроба виконати setrlimit(%s, (%u, %u)) була невдалою: %s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ Ñ€Ñдок команди." -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "" -"Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом." - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "" -"Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального " -"чаÑу." - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit надала нам права доÑтупу acquire-high-priority." - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-high-priority." - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit надала нам права доÑтупу acquire-real-time." - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-real-time." - -#: ../src/daemon/main.c:560 -#, 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 "" -"У налаштуваннÑÑ… було вказано виклик SUID root Ñ– Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального " -"чаÑу Ñ–/або режиму виÑокого пріоритету. Ðле у Ð½Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” потрібних прав " -"доÑтупу:\n" -"Ваш кориÑтувач не Ñ” учаÑником групи «%s», PolicyKit відмовила у наданні нам " -"потрібних прав доÑтупу, тому знÑÑ‚Ñ‚Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½ÑŒ реÑурÑу RLIMIT_NICE/" -"RLIMIT_RTPRIO не можливе.\n" -"Щоб увімкнути Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального чаÑу Ñ–/або режиму виÑокого " -"пріоритету, будь лаÑка, отримайте відповідні права доÑтупу у PolicyKit або " -"Ñтаньте учаÑником групи «%s» або збільшіть діапазон реÑурÑу RLIMIT_NICE/" -"RLIMIT_RTPRIO Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача." - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "" -"ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом увімкнено у налаштуваннÑÑ…, але не дозволене " -"правилами безпеки." - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "УÑпішно підвищено RLIMIT_RTPRIO" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби підвищити RLIMIT_RTPRIO: %s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "ПозбуваємоÑÑ CAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "" -"ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального чаÑу увімкнено у налаштуваннÑÑ…, але не " -"дозволене правилами безпеки." - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "Фонову Ñлужбу не запущено" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "Фонову Ñлужбу запущено Ñк PID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ñ‚Ð¸ роботу фонової Ñлужби: %s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)." @@ -318,156 +190,156 @@ msgstr ""  "Цю програму не призначено Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку від імені кориÑтувача root (Ñкщо не "  "вказано параметра --system)." -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "Потрібні права доÑтупу кориÑтувача root." -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr ""  "Параметр --start не підтримуєтьÑÑ Ð´Ð»Ñ Ð·Ð°Ð³Ð°Ð»ÑŒÐ½Ð¾ÑиÑтемних екземплÑрів програми." -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr ""  "ЗапуÑк у загальноÑиÑтемному режимі, але не вÑтановлено --disallow-exit!" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr ""  "ЗапуÑк у загальноÑиÑтемному режимі, але не вÑтановлено --disallow-module-"  "loading!" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "ЗапуÑк у загальноÑиÑтемному режимі, примуÑове Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ SHM!" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr ""  "ЗапуÑк у загальноÑиÑтемному режимі, примуÑове Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ параметрів "  "чаÑу виходу за відÑутноÑті активноÑті!" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ stdio." -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "Спроба ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ°Ð½Ð°Ð»Ñƒ завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ fork() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "Спроба запуÑку фонової Ñлужби завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾." -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "Фонову Ñлужбу уÑпішно запущено." -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "Це PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "Вузол збираннÑ: %s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "CFLAGS збираннÑ: %s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "Запущено на вузлі: %s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "Знайдено %u процеÑорів." -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "Розмір Ñторінки дорівнює %lu байтам" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "Зібрано з підтримкою Valgrind: так" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "Зібрано з підтримкою Valgrind: ні" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "ЗапуÑк у режимі valgrind: %s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "Зібрано з оптимізацією: так" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "Зібрано з оптимізацією: ні" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "Спроба отримати ідентифікатор ÑиÑтеми завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "Ідентифікатор ÑиÑтеми %s." -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "Ідентифікатор ÑиÑтеми %s." -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "Каталог запуÑку: %s." -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "Каталог Ñтану: %s." -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "ЗапуÑку у загальноÑиÑтемному режимі: %s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -477,15 +349,15 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_pid_file_create() зазнала невдачі." -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "ДоÑтупні Ñвіжі виÑокоточні таймери! Смачного!" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!" @@ -493,29 +365,29 @@ msgstr ""  "Чувак, твоє Ñдро — лайно! Круті пацани рекомендують Linux з увімкненими "  "виÑокоточними таймерами!" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_core_new() зазнала невдачі." -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ фонову Ñлужбу." -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr ""  "ЗапуÑк фонової Ñлужби без жодного завантаженого модулÑ, Ñлужба не буде "  "працездатною." -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "ЗапуÑк фонової Ñлужби завершено." -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "Ініційовано Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ фонової Ñлужби." -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„Ð¾Ð½Ð¾Ð²Ð¾Ñ— Ñлужби перервано." @@ -867,14 +739,10 @@ msgstr ""  msgid "### Read from configuration file: %s ###\n"  msgstr "### Прочитано з файла налаштувань: %s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "ПозбуваємоÑÑ Ð¿Ñ€Ð°Ð² доÑтупу root." -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "УÑпішно обмежено можливоÑті до CAP_SYS_NICE." -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "Звукова ÑиÑтема PulseAudio" @@ -883,28 +751,6 @@ msgstr "Звукова ÑиÑтема PulseAudio"  msgid "Start the PulseAudio Sound System"  msgstr "ЗапуÑтити звукову ÑиÑтему PulseAudio" -#: ../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:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "Моно" @@ -1277,184 +1123,188 @@ msgstr "Ðе вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ дані куки"  msgid "Failed to open configuration file '%s': %s"  msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»: %s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr ""  "Куків не завантажено. Буде виконано Ñпробу Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð° Ñ—Ñ… відÑутноÑті." -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork(): %s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid(): %s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "Отримано Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ невідомий додаток «%s»" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "Ðе вдалоÑÑ Ñтворити тунель Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ: %s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "Потік Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚ÑƒÐ½ÐµÐ»ÑŒÐ¾Ð²Ð°Ð½Ð¾.\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Тунельне Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· Ñервером.\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain(): %s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_peek() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "Потік було уÑпішно Ñтворено.\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_get_buffer_attr() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "Метрика буфера: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "Метрика буфера: maxlength=%u, fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‡Ð°Ñтотної Ñпецифікації «%s», карта каналів «%s».\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "З’єднано з приÑтроєм %s (%u, %s призупинено).\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "Помилка потоку: %s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "Призупинено приÑтрій потоку. %s \n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "Відновлено приÑтрій потоку. %s \n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "ÐÐµÐ´Ð¾Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "ÐŸÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "Потік запущено. %s \n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "Потік переÑунуто на приÑтрій %s (%u, %s призупинено). %s \n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "не " -#: ../src/utils/pacat.c:378 +#: ../src/utils/pacat.c:383  #, fuzzy, c-format -msgid "Stream buffer attributes changed.%s \n" +msgid "Stream buffer attributes changed.%s"  msgstr "ÐÐµÐ´Ð¾Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ. %s \n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "Ð’Ñтановлено з’єднаннÑ. %s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_new() зазнала невдачі: %s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_connect_playback() зазнала невдачі: %s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_connect_record() зазнала невдачі: %s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "Спроба вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі: %s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "Отримано EOF.\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" +#, fuzzy +msgid "Got EOF." +msgstr "Отримано EOF.\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ write() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "Отримано Ñигнал, Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸.\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ латентніÑть: %s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "ЧаÑ: %0.3f Ñек.; ЛатентніÑть: %0.0f мкÑ.  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr ""  "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_stream_update_timing_info() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" @@ -1575,34 +1425,34 @@ msgstr ""  "Зібрано з libpulse %s\n"  "З’єднано з libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "Ðекоректна карта каналів «%s»\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "Ðекоректний метод зміни чаÑтотних характериÑтик «%s»."  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "Ðекоректна карта каналів «%s»\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "Ðекоректна ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð»Ð°Ñ‚ÐµÐ½Ñ‚Ð½Ð¾Ñті «%s»\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "Ðекоректна чаÑова ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Â«%s»\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "Ðекоректний метод зміни чаÑтотних характериÑтик «%s»."  #: ../src/utils/pacat.c:878 @@ -1611,60 +1461,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "Ðекоректна чаÑтотна ÑпецифікаціÑ\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open(): %s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2(): %s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "Забагато аргументів.\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ звуковий файл.\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "Карта каналі не відповідає чаÑтотній Ñпецифікації\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ %s з чаÑтотною Ñпецифікацією «%s».\n"  #: ../src/utils/pacat.c:1006 @@ -1675,35 +1531,34 @@ msgstr "запиÑ"  msgid "playback"  msgstr "відтвореннÑ" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ io_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ time_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_run() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"  #: ../src/utils/pasuspender.c:81 @@ -1732,6 +1587,11 @@ msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr ""  "ПОПЕРЕДЖЕÐÐЯ: звуковий Ñервер не Ñ” локальним, його не можна призупинити.\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "Спроба вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдачі: %s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1773,6 +1633,21 @@ msgstr ""  "Зібрано з libpulse %s\n"  "З’єднано з libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_mainloop_run() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2187,6 +2062,11 @@ msgstr ""  "Зібрано з libpulse %s\n"  "З’єднано з libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "Ðекоректна карта каналів «%s»\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "Будь лаÑка, вкажіть зразковий файл Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ\n" @@ -2195,6 +2075,11 @@ msgstr "Будь лаÑка, вкажіть зразковий файл Ð´Ð»Ñ Ð  msgid "Failed to open sound file.\n"  msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ звуковий файл.\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані щодо фрагмента: %s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2258,11 +2143,6 @@ msgstr "Вам Ñлід вказати назву/Ñ–Ð½Ð´ÐµÐºÑ ÐºÐ°Ñ€Ñ‚Ð¸ Ñ– нР msgid "No valid command specified.\n"  msgstr "Ðе вказано коректної команди.\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2382,11 +2262,11 @@ msgstr "read(): %s"  msgid "write(): %s"  msgstr "write(): %s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "Ðе вдалоÑÑ Ð·Ð½Ñти Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ розгалуженнÑ." -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2397,7 +2277,7 @@ msgid ""  "returned 0 or another value < min_avail."  msgstr "" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2409,15 +2289,15 @@ msgid ""  msgstr ""  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "" @@ -2426,6 +2306,133 @@ msgstr ""  msgid "PulseAudio Sound Server"  msgstr "Звукова ÑиÑтема PulseAudio" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "Ðе вдалоÑÑ Ð·â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð· шиною ÑиÑтеми: %s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ джерело виклику від PID: %s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° джерела виклику." + +#~ msgid "Failed to get CK session." +#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ CK ÑеанÑу." + +#~ msgid "Cannot set UID on session object." +#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити UID Ð´Ð»Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð° ÑеанÑу." + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitAction." + +#~ msgid "Cannot set action_id" +#~ msgstr "Ðе вдалоÑÑ Ð²Ñтановити action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PolKitContext." + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ чи уповноважено джерело виклику: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ уповноваженнÑ: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit надіÑлала відповідь: «%s»" + +#, fuzzy +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "" +#~ "Спроба Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ фонової Ñлужби PulseAudio завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾." + +#, fuzzy +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "" +#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким " +#~ "пріоритетом." + +#~ msgid "read() failed: %s\n" +#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ read() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ pa_context_connect() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾: %s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "" +#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким " +#~ "пріоритетом." + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "" +#~ "Ми перебуваємо у групі «%s», що надає змогу Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального " +#~ "чаÑу." + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit надала нам права доÑтупу acquire-high-priority." + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-high-priority." + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit надала нам права доÑтупу acquire-real-time." + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKit відмовила у наданні прав доÑтупу acquire-real-time." + +#~ 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 "" +#~ "У налаштуваннÑÑ… було вказано виклик SUID root Ñ– Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ " +#~ "реального чаÑу Ñ–/або режиму виÑокого пріоритету. Ðле у Ð½Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” " +#~ "потрібних прав доÑтупу:\n" +#~ "Ваш кориÑтувач не Ñ” учаÑником групи «%s», PolicyKit відмовила у наданні " +#~ "нам потрібних прав доÑтупу, тому знÑÑ‚Ñ‚Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½ÑŒ реÑурÑу RLIMIT_NICE/" +#~ "RLIMIT_RTPRIO не можливе.\n" +#~ "Щоб увімкнути Ð¿Ð»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñƒ реального чаÑу Ñ–/або режиму виÑокого " +#~ "пріоритету, будь лаÑка, отримайте відповідні права доÑтупу у PolicyKit " +#~ "або Ñтаньте учаÑником групи «%s» або збільшіть діапазон реÑурÑу " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача." + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "" +#~ "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð· виÑоким пріоритетом увімкнено у налаштуваннÑÑ…, але не " +#~ "дозволене правилами безпеки." + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "УÑпішно підвищено RLIMIT_RTPRIO" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "Помилка під Ñ‡Ð°Ñ Ñпроби підвищити RLIMIT_RTPRIO: %s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "ПозбуваємоÑÑ CAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "" +#~ "ÐŸÐ»Ð°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ режимі реального чаÑу увімкнено у налаштуваннÑÑ…, але не " +#~ "дозволене правилами безпеки." + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "УÑпішно обмежено можливоÑті до CAP_SYS_NICE." + +#~ msgid "time_new() failed.\n" +#~ msgstr "Спроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ time_new() завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" +  #~ msgid "Analog Mono"  #~ msgstr "Ðналоговий моно" diff --git a/po/zh_CN.po b/po/zh_CN.po index 2da73fe8..90f7cca1 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -11,7 +11,7 @@ msgid ""  msgstr ""  "Project-Id-Version: pulseaudio.master-tx\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-17 23:42+0200\n" +"POT-Creation-Date: 2009-08-05 15:09+0200\n"  "PO-Revision-Date: 2009-04-06 10:26+1000\n"  "Last-Translator: Leah Liu <lliu@redhat.com>\n"  "Language-Team: Simplified Chinese <zh@li.org>\n" @@ -20,7 +20,12 @@ msgstr ""  "Content-Transfer-Encoding: 8bit\n"  "X-Generator: KBabel 1.11.4\n" -#: ../src/modules/alsa/alsa-util.c:1015 +#: ../src/modules/alsa/alsa-util.c:775 ../src/pulsecore/sink.c:2411 +#, c-format +msgid "%s %s" +msgstr "" + +#: ../src/modules/alsa/alsa-util.c:1023  #, c-format  msgid ""  "snd_pcm_avail() returned a value that is exceptionally large: %lu bytes (%lu " @@ -31,7 +36,7 @@ msgstr ""  "snd_pcm_avail() 返回的值éžå¸¸å¤§ï¼š%lu å—节(%lu ms)。\n"  "很å¯èƒ½æ˜¯ ALSA é©±åŠ¨ç¨‹åº '%s' ä¸çš„ bugã€‚è¯·å‘ ALSA å¼€å‘者举报这个问题。" -#: ../src/modules/alsa/alsa-util.c:1056 +#: ../src/modules/alsa/alsa-util.c:1064  #, c-format  msgid ""  "snd_pcm_delay() returned a value that is exceptionally large: %li bytes (%s%" @@ -42,7 +47,7 @@ msgstr ""  "snd_pcm_delay() 返回的值éžå¸¸å¤§ï¼š%li å—节(%s%lu ms)。\n"  "很å¯èƒ½æ˜¯ ALSA é©±åŠ¨ç¨‹åº '%s' ä¸çš„ bugã€‚è¯·å‘ ALSA å¼€å‘者举报这个问题。" -#: ../src/modules/alsa/alsa-util.c:1103 +#: ../src/modules/alsa/alsa-util.c:1111  #, c-format  msgid ""  "snd_pcm_mmap_begin() returned a value that is exceptionally large: %lu bytes " @@ -66,7 +71,7 @@ msgid ""  "input control values>"  msgstr "" -#: ../src/pulsecore/sink.c:2394 +#: ../src/pulsecore/sink.c:2395  msgid "Internal Audio"  msgstr "内部音频" @@ -86,362 +91,241 @@ msgstr "åˆ†é…æ–°çš„ dl 加载器失败。"  msgid "Failed to add bind-now-loader."  msgstr "添加 bind-now-loader 失败。" -#: ../src/daemon/polkit.c:55 -#, c-format -msgid "Cannot connect to system bus: %s" -msgstr "无法连接到系统总线:%s" - -#: ../src/daemon/polkit.c:65 -#, c-format -msgid "Cannot get caller from PID: %s" -msgstr "无法从PID获å–调用者:%s" - -#: ../src/daemon/polkit.c:77 -msgid "Cannot set UID on caller object." -msgstr "无法为调用者设定UID。" - -#: ../src/daemon/polkit.c:82 -msgid "Failed to get CK session." -msgstr "获å–CK会è¯å¤±è´¥ã€‚" - -#: ../src/daemon/polkit.c:90 -msgid "Cannot set UID on session object." -msgstr "无法为会è¯å¯¹è±¡è®¾å®šUID。" - -#: ../src/daemon/polkit.c:95 -msgid "Cannot allocate PolKitAction." -msgstr "ä¸èƒ½åˆ†é…PolKitAction。" - -#: ../src/daemon/polkit.c:100 -msgid "Cannot set action_id" -msgstr "无法设定action_id" - -#: ../src/daemon/polkit.c:105 -msgid "Cannot allocate PolKitContext." -msgstr "无法分é…PolKitContext。" - -#: ../src/daemon/polkit.c:110 -#, c-format -msgid "Cannot initialize PolKitContext: %s" -msgstr "无法åˆä½¿åŒ–PolKitContext: %s" - -#: ../src/daemon/polkit.c:119 -#, c-format -msgid "Could not determine whether caller is authorized: %s" -msgstr "无法判æ–调用者是å¦å·²èŽ·å¾—æŽˆæƒ: %s" - -#: ../src/daemon/polkit.c:139 -#, c-format -msgid "Cannot obtain auth: %s" -msgstr "æ— æ³•èŽ·å–æŽˆæƒ: %s" - -#: ../src/daemon/polkit.c:148 -#, c-format -msgid "PolicyKit responded with '%s'" -msgstr "PolicyKit回å¤'%s'" - -#: ../src/daemon/main.c:142 +#: ../src/daemon/main.c:145  #, c-format  msgid "Got signal %s."  msgstr "获得信å·%s" -#: ../src/daemon/main.c:169 +#: ../src/daemon/main.c:172  msgid "Exiting."  msgstr "退出" -#: ../src/daemon/main.c:187 +#: ../src/daemon/main.c:190  #, c-format  msgid "Failed to find user '%s'."  msgstr "找ä¸åˆ°ç”¨æˆ· `%s' " -#: ../src/daemon/main.c:192 +#: ../src/daemon/main.c:195  #, c-format  msgid "Failed to find group '%s'."  msgstr "找ä¸åˆ°ç”¨æˆ·ç»„ `%s'" -#: ../src/daemon/main.c:196 +#: ../src/daemon/main.c:199  #, c-format  msgid "Found user '%s' (UID %lu) and group '%s' (GID %lu)."  msgstr "å‘现用户'%s' (UID %lu)和组'%s' (GID %lu)." -#: ../src/daemon/main.c:201 +#: ../src/daemon/main.c:204  #, c-format  msgid "GID of user '%s' and of group '%s' don't match."  msgstr "用户'%s'与组'%s'çš„GIDä¸åŒ¹é…." -#: ../src/daemon/main.c:206 +#: ../src/daemon/main.c:209  #, c-format  msgid "Home directory of user '%s' is not '%s', ignoring."  msgstr "用户'%s'çš„ä¸»æ–‡ä»¶å¤¹ä¸æ˜¯'%s',忽略。" -#: ../src/daemon/main.c:209 ../src/daemon/main.c:214 +#: ../src/daemon/main.c:212 ../src/daemon/main.c:217  #, c-format  msgid "Failed to create '%s': %s"  msgstr "创建'%s'失败: %s" -#: ../src/daemon/main.c:221 +#: ../src/daemon/main.c:224  #, c-format  msgid "Failed to change group list: %s"  msgstr "更改组列表失败:%s" -#: ../src/daemon/main.c:237 +#: ../src/daemon/main.c:240  #, c-format  msgid "Failed to change GID: %s"  msgstr "更改GID失败:%s" -#: ../src/daemon/main.c:253 +#: ../src/daemon/main.c:256  #, c-format  msgid "Failed to change UID: %s"  msgstr "更改UID失败:%s" -#: ../src/daemon/main.c:267 +#: ../src/daemon/main.c:270  msgid "Successfully dropped root privileges."  msgstr "æˆåŠŸæ”¾å¼ƒrootæƒé™ã€‚" -#: ../src/daemon/main.c:275 +#: ../src/daemon/main.c:278  msgid "System wide mode unsupported on this platform."  msgstr "æ¤å¹³å°ä¸æ”¯æŒsystem-wide模å¼ã€‚" -#: ../src/daemon/main.c:293 +#: ../src/daemon/main.c:296  #, c-format  msgid "setrlimit(%s, (%u, %u)) failed: %s"  msgstr "setrlimit(%s, (%u, %u)) 失败:%s" -#: ../src/daemon/main.c:481 +#: ../src/daemon/main.c:471  msgid "Failed to parse command line."  msgstr "分æžå‘½ä»¤è¡Œå¤±è´¥ã€‚" -#: ../src/daemon/main.c:505 -#, c-format -msgid "We're in the group '%s', allowing high-priority scheduling." -msgstr "我们在'%s'组ä¸ï¼Œå…许高优先级调度。" - -#: ../src/daemon/main.c:512 -#, c-format -msgid "We're in the group '%s', allowing real-time scheduling." -msgstr "我们在'%s'组ä¸ï¼Œå…许实时调度。" - -#: ../src/daemon/main.c:520 -msgid "PolicyKit grants us acquire-high-priority privilege." -msgstr "PolicyKit授予我们“获å–é«˜ä¼˜å…ˆçº§â€æƒé™ã€‚" - -#: ../src/daemon/main.c:523 -msgid "PolicyKit refuses acquire-high-priority privilege." -msgstr "PolicyKitæ‹’ç»â€œèŽ·å–é«˜ä¼˜å…ˆçº§â€æƒé™ã€‚" - -#: ../src/daemon/main.c:528 -msgid "PolicyKit grants us acquire-real-time privilege." -msgstr "PolicyKit授予我们“获å–å®žæ—¶â€æƒé™ã€‚" - -#: ../src/daemon/main.c:531 -msgid "PolicyKit refuses acquire-real-time privilege." -msgstr "PolicyKitæ‹’ç»æˆ‘们“获å–å®žæ—¶â€æƒé™ã€‚" - -#: ../src/daemon/main.c:560 -#, 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 "" -"é…ç½®ä¸éœ€è¦è°ƒç”¨ SUID rootã€å®žæ—¶å’Œ/或者高优先调度。但是我们缺少必è¦çš„特æƒï¼š\n" -"我们ä¸å±žäºŽç»„群 '%s',PolicyKit æ‹’ç»èµ‹äºˆæˆ‘ä»¬è¦æ±‚的特æƒï¼Œè€Œæˆ‘们无法增加 " -"RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚\n" -"è¦å¯ç”¨å®žæ—¶/高优先调度,请获得适当的 PolicyKit 特æƒï¼Œæˆ–者æˆä¸º '%s' æˆå‘˜ï¼Œä¹Ÿå¯" -"以为这个用户增加 RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚" - -#: ../src/daemon/main.c:585 -msgid "" -"High-priority scheduling enabled in configuration but not allowed by policy." -msgstr "é…ç½®ä¸å·²å¯ç”¨é«˜ä¼˜å…ˆçº§è°ƒåº¦ï¼Œä½†ç–略未å…许。" - -#: ../src/daemon/main.c:614 -msgid "Successfully increased RLIMIT_RTPRIO" -msgstr "æé«˜RLIMIT_RTPRIOæˆåŠŸã€‚" - -#: ../src/daemon/main.c:617 -#, c-format -msgid "RLIMIT_RTPRIO failed: %s" -msgstr "RLIMIT_RTPRIO失败:%s" - -#: ../src/daemon/main.c:624 -msgid "Giving up CAP_NICE" -msgstr "æ£åœ¨æ”¾å¼ƒCAP_NICE" - -#: ../src/daemon/main.c:631 -msgid "" -"Real-time scheduling enabled in configuration but not allowed by policy." -msgstr "é…ç½®ä¸å·²å¯ç”¨å®žæ—¶è°ƒåº¦ï¼Œä½†ç–略未å…许。" - -#: ../src/daemon/main.c:692 +#: ../src/daemon/main.c:538  msgid "Daemon not running"  msgstr "åŽå°ç¨‹åºæ²¡æœ‰è¿è¡Œ" -#: ../src/daemon/main.c:694 +#: ../src/daemon/main.c:540  #, c-format  msgid "Daemon running as PID %u"  msgstr "åŽå°ç¨‹åºæ£åœ¨è¿è¡Œï¼ŒPID %u" -#: ../src/daemon/main.c:704 +#: ../src/daemon/main.c:550  #, c-format  msgid "Failed to kill daemon: %s"  msgstr "æ€æ»åŽå°ç¨‹åºå¤±è´¥ï¼š%s" -#: ../src/daemon/main.c:722 +#: ../src/daemon/main.c:568  msgid ""  "This program is not intended to be run as root (unless --system is "  "specified)."  msgstr "ä¸åº”以root身份è¿è¡Œæœ¬ç¨‹åºï¼ˆé™¤éžæŒ‡å®š --system)。" -#: ../src/daemon/main.c:724 +#: ../src/daemon/main.c:570  msgid "Root privileges required."  msgstr "éœ€è¦ root æƒé™ã€‚" -#: ../src/daemon/main.c:729 +#: ../src/daemon/main.c:575  msgid "--start not supported for system instances."  msgstr "ç³»ç»Ÿå®žä¾‹ä¸æ”¯æŒ --start。" -#: ../src/daemon/main.c:734 +#: ../src/daemon/main.c:580  msgid "Running in system mode, but --disallow-exit not set!"  msgstr "æ£åœ¨ä»¥ç³»ç»Ÿæ¨¡å¼è¿è¡Œï¼Œä½†æ˜¯ --disallow-exit 未设定ï¼" -#: ../src/daemon/main.c:737 +#: ../src/daemon/main.c:583  msgid "Running in system mode, but --disallow-module-loading not set!"  msgstr "æ£åœ¨ä»¥ç³»ç»Ÿæ¨¡å¼è¿è¡Œï¼Œä½†æ˜¯ --disallow-module-loading 未设定ï¼" -#: ../src/daemon/main.c:740 +#: ../src/daemon/main.c:586  msgid "Running in system mode, forcibly disabling SHM mode!"  msgstr "æ£åœ¨ä»¥ç³»ç»Ÿæ¨¡å¼è¿è¡Œï¼Œå¼ºåˆ¶ç¦ç”¨SHM模å¼ï¼" -#: ../src/daemon/main.c:745 +#: ../src/daemon/main.c:591  msgid "Running in system mode, forcibly disabling exit idle time!"  msgstr "æ£åœ¨ä»¥ç³»ç»Ÿæ¨¡å¼è¿è¡Œï¼Œå¼ºåˆ¶ç¦ç”¨é€€å‡ºç©ºé—²æ—¶é—´ï¼" -#: ../src/daemon/main.c:772 +#: ../src/daemon/main.c:618  msgid "Failed to acquire stdio."  msgstr "获å–stdio失败。" -#: ../src/daemon/main.c:778 +#: ../src/daemon/main.c:624  #, c-format  msgid "pipe failed: %s"  msgstr "管é“失败:%s" -#: ../src/daemon/main.c:783 +#: ../src/daemon/main.c:629  #, c-format  msgid "fork() failed: %s"  msgstr "fork()失败:%s" -#: ../src/daemon/main.c:797 +#: ../src/daemon/main.c:643 ../src/utils/pacat.c:505  #, c-format  msgid "read() failed: %s"  msgstr "read()失败:%s" -#: ../src/daemon/main.c:803 +#: ../src/daemon/main.c:649  msgid "Daemon startup failed."  msgstr "åŽå°ç¨‹åºå¯åŠ¨å¤±è´¥ã€‚" -#: ../src/daemon/main.c:805 +#: ../src/daemon/main.c:651  msgid "Daemon startup successful."  msgstr "åŽå°ç¨‹åºå¯åЍæˆåŠŸã€‚" -#: ../src/daemon/main.c:875 +#: ../src/daemon/main.c:728  #, c-format  msgid "This is PulseAudio %s"  msgstr "这是 PulseAudio %s" -#: ../src/daemon/main.c:876 +#: ../src/daemon/main.c:729  #, c-format  msgid "Compilation host: %s"  msgstr "编译主机:%s" -#: ../src/daemon/main.c:877 +#: ../src/daemon/main.c:730  #, c-format  msgid "Compilation CFLAGS: %s"  msgstr "编译CFLAGS:%s" -#: ../src/daemon/main.c:880 +#: ../src/daemon/main.c:733  #, c-format  msgid "Running on host: %s"  msgstr "æ£åœ¨ä¸»æœºä¸Šè¿è¡Œï¼š%s" -#: ../src/daemon/main.c:883 +#: ../src/daemon/main.c:736  #, c-format  msgid "Found %u CPUs."  msgstr "找到 %u CPU。" -#: ../src/daemon/main.c:885 +#: ../src/daemon/main.c:738  #, c-format  msgid "Page size is %lu bytes"  msgstr "页é¢å¤§å°ä¸º%luå—节" -#: ../src/daemon/main.c:888 +#: ../src/daemon/main.c:741  msgid "Compiled with Valgrind support: yes"  msgstr "编译å¯ç”¨Valgrind支æŒï¼šæ˜¯" -#: ../src/daemon/main.c:890 +#: ../src/daemon/main.c:743  msgid "Compiled with Valgrind support: no"  msgstr "编译å¯ç”¨Valgrind支æŒï¼šå¦" -#: ../src/daemon/main.c:893 +#: ../src/daemon/main.c:746  #, c-format  msgid "Running in valgrind mode: %s"  msgstr "æ£åœ¨ä»¥valgrind模å¼è¿è¡Œï¼š%s" -#: ../src/daemon/main.c:896 +#: ../src/daemon/main.c:749  msgid "Optimized build: yes"  msgstr "优化生æˆï¼šæ˜¯" -#: ../src/daemon/main.c:898 +#: ../src/daemon/main.c:751  msgid "Optimized build: no"  msgstr "优化生æˆï¼šå¦" -#: ../src/daemon/main.c:902 +#: ../src/daemon/main.c:755  msgid "NDEBUG defined, all asserts disabled."  msgstr "æ‹’ç» NDEBUG,ç¦ç”¨æ‰€æœ‰ assert" -#: ../src/daemon/main.c:904 +#: ../src/daemon/main.c:757  msgid "FASTPATH defined, only fast path asserts disabled."  msgstr "æ‹’ç» FASTPATH,åªç¦ç”¨å¿«é€Ÿè·¯å¾„ assert。" -#: ../src/daemon/main.c:906 +#: ../src/daemon/main.c:759  msgid "All asserts enabled."  msgstr "å¯ç”¨æ‰€æœ‰ assert。" -#: ../src/daemon/main.c:910 +#: ../src/daemon/main.c:763  msgid "Failed to get machine ID"  msgstr "获å–machine ID失败" -#: ../src/daemon/main.c:913 +#: ../src/daemon/main.c:766  #, c-format  msgid "Machine ID is %s."  msgstr "machine ID是%s。" -#: ../src/daemon/main.c:917 +#: ../src/daemon/main.c:770  #, fuzzy, c-format  msgid "Session ID is %s."  msgstr "machine ID是%s。" -#: ../src/daemon/main.c:923 +#: ../src/daemon/main.c:776  #, c-format  msgid "Using runtime directory %s."  msgstr "æ£åœ¨ä½¿ç”¨è¿è¡Œæ—¶æ–‡ä»¶å¤¹%s。" -#: ../src/daemon/main.c:928 +#: ../src/daemon/main.c:781  #, c-format  msgid "Using state directory %s."  msgstr "æ£åœ¨ä½¿ç”¨çŠ¶æ€æ–‡ä»¶å¤¹%s。" -#: ../src/daemon/main.c:931 +#: ../src/daemon/main.c:784  #, c-format  msgid "Running in system mode: %s"  msgstr "æ£åœ¨ä»¥ç³»ç»Ÿæ¨¡å¼è¿è¡Œï¼š%s" -#: ../src/daemon/main.c:934 +#: ../src/daemon/main.c:787  msgid ""  "OK, so you are running PA in system mode. Please note that you most likely "  "shouldn't be doing that.\n" @@ -451,41 +335,41 @@ msgid ""  "explanation why system mode is usually a bad idea."  msgstr "" -#: ../src/daemon/main.c:951 +#: ../src/daemon/main.c:804  msgid "pa_pid_file_create() failed."  msgstr "pa_pid_file_create()失败。" -#: ../src/daemon/main.c:961 +#: ../src/daemon/main.c:814  msgid "Fresh high-resolution timers available! Bon appetit!"  msgstr "新鲜的高分辨率计时器开锅了ï¼åƒä¸ªé¥±ï¼" -#: ../src/daemon/main.c:963 +#: ../src/daemon/main.c:816  msgid ""  "Dude, your kernel stinks! The chef's recommendation today is Linux with high-"  "resolution timers enabled!"  msgstr "è€å…„,你的内核真è‡ï¼çŽ°åœ¨æµè¡Œçš„æ˜¯å¯ç”¨äº†é«˜åˆ†è¾©çŽ‡è®¡åˆ†å™¨çš„Linuxï¼" -#: ../src/daemon/main.c:988 +#: ../src/daemon/main.c:834  msgid "pa_core_new() failed."  msgstr "pa_core_new()失败。" -#: ../src/daemon/main.c:1050 +#: ../src/daemon/main.c:896  msgid "Failed to initialize daemon."  msgstr "åŽå°ç¨‹åºåˆå§‹åŒ–失败。" -#: ../src/daemon/main.c:1055 +#: ../src/daemon/main.c:901  msgid "Daemon startup without any loaded modules, refusing to work."  msgstr "åŽå°ç¨‹åºå¯åŠ¨æœªåŠ è½½ä»»ä½•æ¨¡å—,拒ç»å·¥ä½œã€‚" -#: ../src/daemon/main.c:1072 +#: ../src/daemon/main.c:918  msgid "Daemon startup complete."  msgstr "åŽå°ç¨‹åºå¯åŠ¨å®Œæˆã€‚" -#: ../src/daemon/main.c:1078 +#: ../src/daemon/main.c:924  msgid "Daemon shutdown initiated."  msgstr "开始关é—åŽå°ç¨‹åºã€‚" -#: ../src/daemon/main.c:1100 +#: ../src/daemon/main.c:946  msgid "Daemon terminated."  msgstr "åŽå°ç¨‹åºå·²ç»ˆæ¢ã€‚" @@ -802,14 +686,10 @@ msgstr "指定的默认频é“åœ°å›¾çš„é¢‘é“æ•°ä¸ŽæŒ‡å®šçš„é»˜è®¤é¢‘é“æ•°ä¸åŒ  msgid "### Read from configuration file: %s ###\n"  msgstr "### 从é…置文件读å–:%s ###\n" -#: ../src/daemon/caps.c:63 +#: ../src/daemon/caps.c:65  msgid "Dropping root privileges."  msgstr "æ£åœ¨å–消 root 特æƒã€‚" -#: ../src/daemon/caps.c:103 -msgid "Limited capabilities successfully to CAP_SYS_NICE." -msgstr "性能æˆåŠŸé™åˆ¶åˆ°CAP_SYS_NICE。" -  #: ../src/daemon/pulseaudio.desktop.in.h:1  msgid "PulseAudio Sound System"  msgstr "PulseAudio 声音系统" @@ -818,24 +698,6 @@ msgstr "PulseAudio 声音系统"  msgid "Start the PulseAudio Sound System"  msgstr "å¯åЍ PulseAudio 声音系统" -#: ../src/daemon/org.pulseaudio.policy.in.h:1 -msgid "" -"High-priority scheduling (negative Unix nice level) for the PulseAudio daemon" -msgstr "PulseAudio 守护进程的高优先调度(负的 Unix nic ç‰çº§ï¼‰" - -#: ../src/daemon/org.pulseaudio.policy.in.h:2 -msgid "Real-time scheduling for the PulseAudio daemon" -msgstr "PulseAudio 守护进程的实时调度。" - -#: ../src/daemon/org.pulseaudio.policy.in.h:3 -msgid "" -"System policy prevents PulseAudio from acquiring high-priority scheduling." -msgstr "系统ç–ç•¥é˜²æ¢ PulseAudio 获得高优先调度。" - -#: ../src/daemon/org.pulseaudio.policy.in.h:4 -msgid "System policy prevents PulseAudio from acquiring real-time scheduling." -msgstr "系统ç–ç•¥é˜²æ¢ PulseAudio 获得实时调度。" -  #: ../src/pulse/channelmap.c:105 ../src/pulse/channelmap.c:747  msgid "Mono"  msgstr "å•声é“" @@ -1208,183 +1070,187 @@ msgstr "cookieæ•°æ®åˆ†æžå¤±è´¥"  msgid "Failed to open configuration file '%s': %s"  msgstr "打开é…置文件'%s'失败:%s" -#: ../src/pulse/context.c:546 +#: ../src/pulse/context.c:550  msgid "No cookie loaded. Attempting to connect without."  msgstr "没有加载cookie。å°è¯•ä¸åŠ è½½cookie进行连接。" -#: ../src/pulse/context.c:676 +#: ../src/pulse/context.c:693  #, c-format  msgid "fork(): %s"  msgstr "fork():%s" -#: ../src/pulse/context.c:729 +#: ../src/pulse/context.c:745  #, c-format  msgid "waitpid(): %s"  msgstr "waitpid():%s" -#: ../src/pulse/context.c:1403 +#: ../src/pulse/context.c:1432  #, c-format  msgid "Received message for unknown extension '%s'"  msgstr "收到未知扩展'%s'的信æ¯" -#: ../src/utils/pacat.c:107 -#, c-format -msgid "Failed to drain stream: %s\n" +#: ../src/utils/pacat.c:108 +#, fuzzy, c-format +msgid "Failed to drain stream: %s"  msgstr "排出æµå¤±è´¥ï¼š%s\n" -#: ../src/utils/pacat.c:112 -msgid "Playback stream drained.\n" +#: ../src/utils/pacat.c:113 +#, fuzzy +msgid "Playback stream drained."  msgstr "æµæ’放完毕。\n" -#: ../src/utils/pacat.c:122 -msgid "Draining connection to server.\n" +#: ../src/utils/pacat.c:123 +#, fuzzy +msgid "Draining connection to server."  msgstr "Draining 连接到æœåŠ¡å™¨ã€‚\n" -#: ../src/utils/pacat.c:135 -#, c-format -msgid "pa_stream_drain(): %s\n" +#: ../src/utils/pacat.c:136 +#, fuzzy, c-format +msgid "pa_stream_drain(): %s"  msgstr "pa_stream_drain():%s\n" -#: ../src/utils/pacat.c:158 -#, c-format -msgid "pa_stream_write() failed: %s\n" +#: ../src/utils/pacat.c:159 +#, fuzzy, c-format +msgid "pa_stream_write() failed: %s"  msgstr "pa_stream_write()失败:%s\n" -#: ../src/utils/pacat.c:233 ../src/utils/pacat.c:262 -#, c-format -msgid "pa_stream_peek() failed: %s\n" +#: ../src/utils/pacat.c:197 +#, fuzzy, c-format +msgid "pa_stream_begin_write() failed: %s" +msgstr "pa_stream_write()失败:%s\n" + +#: ../src/utils/pacat.c:237 ../src/utils/pacat.c:267 +#, fuzzy, c-format +msgid "pa_stream_peek() failed: %s"  msgstr "pa_stream_peek()失败:%s\n" -#: ../src/utils/pacat.c:302 -msgid "Stream successfully created.\n" +#: ../src/utils/pacat.c:307 +#, fuzzy +msgid "Stream successfully created."  msgstr "æµåˆ›å»ºæˆåŠŸã€‚\n" -#: ../src/utils/pacat.c:305 -#, c-format -msgid "pa_stream_get_buffer_attr() failed: %s\n" +#: ../src/utils/pacat.c:310 +#, fuzzy, c-format +msgid "pa_stream_get_buffer_attr() failed: %s"  msgstr "pa_stream_get_buffer_attr()失败:%s\n" -#: ../src/utils/pacat.c:309 -#, c-format -msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n" +#: ../src/utils/pacat.c:314 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"  msgstr "缓冲计é‡ï¼šmaxlength=%u,tlength=%u,prebuf=%u,minreq=%u\n" -#: ../src/utils/pacat.c:312 -#, c-format -msgid "Buffer metrics: maxlength=%u, fragsize=%u\n" +#: ../src/utils/pacat.c:317 +#, fuzzy, c-format +msgid "Buffer metrics: maxlength=%u, fragsize=%u"  msgstr "缓冲计é‡ï¼šmaxlength=%u,fragsize=%u\n" -#: ../src/utils/pacat.c:316 -#, c-format -msgid "Using sample spec '%s', channel map '%s'.\n" +#: ../src/utils/pacat.c:321 +#, fuzzy, c-format +msgid "Using sample spec '%s', channel map '%s'."  msgstr "æ£åœ¨ä½¿ç”¨æ ·å“è§„æ ¼'%s'ï¼Œé€šé“æ˜ å°„'%s'。\n" -#: ../src/utils/pacat.c:320 -#, c-format -msgid "Connected to device %s (%u, %ssuspended).\n" +#: ../src/utils/pacat.c:325 +#, fuzzy, c-format +msgid "Connected to device %s (%u, %ssuspended)."  msgstr "已连接至设备%s (%u,%s挂起)。\n" -#: ../src/utils/pacat.c:330 -#, c-format -msgid "Stream error: %s\n" +#: ../src/utils/pacat.c:335 +#, fuzzy, c-format +msgid "Stream error: %s"  msgstr "æµé”™è¯¯ï¼š%s\n" -#: ../src/utils/pacat.c:340 -#, c-format -msgid "Stream device suspended.%s \n" +#: ../src/utils/pacat.c:345 +#, fuzzy, c-format +msgid "Stream device suspended.%s"  msgstr "æµè®¾å¤‡æŒ‚起。%s\n" -#: ../src/utils/pacat.c:342 -#, c-format -msgid "Stream device resumed.%s \n" +#: ../src/utils/pacat.c:347 +#, fuzzy, c-format +msgid "Stream device resumed.%s"  msgstr "æµè®¾å¤‡æ¢å¤ã€‚%s\n" -#: ../src/utils/pacat.c:350 -#, c-format -msgid "Stream underrun.%s \n" +#: ../src/utils/pacat.c:355 +#, fuzzy, c-format +msgid "Stream underrun.%s"  msgstr "æµæ¬ è½½è¿è¡Œã€‚%s\n" -#: ../src/utils/pacat.c:357 -#, c-format -msgid "Stream overrun.%s \n" +#: ../src/utils/pacat.c:362 +#, fuzzy, c-format +msgid "Stream overrun.%s"  msgstr "æµè¶…é™è¿è¡Œã€‚%s\n" -#: ../src/utils/pacat.c:364 -#, c-format -msgid "Stream started.%s \n" +#: ../src/utils/pacat.c:369 +#, fuzzy, c-format +msgid "Stream started.%s"  msgstr "æµå·²å¯åŠ¨ã€‚%s\n" -#: ../src/utils/pacat.c:371 -#, c-format -msgid "Stream moved to device %s (%u, %ssuspended).%s \n" +#: ../src/utils/pacat.c:376 +#, fuzzy, c-format +msgid "Stream moved to device %s (%u, %ssuspended).%s"  msgstr "æµç§»è‡³è®¾å¤‡%s (%u,%s挂起)。%s\n" -#: ../src/utils/pacat.c:371 +#: ../src/utils/pacat.c:376  msgid "not "  msgstr "not " -#: ../src/utils/pacat.c:378 -#, c-format -msgid "Stream buffer attributes changed.%s \n" +#: ../src/utils/pacat.c:383 +#, fuzzy, c-format +msgid "Stream buffer attributes changed.%s"  msgstr "æ›´æ”¹æµæ¢å‡ºå±žæ€§ã€‚%s\n" -#: ../src/utils/pacat.c:411 -#, c-format -msgid "Connection established.%s \n" +#: ../src/utils/pacat.c:416 +#, fuzzy, c-format +msgid "Connection established.%s"  msgstr "连接已建立。%s \n" -#: ../src/utils/pacat.c:414 -#, c-format -msgid "pa_stream_new() failed: %s\n" +#: ../src/utils/pacat.c:419 +#, fuzzy, c-format +msgid "pa_stream_new() failed: %s"  msgstr "pa_stream_new()失败:%s\n" -#: ../src/utils/pacat.c:442 -#, c-format -msgid "pa_stream_connect_playback() failed: %s\n" +#: ../src/utils/pacat.c:447 +#, fuzzy, c-format +msgid "pa_stream_connect_playback() failed: %s"  msgstr "pa_stream_connect_playback()失败:%s\n" -#: ../src/utils/pacat.c:448 -#, c-format -msgid "pa_stream_connect_record() failed: %s\n" +#: ../src/utils/pacat.c:453 +#, fuzzy, c-format +msgid "pa_stream_connect_record() failed: %s"  msgstr "pa_stream_connect_playback()失败:%s\n" -#: ../src/utils/pacat.c:462 ../src/utils/pasuspender.c:159 -#: ../src/utils/pactl.c:814 -#, c-format -msgid "Connection failure: %s\n" +#: ../src/utils/pacat.c:467 +#, fuzzy, c-format +msgid "Connection failure: %s"  msgstr "连接失败:%s\n" -#: ../src/utils/pacat.c:495 -msgid "Got EOF.\n" -msgstr "收到EOF。\n" -  #: ../src/utils/pacat.c:500 -#, c-format -msgid "read() failed: %s\n" -msgstr "read()失败:%s\n" +#, fuzzy +msgid "Got EOF." +msgstr "收到EOF。\n" -#: ../src/utils/pacat.c:532 -#, c-format -msgid "write() failed: %s\n" +#: ../src/utils/pacat.c:537 +#, fuzzy, c-format +msgid "write() failed: %s"  msgstr "write()失败:%s\n" -#: ../src/utils/pacat.c:553 -msgid "Got signal, exiting.\n" +#: ../src/utils/pacat.c:558 +#, fuzzy +msgid "Got signal, exiting."  msgstr "收到信å·ï¼Œæ£åœ¨é€€å‡ºã€‚\n" -#: ../src/utils/pacat.c:567 -#, c-format -msgid "Failed to get latency: %s\n" +#: ../src/utils/pacat.c:572 +#, fuzzy, c-format +msgid "Failed to get latency: %s"  msgstr "获å–传输延迟失败:%s\n" -#: ../src/utils/pacat.c:572 +#: ../src/utils/pacat.c:577  #, c-format  msgid "Time: %0.3f sec; Latency: %0.0f usec.  \r"  msgstr "时间:%0.3f秒;延迟:%0.0f 微秒。  \r" -#: ../src/utils/pacat.c:592 -#, c-format -msgid "pa_stream_update_timing_info() failed: %s\n" +#: ../src/utils/pacat.c:595 +#, fuzzy, c-format +msgid "pa_stream_update_timing_info() failed: %s"  msgstr "pa_stream_update_timing_info()失败:%s\n"  #: ../src/utils/pacat.c:605 @@ -1490,34 +1356,34 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" -#: ../src/utils/pacat.c:760 ../src/utils/pactl.c:900 +#: ../src/utils/pacat.c:760  #, fuzzy, c-format -msgid "Invalid client name '%s'\n" +msgid "Invalid client name '%s'"  msgstr "æ— æ•ˆçš„é€šé“æ˜ å°„æè¿°'%s'\n"  #: ../src/utils/pacat.c:776  #, fuzzy, c-format -msgid "Invalid stream name '%s'\n" +msgid "Invalid stream name '%s'"  msgstr "无效的é‡é‡‡æ ·æ–¹æ³•'%s'。"  #: ../src/utils/pacat.c:813 -#, c-format -msgid "Invalid channel map '%s'\n" +#, fuzzy, c-format +msgid "Invalid channel map '%s'"  msgstr "æ— æ•ˆçš„é€šé“æ˜ å°„æè¿°'%s'\n"  #: ../src/utils/pacat.c:842 -#, c-format -msgid "Invalid latency specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid latency specification '%s'"  msgstr "无效的延迟规格æè¿° %s'\n"  #: ../src/utils/pacat.c:849 -#, c-format -msgid "Invalid process time specification '%s'\n" +#, fuzzy, c-format +msgid "Invalid process time specification '%s'"  msgstr "æ— æ•ˆçš„å¤„ç†æ—¶é—´æè¿° '%s'\n"  #: ../src/utils/pacat.c:861  #, fuzzy, c-format -msgid "Invalid property '%s'\n" +msgid "Invalid property '%s'"  msgstr "无效的é‡é‡‡æ ·æ–¹æ³•'%s'。"  #: ../src/utils/pacat.c:878 @@ -1526,60 +1392,66 @@ msgid "Unknown file format %s."  msgstr ""  #: ../src/utils/pacat.c:897 -msgid "Invalid sample specification\n" +#, fuzzy +msgid "Invalid sample specification"  msgstr "无效的采样æè¿°\n"  #: ../src/utils/pacat.c:907 -#, c-format -msgid "open(): %s\n" +#, fuzzy, c-format +msgid "open(): %s"  msgstr "open():%s\n"  #: ../src/utils/pacat.c:912 -#, c-format -msgid "dup2(): %s\n" +#, fuzzy, c-format +msgid "dup2(): %s"  msgstr "dup2():%s\n"  #: ../src/utils/pacat.c:919 -msgid "Too many arguments.\n" +#, fuzzy +msgid "Too many arguments."  msgstr "傿•°è¿‡å¤šã€‚\n"  #: ../src/utils/pacat.c:930  #, fuzzy -msgid "Failed to generate sample specification for file.\n" +msgid "Failed to generate sample specification for file."  msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n"  #: ../src/utils/pacat.c:950  #, fuzzy -msgid "Failed to open audio file.\n" +msgid "Failed to open audio file."  msgstr "打开声音文件失败。\n"  #: ../src/utils/pacat.c:956 +#, fuzzy  msgid ""  "Warning: specified sample specification will be overwritten with " -"specification from file.\n" -msgstr "" +"specification from file." +msgstr "以采样规格'%s'打开%sæµã€‚\n" -#: ../src/utils/pacat.c:959 ../src/utils/pactl.c:944 +#: ../src/utils/pacat.c:959  #, fuzzy -msgid "Failed to determine sample specification from file.\n" +msgid "Failed to determine sample specification from file."  msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n"  #: ../src/utils/pacat.c:968 -msgid "Warning: Failed to determine channel map from file.\n" -msgstr "" +#, fuzzy +msgid "Warning: Failed to determine channel map from file." +msgstr "以采样规格'%s'打开%sæµã€‚\n"  #: ../src/utils/pacat.c:979 -msgid "Channel map doesn't match sample specification\n" +#, fuzzy +msgid "Channel map doesn't match sample specification"  msgstr "é€šé“æ˜ å°„与采样æè¿°ä¸åŒ¹é…\n"  #: ../src/utils/pacat.c:990 -msgid "Warning: failed to write channel map to file.\n" -msgstr "" +#, fuzzy +msgid "Warning: failed to write channel map to file." +msgstr "以采样规格'%s'打开%sæµã€‚\n"  #: ../src/utils/pacat.c:1005  #, fuzzy, c-format  msgid "" -"Opening a %s stream with sample specification '%s' and channel map '%s'.\n" +"Opening a %s stream with sample specification '%s' and channel map '%s'."  msgstr "以采样规格'%s'打开%sæµã€‚\n"  #: ../src/utils/pacat.c:1006 @@ -1590,35 +1462,34 @@ msgstr "æ£åœ¨å½•制"  msgid "playback"  msgstr "回放" -#: ../src/utils/pacat.c:1032 ../src/utils/pasuspender.c:277 -#: ../src/utils/pactl.c:1104 -#, c-format -msgid "pa_mainloop_new() failed.\n" +#: ../src/utils/pacat.c:1032 +#, fuzzy +msgid "pa_mainloop_new() failed."  msgstr "pa_mainloop_new()失败。\n"  #: ../src/utils/pacat.c:1051 -msgid "io_new() failed.\n" +#, fuzzy +msgid "io_new() failed."  msgstr "io_new()失败。\n" -#: ../src/utils/pacat.c:1058 ../src/utils/pasuspender.c:290 -#: ../src/utils/pactl.c:1116 -#, c-format -msgid "pa_context_new() failed.\n" +#: ../src/utils/pacat.c:1058 +#, fuzzy +msgid "pa_context_new() failed."  msgstr "pa_context_new()失败。\n" -#: ../src/utils/pacat.c:1066 -#, fuzzy, c-format -msgid "pa_context_connect() failed: %s\n" +#: ../src/utils/pacat.c:1066 ../src/utils/pactl.c:1122 +#, c-format +msgid "pa_context_connect() failed: %s"  msgstr "pa_context_connect()失败:%s" -#: ../src/utils/pacat.c:1077 -msgid "time_new() failed.\n" -msgstr "time_new()失败。\n" +#: ../src/utils/pacat.c:1072 +#, fuzzy +msgid "pa_context_rttime_new() failed." +msgstr "pa_context_new()失败。\n" -#: ../src/utils/pacat.c:1084 ../src/utils/pasuspender.c:298 -#: ../src/utils/pactl.c:1127 -#, c-format -msgid "pa_mainloop_run() failed.\n" +#: ../src/utils/pacat.c:1079 +#, fuzzy +msgid "pa_mainloop_run() failed."  msgstr "pa_mainloop_run()失败。\n"  #: ../src/utils/pasuspender.c:81 @@ -1646,6 +1517,11 @@ msgstr "æ¢å¤å¤±è´¥ï¼š%s\n"  msgid "WARNING: Sound server is not local, not suspending.\n"  msgstr "è¦å‘Šï¼šéžæœ¬åœ°å£°éŸ³æœåŠ¡å™¨ï¼Œä¸ä¼šæŒ‚起。\n" +#: ../src/utils/pasuspender.c:159 ../src/utils/pactl.c:814 +#, c-format +msgid "Connection failure: %s\n" +msgstr "连接失败:%s\n" +  #: ../src/utils/pasuspender.c:176 ../src/utils/pactl.c:820  #, c-format  msgid "Got SIGINT, exiting.\n" @@ -1685,6 +1561,21 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" +#: ../src/utils/pasuspender.c:277 ../src/utils/pactl.c:1104 +#, c-format +msgid "pa_mainloop_new() failed.\n" +msgstr "pa_mainloop_new()失败。\n" + +#: ../src/utils/pasuspender.c:290 ../src/utils/pactl.c:1116 +#, c-format +msgid "pa_context_new() failed.\n" +msgstr "pa_context_new()失败。\n" + +#: ../src/utils/pasuspender.c:298 ../src/utils/pactl.c:1127 +#, c-format +msgid "pa_mainloop_run() failed.\n" +msgstr "pa_mainloop_run()失败。\n" +  #: ../src/utils/pactl.c:128  #, c-format  msgid "Failed to get statistics: %s\n" @@ -2099,6 +1990,11 @@ msgstr ""  "Compiled with libpulse %s\n"  "Linked with libpulse %s\n" +#: ../src/utils/pactl.c:900 +#, fuzzy, c-format +msgid "Invalid client name '%s'\n" +msgstr "æ— æ•ˆçš„é€šé“æ˜ å°„æè¿°'%s'\n" +  #: ../src/utils/pactl.c:926  msgid "Please specify a sample file to load\n"  msgstr "请指定è¦åŠ è½½çš„é‡‡æ ·æ–‡ä»¶\n" @@ -2107,6 +2003,11 @@ msgstr "请指定è¦åŠ è½½çš„é‡‡æ ·æ–‡ä»¶\n"  msgid "Failed to open sound file.\n"  msgstr "打开声音文件失败。\n" +#: ../src/utils/pactl.c:944 +#, fuzzy +msgid "Failed to determine sample specification from file.\n" +msgstr "获å–采样信æ¯å¤±è´¥ï¼š%s\n" +  #: ../src/utils/pactl.c:951  #, fuzzy  msgid "Warning: Failed to determine sample specification from file.\n" @@ -2166,11 +2067,6 @@ msgstr "你必须指定声å¡åç§°/索引和侧写åç§°\n"  msgid "No valid command specified.\n"  msgstr "未指定有效的命令。\n" -#: ../src/utils/pactl.c:1122 -#, c-format -msgid "pa_context_connect() failed: %s" -msgstr "pa_context_connect()失败:%s" -  #: ../src/utils/pax11publish.c:61  #, c-format  msgid "" @@ -2286,11 +2182,11 @@ msgstr "read():%s"  msgid "write(): %s"  msgstr "write():%s" -#: ../src/pulsecore/lock-autospawn.c:126 ../src/pulsecore/lock-autospawn.c:207 +#: ../src/pulsecore/lock-autospawn.c:136 ../src/pulsecore/lock-autospawn.c:219  msgid "Cannot access autospawn lock."  msgstr "ä¸èƒ½è®¿é—®autospawné”。" -#: ../src/modules/alsa/alsa-sink.c:445 ../src/modules/alsa/alsa-sink.c:593 +#: ../src/modules/alsa/alsa-sink.c:449 ../src/modules/alsa/alsa-sink.c:606  #, c-format  msgid ""  "ALSA woke us up to write new data to the device, but there was actually " @@ -2306,7 +2202,7 @@ msgstr ""  "æé†’我们设置 POLLOUT -- 但结果是 snd_pcm_avail() 返回 0 或者å¦ä¸€ä¸ªå°äºŽæœ€å°å¯"  "用值的数值。" -#: ../src/modules/alsa/alsa-source.c:424 ../src/modules/alsa/alsa-source.c:563 +#: ../src/modules/alsa/alsa-source.c:429 ../src/modules/alsa/alsa-source.c:578  #, c-format  msgid ""  "ALSA woke us up to read new data from the device, but there was actually " @@ -2323,15 +2219,15 @@ msgstr ""  "用值的数值。"  #: ../src/modules/alsa/module-alsa-card.c:152 -#: ../src/modules/bluetooth/module-bluetooth-device.c:2062 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2065  msgid "Off"  msgstr "å…³é—" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2032 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2035  msgid "High Fidelity Playback (A2DP)"  msgstr "高ä¿çœŸå›žæ”¾ï¼ˆA2DP)" -#: ../src/modules/bluetooth/module-bluetooth-device.c:2047 +#: ../src/modules/bluetooth/module-bluetooth-device.c:2050  msgid "Telephony Duplex (HSP/HFP)"  msgstr "åŒå·¥ç”µè¯ï¼ˆHSP/HFP)" @@ -2339,6 +2235,125 @@ msgstr "åŒå·¥ç”µè¯ï¼ˆHSP/HFP)"  msgid "PulseAudio Sound Server"  msgstr "PulseAudio 声音æœåС噍" +#~ msgid "Cannot connect to system bus: %s" +#~ msgstr "无法连接到系统总线:%s" + +#~ msgid "Cannot get caller from PID: %s" +#~ msgstr "无法从PID获å–调用者:%s" + +#~ msgid "Cannot set UID on caller object." +#~ msgstr "无法为调用者设定UID。" + +#~ msgid "Failed to get CK session." +#~ msgstr "获å–CK会è¯å¤±è´¥ã€‚" + +#~ msgid "Cannot set UID on session object." +#~ msgstr "无法为会è¯å¯¹è±¡è®¾å®šUID。" + +#~ msgid "Cannot allocate PolKitAction." +#~ msgstr "ä¸èƒ½åˆ†é…PolKitAction。" + +#~ msgid "Cannot set action_id" +#~ msgstr "无法设定action_id" + +#~ msgid "Cannot allocate PolKitContext." +#~ msgstr "无法分é…PolKitContext。" + +#~ msgid "Cannot initialize PolKitContext: %s" +#~ msgstr "无法åˆä½¿åŒ–PolKitContext: %s" + +#~ msgid "Could not determine whether caller is authorized: %s" +#~ msgstr "无法判æ–调用者是å¦å·²èŽ·å¾—æŽˆæƒ: %s" + +#~ msgid "Cannot obtain auth: %s" +#~ msgstr "æ— æ³•èŽ·å–æŽˆæƒ: %s" + +#~ msgid "PolicyKit responded with '%s'" +#~ msgstr "PolicyKit回å¤'%s'" + +#~ msgid "" +#~ "High-priority scheduling (negative Unix nice level) for the PulseAudio " +#~ "daemon" +#~ msgstr "PulseAudio 守护进程的高优先调度(负的 Unix nic ç‰çº§ï¼‰" + +#~ msgid "Real-time scheduling for the PulseAudio daemon" +#~ msgstr "PulseAudio 守护进程的实时调度。" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring high-priority scheduling." +#~ msgstr "系统ç–ç•¥é˜²æ¢ PulseAudio 获得高优先调度。" + +#~ msgid "" +#~ "System policy prevents PulseAudio from acquiring real-time scheduling." +#~ msgstr "系统ç–ç•¥é˜²æ¢ PulseAudio 获得实时调度。" + +#~ msgid "read() failed: %s\n" +#~ msgstr "read()失败:%s\n" + +#, fuzzy +#~ msgid "pa_context_connect() failed: %s\n" +#~ msgstr "pa_context_connect()失败:%s" + +#~ msgid "We're in the group '%s', allowing high-priority scheduling." +#~ msgstr "我们在'%s'组ä¸ï¼Œå…许高优先级调度。" + +#~ msgid "We're in the group '%s', allowing real-time scheduling." +#~ msgstr "我们在'%s'组ä¸ï¼Œå…许实时调度。" + +#~ msgid "PolicyKit grants us acquire-high-priority privilege." +#~ msgstr "PolicyKit授予我们“获å–é«˜ä¼˜å…ˆçº§â€æƒé™ã€‚" + +#~ msgid "PolicyKit refuses acquire-high-priority privilege." +#~ msgstr "PolicyKitæ‹’ç»â€œèŽ·å–é«˜ä¼˜å…ˆçº§â€æƒé™ã€‚" + +#~ msgid "PolicyKit grants us acquire-real-time privilege." +#~ msgstr "PolicyKit授予我们“获å–å®žæ—¶â€æƒé™ã€‚" + +#~ msgid "PolicyKit refuses acquire-real-time privilege." +#~ msgstr "PolicyKitæ‹’ç»æˆ‘们“获å–å®žæ—¶â€æƒé™ã€‚" + +#~ 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 "" +#~ "é…ç½®ä¸éœ€è¦è°ƒç”¨ SUID rootã€å®žæ—¶å’Œ/或者高优先调度。但是我们缺少必è¦çš„特" +#~ "æƒï¼š\n" +#~ "我们ä¸å±žäºŽç»„群 '%s',PolicyKit æ‹’ç»èµ‹äºˆæˆ‘ä»¬è¦æ±‚的特æƒï¼Œè€Œæˆ‘们无法增加 " +#~ "RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚\n" +#~ "è¦å¯ç”¨å®žæ—¶/高优先调度,请获得适当的 PolicyKit 特æƒï¼Œæˆ–者æˆä¸º '%s' æˆå‘˜ï¼Œä¹Ÿ" +#~ "å¯ä»¥ä¸ºè¿™ä¸ªç”¨æˆ·å¢žåŠ  RLIMIT_NICE/RLIMIT_RTPRIO 资æºé™åˆ¶ã€‚" + +#~ msgid "" +#~ "High-priority scheduling enabled in configuration but not allowed by " +#~ "policy." +#~ msgstr "é…ç½®ä¸å·²å¯ç”¨é«˜ä¼˜å…ˆçº§è°ƒåº¦ï¼Œä½†ç–略未å…许。" + +#~ msgid "Successfully increased RLIMIT_RTPRIO" +#~ msgstr "æé«˜RLIMIT_RTPRIOæˆåŠŸã€‚" + +#~ msgid "RLIMIT_RTPRIO failed: %s" +#~ msgstr "RLIMIT_RTPRIO失败:%s" + +#~ msgid "Giving up CAP_NICE" +#~ msgstr "æ£åœ¨æ”¾å¼ƒCAP_NICE" + +#~ msgid "" +#~ "Real-time scheduling enabled in configuration but not allowed by policy." +#~ msgstr "é…ç½®ä¸å·²å¯ç”¨å®žæ—¶è°ƒåº¦ï¼Œä½†ç–略未å…许。" + +#~ msgid "Limited capabilities successfully to CAP_SYS_NICE." +#~ msgstr "性能æˆåŠŸé™åˆ¶åˆ°CAP_SYS_NICE。" + +#~ msgid "time_new() failed.\n" +#~ msgstr "time_new()失败。\n" +  #~ msgid "Analog Mono"  #~ msgstr "模拟å•声é“" diff --git a/src/Makefile.am b/src/Makefile.am index 8722f978..a46c5a1b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -32,6 +32,7 @@ xdgautostartdir=$(sysconfdir)/xdg/autostart  alsaprofilesetsdir=$(datadir)/pulseaudio/alsa-mixer/profile-sets  alsapathsdir=$(datadir)/pulseaudio/alsa-mixer/paths  udevrulesdir=/lib/udev/rules.d +dbuspolicydir=$(sysconfdir)/dbus-1/system.d  ###################################  #            Defines              # @@ -87,7 +88,7 @@ AM_CFLAGS = \  AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)  AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) -AM_LDFLAGS = -Wl,-z,nodelete +AM_LDFLAGS = $(NODELETE_LDFLAGS)  if STATIC_BINS  BINLDFLAGS = -static @@ -119,6 +120,7 @@ EXTRA_DIST = \  		modules/module-defs.h.m4 \  		daemon/pulseaudio.desktop.in \  		map-file \ +		daemon/pulseaudio-system.conf \  		modules/alsa/mixer/profile-sets/default.conf \  		modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \  		modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf \ @@ -145,6 +147,9 @@ pulseconf_DATA = \  		daemon.conf \  		client.conf +dbuspolicy_DATA = \ +		daemon/pulseaudio-system.conf +  if HAVE_X11  xdgautostart_in_files = \  		daemon/pulseaudio.desktop.in @@ -184,9 +189,9 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)  endif  if FORCE_PREOPEN -pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) +pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))  else -pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) +pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))  endif  ################################### @@ -777,7 +782,7 @@ libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version  #         OSS emulation           #  ################################### -if HAVE_OSS +if HAVE_OSS_WRAPPER  lib_LTLIBRARIES += libpulsedsp.la  bin_SCRIPTS += utils/padsp  endif @@ -869,6 +874,9 @@ libpulsecore_@PA_MAJORMINORMICRO@_la_CFLAGS += $(TDB_CFLAGS)  libpulsecore_@PA_MAJORMINORMICRO@_la_LIBADD += $(TDB_LIBS)  endif +if HAVE_SIMPLEDB +libpulsecore_@PA_MAJORMINORMICRO@_la_SOURCES += pulsecore/database-simple.c +endif  # We split the foreign code off to not be annoyed by warnings we don't care about  noinst_LTLIBRARIES = libpulsecore-foreign.la @@ -1035,7 +1043,7 @@ modlibexec_LTLIBRARIES += \  		module-x11-cork-request.la  endif -if HAVE_OSS +if HAVE_OSS_OUTPUT  modlibexec_LTLIBRARIES += \  		liboss-util.la \  		module-oss.la @@ -1055,8 +1063,10 @@ alsaprofilesets_DATA = \  		modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \  		modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf +if HAVE_UDEV  udevrules_DATA = \  		modules/alsa/mixer/profile-sets/90-pulseaudio.rules +endif  alsapaths_DATA = \  		modules/alsa/mixer/paths/analog-input-aux.conf \ @@ -1122,6 +1132,11 @@ modlibexec_LTLIBRARIES += \  		module-hal-detect.la  endif +if HAVE_HAL_COMPAT +modlibexec_LTLIBRARIES += \ +		module-hal-detect.la +endif +  if HAVE_UDEV  modlibexec_LTLIBRARIES += \  		module-udev-detect.la @@ -1250,7 +1265,7 @@ module_simple_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR  module_cli_la_SOURCES = modules/module-cli.c  module_cli_la_LDFLAGS = $(MODULE_LDFLAGS) -module_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libcli.la libpulsecommon-@PA_MAJORMINORMICRO@.la +module_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libcli.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la  module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c  module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS) @@ -1603,10 +1618,16 @@ module_jack_source_la_LDFLAGS = $(MODULE_LDFLAGS)  module_jack_source_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la $(JACK_LIBS) libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la  module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS) +if HAVE_HAL_COMPAT +module_hal_detect_la_SOURCES = modules/module-hal-detect-compat.c +module_hal_detect_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la +module_hal_detect_la_CFLAGS = $(AM_CFLAGS) +else  module_hal_detect_la_SOURCES = modules/module-hal-detect.c -module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)  module_hal_detect_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la  module_hal_detect_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS) +endif +module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)  module_udev_detect_la_SOURCES = modules/module-udev-detect.c  module_udev_detect_la_LDFLAGS = $(MODULE_LDFLAGS) diff --git a/src/daemon/caps.c b/src/daemon/caps.c index 294be494..76b62e03 100644 --- a/src/daemon/caps.c +++ b/src/daemon/caps.c @@ -57,24 +57,29 @@ void pa_drop_root(void) {  #ifdef HAVE_GETUID      uid_t uid; +    gid_t gid; +    pa_log_debug(_("Cleaning up privileges."));      uid = getuid(); -    if (uid == 0 || geteuid() != 0) -        return; - -    pa_log_info(_("Dropping root privileges.")); +    gid = getgid();  #if defined(HAVE_SETRESUID)      pa_assert_se(setresuid(uid, uid, uid) >= 0); +    pa_assert_se(setresgid(gid, gid, gid) >= 0);  #elif defined(HAVE_SETREUID)      pa_assert_se(setreuid(uid, uid) >= 0); +    pa_assert_se(setregid(gid, gid) >= 0);  #else      pa_assert_se(setuid(uid) >= 0);      pa_assert_se(seteuid(uid) >= 0); +    pa_assert_se(setgid(gid) >= 0); +    pa_assert_se(setegid(gid) >= 0);  #endif      pa_assert_se(getuid() == uid);      pa_assert_se(geteuid() == uid); +    pa_assert_se(getgid() == gid); +    pa_assert_se(getegid() == gid);  #endif  #ifdef HAVE_SYS_PRCTL_H @@ -82,7 +87,7 @@ void pa_drop_root(void) {  #endif  #ifdef HAVE_SYS_CAPABILITY_H -    { +    if (uid != 0) {          cap_t caps;          pa_assert_se(caps = cap_init());          pa_assert_se(cap_clear(caps) == 0); diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c index ace460ed..31f29009 100644 --- a/src/daemon/daemon-conf.c +++ b/src/daemon/daemon-conf.c @@ -476,14 +476,18 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {          { "high-priority",              pa_config_parse_bool,     &c->high_priority, NULL },          { "realtime-scheduling",        pa_config_parse_bool,     &c->realtime_scheduling, NULL },          { "disallow-module-loading",    pa_config_parse_bool,     &c->disallow_module_loading, NULL }, +        { "allow-module-loading",       pa_config_parse_not_bool, &c->disallow_module_loading, NULL },          { "disallow-exit",              pa_config_parse_bool,     &c->disallow_exit, NULL }, +        { "allow-exit",                 pa_config_parse_not_bool, &c->disallow_exit, NULL },          { "use-pid-file",               pa_config_parse_bool,     &c->use_pid_file, NULL },          { "system-instance",            pa_config_parse_bool,     &c->system_instance, NULL },  #ifdef HAVE_DBUS          { "local-server-type",          parse_server_type,        c, NULL },  #endif          { "no-cpu-limit",               pa_config_parse_bool,     &c->no_cpu_limit, NULL }, +        { "cpu-limit",                  pa_config_parse_not_bool, &c->no_cpu_limit, NULL },          { "disable-shm",                pa_config_parse_bool,     &c->disable_shm, NULL }, +        { "enable-shm",                 pa_config_parse_not_bool, &c->disable_shm, NULL },          { "flat-volumes",               pa_config_parse_bool,     &c->flat_volumes, NULL },          { "lock-memory",                pa_config_parse_bool,     &c->lock_memory, NULL },          { "exit-idle-time",             pa_config_parse_int,      &c->exit_idle_time, NULL }, @@ -503,7 +507,9 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {          { "default-fragment-size-msec", parse_fragment_size_msec, c, NULL },          { "nice-level",                 parse_nice_level,         c, NULL },          { "disable-remixing",           pa_config_parse_bool,     &c->disable_remixing, NULL }, +        { "enable-remixing",            pa_config_parse_not_bool, &c->disable_remixing, NULL },          { "disable-lfe-remixing",       pa_config_parse_bool,     &c->disable_lfe_remixing, NULL }, +        { "enable-lfe-remixing",        pa_config_parse_not_bool, &c->disable_lfe_remixing, NULL },          { "load-default-script-file",   pa_config_parse_bool,     &c->load_default_script_file, NULL },          { "shm-size-bytes",             pa_config_parse_size,     &c->shm_size, NULL },          { "log-meta",                   pa_config_parse_bool,     &c->log_meta, NULL }, @@ -669,15 +675,15 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {      pa_strbuf_printf(s, "nice-level = %i\n", c->nice_level);      pa_strbuf_printf(s, "realtime-scheduling = %s\n", pa_yes_no(c->realtime_scheduling));      pa_strbuf_printf(s, "realtime-priority = %i\n", c->realtime_priority); -    pa_strbuf_printf(s, "disallow-module-loading = %s\n", pa_yes_no(c->disallow_module_loading)); -    pa_strbuf_printf(s, "disallow-exit = %s\n", pa_yes_no(c->disallow_exit)); +    pa_strbuf_printf(s, "allow-module-loading = %s\n", pa_yes_no(!c->disallow_module_loading)); +    pa_strbuf_printf(s, "allow-exit = %s\n", pa_yes_no(!c->disallow_exit));      pa_strbuf_printf(s, "use-pid-file = %s\n", pa_yes_no(c->use_pid_file));      pa_strbuf_printf(s, "system-instance = %s\n", pa_yes_no(c->system_instance));  #ifdef HAVE_DBUS      pa_strbuf_printf(s, "local-server-type = %s\n", server_type_to_string[c->local_server_type]);  #endif -    pa_strbuf_printf(s, "no-cpu-limit = %s\n", pa_yes_no(c->no_cpu_limit)); -    pa_strbuf_printf(s, "disable-shm = %s\n", pa_yes_no(c->disable_shm)); +    pa_strbuf_printf(s, "cpu-limit = %s\n", pa_yes_no(!c->no_cpu_limit)); +    pa_strbuf_printf(s, "enable-shm = %s\n", pa_yes_no(!c->disable_shm));      pa_strbuf_printf(s, "flat-volumes = %s\n", pa_yes_no(c->flat_volumes));      pa_strbuf_printf(s, "lock-memory = %s\n", pa_yes_no(c->lock_memory));      pa_strbuf_printf(s, "exit-idle-time = %i\n", c->exit_idle_time); @@ -688,8 +694,8 @@ char *pa_daemon_conf_dump(pa_daemon_conf *c) {      pa_strbuf_printf(s, "log-target = %s\n", c->auto_log_target ? "auto" : (c->log_target == PA_LOG_SYSLOG ? "syslog" : "stderr"));      pa_strbuf_printf(s, "log-level = %s\n", log_level_to_string[c->log_level]);      pa_strbuf_printf(s, "resample-method = %s\n", pa_resample_method_to_string(c->resample_method)); -    pa_strbuf_printf(s, "disable-remixing = %s\n", pa_yes_no(c->disable_remixing)); -    pa_strbuf_printf(s, "disable-lfe-remixing = %s\n", pa_yes_no(c->disable_lfe_remixing)); +    pa_strbuf_printf(s, "enable-remixing = %s\n", pa_yes_no(!c->disable_remixing)); +    pa_strbuf_printf(s, "enable-lfe-remixing = %s\n", pa_yes_no(!c->disable_lfe_remixing));      pa_strbuf_printf(s, "default-sample-format = %s\n", pa_sample_format_to_string(c->default_sample_spec.format));      pa_strbuf_printf(s, "default-sample-rate = %u\n", c->default_sample_spec.rate);      pa_strbuf_printf(s, "default-sample-channels = %u\n", c->default_sample_spec.channels); diff --git a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in index 9bea6148..a11fd06c 100644 --- a/src/daemon/daemon.conf.in +++ b/src/daemon/daemon.conf.in @@ -21,15 +21,15 @@  ; daemonize = no  ; fail = yes -; disallow-module-loading = no -; disallow-exit = no +; allow-module-loading = yes +; allow-exit = yes  ; use-pid-file = yes  ; system-instance = no  ; local-server-type = user -; disable-shm = no +; enable-shm = yes  ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB  ; lock-memory = no -; no-cpu-limit = no +; cpu-limit = yes  ; high-priority = yes  ; nice-level = -11 @@ -52,8 +52,8 @@  ; log-backtrace = 0  ; resample-method = speex-float-3 -; disable-remixing = no -; disable-lfe-remixing = yes +; enable-remixing = yes +; enable-lfe-remixing = no  ; flat-volumes = yes diff --git a/src/daemon/main.c b/src/daemon/main.c index f4209859..73696005 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -110,7 +110,7 @@ int allow_severity = LOG_INFO;  int deny_severity = LOG_WARNING;  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_WRAPPER  /* padsp looks for this symbol in the running process and disables   * itself if it finds it and it is set to 7 (which is actually a bit   * mask). For details see padsp. */ @@ -407,7 +407,8 @@ int main(int argc, char *argv[]) {      /*         Disable lazy relocations to make usage of external libraries         more deterministic for our RT threads. We abuse __OPTIMIZE__ as -       a check whether we are a debug build or not. +       a check whether we are a debug build or not. This all is +       admittedly a bit snake-oilish.      */      if (!getenv("LD_BIND_NOW")) { @@ -418,9 +419,16 @@ int main(int argc, char *argv[]) {          pa_set_env("LD_BIND_NOW", "1"); -        if ((rp = pa_readlink("/proc/self/exe"))) -            pa_assert_se(execv(rp, argv) == 0); -        else +        if ((rp = pa_readlink("/proc/self/exe"))) { + +            if (pa_streq(rp, PA_BINARY)) +                pa_assert_se(execv(rp, argv) == 0); +            else +                pa_log_warn("/proc/self/exe does not point to " PA_BINARY ", cannot self execute. Are you playing games?"); + +            pa_xfree(rp); + +        } else              pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?");      }  #endif @@ -435,10 +443,13 @@ int main(int argc, char *argv[]) {      /* We might be autospawned, in which case have no idea in which       * context we have been started. Let's cleanup our execution       * context as good as possible */ + +    pa_reset_personality();      pa_drop_root();      pa_close_all(passed_fd, -1);      pa_reset_sigs(-1);      pa_unblock_sigs(-1); +    pa_reset_priority();      setlocale(LC_ALL, "");      pa_init_i18n(); diff --git a/src/daemon/pulseaudio-system.conf b/src/daemon/pulseaudio-system.conf new file mode 100644 index 00000000..edddaf93 --- /dev/null +++ b/src/daemon/pulseaudio-system.conf @@ -0,0 +1,37 @@ +<?xml version="1.0"?><!--*-nxml-*--> +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> + +<!-- +This file is part of PulseAudio. + +PulseAudio is free software; you can redistribute it and/or modify it +under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +PulseAudio is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 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. +--> + +<busconfig> + +  <!-- System-wide PulseAudio runs as 'pulse' user. This fragment is +       not necessary for user PulseAudio instances. --> + +  <policy user="pulse"> +    <allow own="org.pulseaudio.Server"/> + +    <!-- Allow pulseaudio to talk to HAL for device detection --> +    <allow send_destination="org.freedesktop.Hal" send_interface="org.freedesktop.Hal.Manager"/> +    <allow send_destination="org.freedesktop.Hal" send_interface="org.freedesktop.Hal.Device"/> +  </policy> + +</busconfig> diff --git a/src/map-file b/src/map-file index 3db3a2d7..dafef48f 100644 --- a/src/map-file +++ b/src/map-file @@ -220,6 +220,8 @@ pa_simple_get_latency;  pa_simple_new;  pa_simple_read;  pa_simple_write; +pa_stream_begin_write; +pa_stream_cancel_write;  pa_stream_connect_playback;  pa_stream_connect_record;  pa_stream_connect_upload; diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index a5515e1b..a4c2ee0f 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -940,7 +940,6 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {      PA_LLIST_FOREACH(e, p->elements) {          switch (e->switch_use) { -            case PA_ALSA_SWITCH_MUTE:              case PA_ALSA_SWITCH_OFF:                  r = element_set_switch(e, m, FALSE);                  break; @@ -949,6 +948,7 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {                  r = element_set_switch(e, m, TRUE);                  break; +            case PA_ALSA_SWITCH_MUTE:              case PA_ALSA_SWITCH_IGNORE:              case PA_ALSA_SWITCH_SELECT:                  r = 0; @@ -960,7 +960,6 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {          switch (e->volume_use) {              case PA_ALSA_VOLUME_OFF: -            case PA_ALSA_VOLUME_MERGE:                  r = element_mute_volume(e, m);                  break; @@ -968,6 +967,7 @@ int pa_alsa_path_select(pa_alsa_path *p, snd_mixer_t *m) {                  r = element_zero_volume(e, m);                  break; +            case PA_ALSA_VOLUME_MERGE:              case PA_ALSA_VOLUME_IGNORE:                  r = 0;                  break; @@ -2838,9 +2838,9 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {      if (bonus) {          if (pa_channel_map_equal(&m->channel_map, bonus)) -            m->priority += 5000; +            m->priority += 50;          else if (m->channel_map.channels == bonus->channels) -            m->priority += 4000; +            m->priority += 30;      }      return 0; diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index c584362d..a91b4b8a 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -169,10 +169,10 @@ static int reserve_init(struct userdata *u, const char *dname) {      if (pa_in_system_mode())          return 0; -    /* We are resuming, try to lock the device */      if (!(rname = pa_alsa_get_reserve_name(dname)))          return 0; +    /* We are resuming, try to lock the device */      u->reserve = pa_reserve_wrapper_get(u->core, rname);      pa_xfree(rname); @@ -222,7 +222,6 @@ static int reserve_monitor_init(struct userdata *u, const char *dname) {      if (pa_in_system_mode())          return 0; -    /* We are resuming, try to lock the device */      if (!(rname = pa_alsa_get_reserve_name(dname)))          return 0; @@ -341,6 +340,9 @@ static int try_recover(struct userdata *u, const char *call, int err) {      if (err == -EPIPE)          pa_log_debug("%s: Buffer underrun!", call); +    if (err == -ESTRPIPE) +        pa_log_debug("%s: System suspended!", call); +      if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) {          pa_log("%s: %s", call, pa_alsa_strerror(err));          return -1; @@ -402,6 +404,7 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle          snd_pcm_sframes_t n;          size_t n_bytes;          int r; +        pa_bool_t after_avail = TRUE;          /* First we determine how many samples are missing to fill the           * buffer up to 100% */ @@ -485,6 +488,9 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle              if (PA_UNLIKELY((err = pa_alsa_safe_mmap_begin(u->pcm_handle, &areas, &offset, &frames, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { +                if (!after_avail && err == -EAGAIN) +                    break; +                  if ((r = try_recover(u, "snd_pcm_mmap_begin", err)) == 0)                      continue; @@ -495,6 +501,12 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle              if (frames > pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size)                  frames = pa_mempool_block_size_max(u->sink->core->mempool)/u->frame_size; +            if (!after_avail && frames == 0) +                break; + +            pa_assert(frames > 0); +            after_avail = FALSE; +              /* Check these are multiples of 8 bit */              pa_assert((areas[0].first & 7) == 0);              pa_assert((areas[0].step & 7)== 0); @@ -615,6 +627,7 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle          for (;;) {              snd_pcm_sframes_t frames;              void *p; +            pa_bool_t after_avail = TRUE;  /*         pa_log_debug("%lu frames to write", (unsigned long) frames); */ @@ -632,16 +645,23 @@ static int unix_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle              frames = snd_pcm_writei(u->pcm_handle, (const uint8_t*) p + u->memchunk.index, (snd_pcm_uframes_t) frames);              pa_memblock_release(u->memchunk.memblock); -            pa_assert(frames != 0); -              if (PA_UNLIKELY(frames < 0)) { +                if (!after_avail && (int) frames == -EAGAIN) +                    break; +                  if ((r = try_recover(u, "snd_pcm_writei", (int) frames)) == 0)                      continue;                  return r;              } +            if (!after_avail && frames == 0) +                break; + +            pa_assert(frames > 0); +            after_avail = FALSE; +              u->memchunk.index += (size_t) frames * u->frame_size;              u->memchunk.length -= (size_t) frames * u->frame_size; @@ -882,9 +902,13 @@ static int unsuspend(struct userdata *u) {      if (build_pollfd(u) < 0)          goto fail; +    u->write_count = 0; +    pa_smoother_reset(u->smoother, pa_rtclock_now(), TRUE); +      u->first = TRUE;      u->since_start = 0; +      pa_log_info("Resumed successfully...");      return 0; @@ -1178,8 +1202,11 @@ static int process_rewind(struct userdata *u) {          pa_log_debug("before: %lu", (unsigned long) in_frames);          if ((out_frames = snd_pcm_rewind(u->pcm_handle, (snd_pcm_uframes_t) in_frames)) < 0) {              pa_log("snd_pcm_rewind() failed: %s", pa_alsa_strerror((int) out_frames)); -            return -1; +            if (try_recover(u, "process_rewind", out_frames) < 0) +                return -1; +            out_frames = 0;          } +          pa_log_debug("after: %lu", (unsigned long) out_frames);          rewind_nbytes = (size_t) out_frames * u->frame_size; @@ -1187,7 +1214,7 @@ static int process_rewind(struct userdata *u) {          if (rewind_nbytes <= 0)              pa_log_info("Tried rewind, but was apparently not possible.");          else { -            u->write_count -= out_frames * u->frame_size; +            u->write_count -= rewind_nbytes;              pa_log_debug("Rewound %lu bytes.", (unsigned long) rewind_nbytes);              pa_sink_process_rewind(u->sink, rewind_nbytes); @@ -1265,7 +1292,8 @@ static void thread_func(void *userdata) {                       * we have filled the buffer at least once                       * completely.*/ -                    pa_log_debug("Cutting sleep time for the initial iterations by half."); +                    if (pa_log_ratelimit()) +                        pa_log_debug("Cutting sleep time for the initial iterations by half.");                      sleep_usec /= 2;                  } diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index a6760e1e..9a51f857 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -333,6 +333,9 @@ static int try_recover(struct userdata *u, const char *call, int err) {      if (err == -EPIPE)          pa_log_debug("%s: Buffer overrun!", call); +    if (err == -ESTRPIPE) +        pa_log_debug("%s: System suspended!", call); +      if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) {          pa_log("%s: %s", call, pa_alsa_strerror(err));          return -1; @@ -391,6 +394,7 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled          snd_pcm_sframes_t n;          size_t n_bytes;          int r; +        pa_bool_t after_avail = TRUE;          if (PA_UNLIKELY((n = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->source->sample_spec)) < 0)) { @@ -463,6 +467,9 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled              if (PA_UNLIKELY((err = pa_alsa_safe_mmap_begin(u->pcm_handle, &areas, &offset, &frames, u->hwbuf_size, &u->source->sample_spec)) < 0)) { +                if (!after_avail && err == -EAGAIN) +                    break; +                  if ((r = try_recover(u, "snd_pcm_mmap_begin", err)) == 0)                      continue; @@ -473,6 +480,12 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled              if (frames > pa_mempool_block_size_max(u->source->core->mempool)/u->frame_size)                  frames = pa_mempool_block_size_max(u->source->core->mempool)/u->frame_size; +            if (!after_avail && frames == 0) +                break; + +            pa_assert(frames > 0); +            after_avail = FALSE; +              /* Check these are multiples of 8 bit */              pa_assert((areas[0].first & 7) == 0);              pa_assert((areas[0].step & 7)== 0); @@ -539,6 +552,7 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled          snd_pcm_sframes_t n;          size_t n_bytes;          int r; +        pa_bool_t after_avail = TRUE;          if (PA_UNLIKELY((n = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->source->sample_spec)) < 0)) { @@ -599,17 +613,26 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled              frames = snd_pcm_readi(u->pcm_handle, (uint8_t*) p, (snd_pcm_uframes_t) frames);              pa_memblock_release(chunk.memblock); -            pa_assert(frames != 0); -              if (PA_UNLIKELY(frames < 0)) {                  pa_memblock_unref(chunk.memblock); -                if ((r = try_recover(u, "snd_pcm_readi", (int) (frames))) == 0) +                if (!after_avail && (int) frames == -EAGAIN) +                    break; + +                if ((r = try_recover(u, "snd_pcm_readi", (int) frames)) == 0)                      continue;                  return r;              } +            if (!after_avail && frames == 0) { +                pa_memblock_unref(chunk.memblock); +                break; +            } + +            pa_assert(frames > 0); +            after_avail = FALSE; +              chunk.index = 0;              chunk.length = (size_t) frames * u->frame_size; @@ -834,7 +857,9 @@ static int unsuspend(struct userdata *u) {      /* FIXME: We need to reload the volume somehow */      snd_pcm_start(u->pcm_handle); -    pa_smoother_resume(u->smoother, pa_rtclock_now(), TRUE); + +    u->read_count = 0; +    pa_smoother_reset(u->smoother, pa_rtclock_now(), TRUE);      pa_log_info("Resumed successfully..."); diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c index 1f3e5dcd..a47a8958 100644 --- a/src/modules/alsa/alsa-util.c +++ b/src/modules/alsa/alsa-util.c @@ -233,14 +233,16 @@ int pa_alsa_set_hw_params(          goto finish;      } -    if (_period_size && tsched_size && _periods) { +    if (_period_size > 0 && tsched_size > 0 && _periods > 0) { +        snd_pcm_uframes_t buffer_size; +        unsigned int p;          /* Adjust the buffer sizes, if we didn't get the rate we were asking for */          _period_size = (snd_pcm_uframes_t) (((uint64_t) _period_size * r) / ss->rate);          tsched_size = (snd_pcm_uframes_t) (((uint64_t) tsched_size * r) / ss->rate);          if (_use_tsched) { -            snd_pcm_uframes_t buffer_size = 0; +            buffer_size = 0;              if ((ret = snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size)) < 0)                  pa_log_warn("snd_pcm_hw_params_get_buffer_size_max() failed: %s", pa_alsa_strerror(ret)); @@ -251,32 +253,33 @@ int pa_alsa_set_hw_params(              _periods = 1;          } -        if (_period_size > 0 && _periods > 0) { -            snd_pcm_uframes_t buffer_size; - -            buffer_size = _periods * _period_size; - -            if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) -                pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret)); -        } - -        if (_periods > 0) { - -            /* First we pass 0 as direction to get exactly what we -             * asked for. That this is necessary is presumably a bug -             * in ALSA. All in all this is mostly a hint to ALSA, so -             * we don't care if this fails. */ - -            dir = 0; -            if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { -                dir = 1; -                if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { -                    dir = -1; -                    if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) -                        pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret)); -                } +        /* Some ALSA drivers really don't like if we set the buffer +         * size first and the number of periods second. (which would +         * make a lot more sense to me) So, follow this rule and +         * adjust the periods first and the buffer size second */ + +        /* First we pass 0 as direction to get exactly what we +         * asked for. That this is necessary is presumably a bug +         * in ALSA. All in all this is mostly a hint to ALSA, so +         * we don't care if this fails. */ + +        p = _periods; +        dir = 0; +        if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir) < 0) { +            p = _periods; +            dir = 1; +            if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir) < 0) { +                p = _periods; +                dir = -1; +                if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &p, &dir)) < 0) +                    pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret));              }          } + +        /* Now set the buffer size */ +        buffer_size = _periods * _period_size; +        if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) +            pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret));      }      if  ((ret = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) diff --git a/src/modules/alsa/mixer/Makefile b/src/modules/alsa/mixer/Makefile new file mode 120000 index 00000000..b4955194 --- /dev/null +++ b/src/modules/alsa/mixer/Makefile @@ -0,0 +1 @@ +../../../pulse/Makefile
\ No newline at end of file diff --git a/src/modules/alsa/mixer/paths/Makefile b/src/modules/alsa/mixer/paths/Makefile new file mode 120000 index 00000000..dc23aaa2 --- /dev/null +++ b/src/modules/alsa/mixer/paths/Makefile @@ -0,0 +1 @@ +../../../../pulse/Makefile
\ No newline at end of file diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf index c018e0eb..691cb3f2 100644 --- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf +++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf @@ -44,6 +44,10 @@ volume = merge  override-map.1 = all  override-map.2 = all-left,all-right +[Element Speaker] +switch = off +volume = off +  [Element Front]  switch = off  volume = off diff --git a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf index 7a267890..2db976a5 100644 --- a/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf +++ b/src/modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf @@ -45,6 +45,12 @@ override-map.2 = lfe,lfe  switch = off  volume = off +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right +  [Element Front]  switch = off  volume = off diff --git a/src/modules/alsa/mixer/paths/analog-output-mono.conf b/src/modules/alsa/mixer/paths/analog-output-mono.conf index f6cb9f8a..a58cc970 100644 --- a/src/modules/alsa/mixer/paths/analog-output-mono.conf +++ b/src/modules/alsa/mixer/paths/analog-output-mono.conf @@ -42,6 +42,12 @@ override-map.2 = all-left,all-right  switch = off  volume = off +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right +  [Element Front]  switch = off  volume = off diff --git a/src/modules/alsa/mixer/paths/analog-output.conf b/src/modules/alsa/mixer/paths/analog-output.conf index ea108aaf..b412a437 100644 --- a/src/modules/alsa/mixer/paths/analog-output.conf +++ b/src/modules/alsa/mixer/paths/analog-output.conf @@ -41,6 +41,12 @@ volume = off  switch = off  volume = off +[Element Speaker] +switch = mute +volume = merge +override-map.1 = all +override-map.2 = all-left,all-right +  [Element Front]  switch = mute  volume = merge diff --git a/src/modules/alsa/mixer/paths/analog-output.conf.common b/src/modules/alsa/mixer/paths/analog-output.conf.common index cc1185f4..3c6ce803 100644 --- a/src/modules/alsa/mixer/paths/analog-output.conf.common +++ b/src/modules/alsa/mixer/paths/analog-output.conf.common @@ -104,8 +104,8 @@ switch = select  [Option External Amplifier:on]  name = output-amplifier-on -priority = 0 +priority = 10  [Option External Amplifier:off]  name = output-amplifier-off -priority = 10 +priority = 0 diff --git a/src/modules/alsa/mixer/profile-sets/Makefile b/src/modules/alsa/mixer/profile-sets/Makefile new file mode 120000 index 00000000..dc23aaa2 --- /dev/null +++ b/src/modules/alsa/mixer/profile-sets/Makefile @@ -0,0 +1 @@ +../../../../pulse/Makefile
\ No newline at end of file diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c index 5c7681d4..16c29248 100644 --- a/src/modules/bluetooth/bluetooth-util.c +++ b/src/modules/bluetooth/bluetooth-util.c @@ -122,9 +122,9 @@ static pa_bool_t device_is_audio(pa_bluetooth_device *d) {      return          d->device_info_valid && -        (d->audio_state != PA_BT_AUDIO_STATE_INVALID || -         d->audio_sink_state != PA_BT_AUDIO_STATE_INVALID || -         d->headset_state != PA_BT_AUDIO_STATE_INVALID); +        (d->audio_state != PA_BT_AUDIO_STATE_INVALID && +         (d->audio_sink_state != PA_BT_AUDIO_STATE_INVALID || +          d->headset_state != PA_BT_AUDIO_STATE_INVALID));  }  static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device *d, DBusMessageIter *i) { @@ -226,10 +226,6 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device                      node = uuid_new(value);                      PA_LLIST_PREPEND(pa_bluetooth_uuid, d->uuids, node); -                    /* this might eventually be racy if .Audio is not there yet, but the State change will come anyway later, so this call is for cold-detection mostly */ -                    pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Audio", "GetProperties")); -                    send_and_add_to_pending(y, d, m, get_properties_reply); -                      /* Vudentz said the interfaces are here when the UUIDs are announced */                      if (strcasecmp(HSP_HS_UUID, value) == 0 || strcasecmp(HFP_HS_UUID, value) == 0) {                          pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Headset", "GetProperties")); @@ -239,6 +235,10 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device                          send_and_add_to_pending(y, d, m, get_properties_reply);                      } +                    /* this might eventually be racy if .Audio is not there yet, but the State change will come anyway later, so this call is for cold-detection mostly */ +                    pa_assert_se(m = dbus_message_new_method_call("org.bluez", d->path, "org.bluez.Audio", "GetProperties")); +                    send_and_add_to_pending(y, d, m, get_properties_reply); +                      if (!dbus_message_iter_next(&ai))                          break;                  } @@ -309,6 +309,17 @@ static void run_callback(pa_bluetooth_discovery *y, pa_bluetooth_device *d, pa_b      pa_hook_fire(&y->hook, d);  } +static void remove_all_devices(pa_bluetooth_discovery *y) { +    pa_bluetooth_device *d; + +    pa_assert(y); + +    while ((d = pa_hashmap_steal_first(y->devices))) { +        run_callback(y, d, TRUE); +        device_free(d); +    } +} +  static void get_properties_reply(DBusPendingCall *pending, void *userdata) {      DBusMessage *r;      DBusMessageIter arg_i, element_i; @@ -332,6 +343,12 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {      if (dbus_message_is_method_call(p->message, "org.bluez.Device", "GetProperties"))          d->device_info_valid = valid; +    if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) { +        pa_log_debug("Bluetooth daemon is apparently not available."); +        remove_all_devices(y); +        goto finish2; +    } +      if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {          if (!dbus_message_is_error(r, DBUS_ERROR_UNKNOWN_METHOD)) @@ -383,6 +400,7 @@ static void get_properties_reply(DBusPendingCall *pending, void *userdata) {  finish:      run_callback(y, d, FALSE); +finish2:      dbus_message_unref(r);      PA_LLIST_REMOVE(pa_dbus_pending, y->pending, p); @@ -412,6 +430,9 @@ static void found_device(pa_bluetooth_discovery *y, const char* path) {      pa_assert(y);      pa_assert(path); +    if (pa_hashmap_get(y->devices, path)) +        return; +      d = device_new(path);      pa_hashmap_put(y->devices, d->path, d); @@ -439,9 +460,15 @@ static void list_devices_reply(DBusPendingCall *pending, void *userdata) {      pa_assert_se(y = p->context_data);      pa_assert_se(r = dbus_pending_call_steal_reply(pending)); +    if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) { +        pa_log_debug("Bluetooth daemon is apparently not available."); +        remove_all_devices(y); +        goto finish; +    } +      if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {          pa_log("Error from ListDevices reply: %s", dbus_message_get_error_name(r)); -        goto end; +        goto finish;      }      if (!dbus_message_get_args(r, &e, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH, &paths, &num, DBUS_TYPE_INVALID)) { @@ -454,7 +481,7 @@ static void list_devices_reply(DBusPendingCall *pending, void *userdata) {              found_device(y, paths[i]);      } -end: +finish:      if (paths)          dbus_free_string_array (paths); @@ -487,9 +514,15 @@ static void list_adapters_reply(DBusPendingCall *pending, void *userdata) {      pa_assert_se(y = p->context_data);      pa_assert_se(r = dbus_pending_call_steal_reply(pending)); +    if (dbus_message_is_error(r, DBUS_ERROR_SERVICE_UNKNOWN)) { +        pa_log_debug("Bluetooth daemon is apparently not available."); +        remove_all_devices(y); +        goto finish; +    } +      if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {          pa_log("Error from ListAdapters reply: %s", dbus_message_get_error_name(r)); -        goto end; +        goto finish;      }      if (!dbus_message_get_args(r, &e, DBUS_TYPE_ARRAY, DBUS_TYPE_OBJECT_PATH, &paths, &num, DBUS_TYPE_INVALID)) { @@ -502,7 +535,7 @@ static void list_adapters_reply(DBusPendingCall *pending, void *userdata) {              found_adapter(y, paths[i]);      } -end: +finish:      if (paths)          dbus_free_string_array (paths); @@ -616,6 +649,32 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us          }          return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + +    } else if (dbus_message_is_signal(m, "org.freedesktop.DBus", "NameOwnerChanged")) { +        const char *name, *old_owner, *new_owner; + +        if (!dbus_message_get_args(m, &err, +                                   DBUS_TYPE_STRING, &name, +                                   DBUS_TYPE_STRING, &old_owner, +                                   DBUS_TYPE_STRING, &new_owner, +                                   DBUS_TYPE_INVALID)) { +            pa_log("Failed to parse org.freedesktop.DBus.NameOwnerChanged: %s", err.message); +            goto fail; +        } + +        if (pa_streq(name, "org.bluez")) { +            if (old_owner && *old_owner) { +                pa_log_debug("Bluetooth daemon disappeared."); +                remove_all_devices(y); +            } + +            if (new_owner && *new_owner) { +                pa_log_debug("Bluetooth daemon appeared."); +                list_adapters(y); +            } +        } + +        return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;      }  fail: @@ -699,6 +758,7 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *c) {      if (pa_dbus_add_matches(                  pa_dbus_connection_get(y->connection), &err, +                "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged'",                  "type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterAdded'",                  "type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceRemoved'",                  "type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceCreated'", @@ -734,8 +794,6 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_ref(pa_bluetooth_discovery *y) {  }  void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) { -    pa_bluetooth_device *d; -      pa_assert(y);      pa_assert(PA_REFCNT_VALUE(y) > 0); @@ -745,16 +803,13 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {      pa_dbus_free_pending_list(&y->pending);      if (y->devices) { -        while ((d = pa_hashmap_steal_first(y->devices))) { -            run_callback(y, d, TRUE); -            device_free(d); -        } - +        remove_all_devices(y);          pa_hashmap_free(y->devices, NULL, NULL);      }      if (y->connection) {          pa_dbus_remove_matches(pa_dbus_connection_get(y->connection), +                               "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged'",                                 "type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterAdded'",                                 "type='signal',sender='org.bluez',interface='org.bluez.Manager',member='AdapterRemoved'",                                 "type='signal',sender='org.bluez',interface='org.bluez.Adapter',member='DeviceRemoved'", diff --git a/src/modules/bluetooth/bluetooth-util.h b/src/modules/bluetooth/bluetooth-util.h index 265caf40..f15f2170 100644 --- a/src/modules/bluetooth/bluetooth-util.h +++ b/src/modules/bluetooth/bluetooth-util.h @@ -59,8 +59,7 @@ typedef enum pa_bt_audio_state {      PA_BT_AUDIO_STATE_DISCONNECTED,      PA_BT_AUDIO_STATE_CONNECTING,      PA_BT_AUDIO_STATE_CONNECTED, -    PA_BT_AUDIO_STATE_PLAYING, -    PA_BT_AUDIO_STATE_LAST +    PA_BT_AUDIO_STATE_PLAYING  } pa_bt_audio_state_t;  struct pa_bluetooth_device { diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c index e7c6d5e4..d6321fc4 100644 --- a/src/modules/bluetooth/module-bluetooth-device.c +++ b/src/modules/bluetooth/module-bluetooth-device.c @@ -881,7 +881,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse                  *((pa_usec_t*) data) = wi > ri ? wi - ri : 0;              } -            *((pa_usec_t*) data) += u->sink->fixed_latency; +            *((pa_usec_t*) data) += u->sink->thread_info.fixed_latency;              return 0;          }      } @@ -943,7 +943,7 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off              wi = pa_smoother_get(u->read_smoother, pa_rtclock_now());              ri = pa_bytes_to_usec(u->read_index, &u->sample_spec); -            *((pa_usec_t*) data) = (wi > ri ? wi - ri : 0) + u->source->fixed_latency; +            *((pa_usec_t*) data) = (wi > ri ? wi - ri : 0) + u->source->thread_info.fixed_latency;              return 0;          } @@ -1262,11 +1262,11 @@ static void thread_func(void *userdata) {      if (u->core->realtime_scheduling)          pa_make_realtime(u->core->realtime_priority); +    pa_thread_mq_install(&u->thread_mq); +      if (start_stream_fd(u) < 0)          goto fail; -    pa_thread_mq_install(&u->thread_mq); -      for (;;) {          struct pollfd *pollfd;          int ret; @@ -1319,18 +1319,21 @@ static void thread_func(void *userdata) {                          if (u->write_index > 0 && audio_to_send > MAX_PLAYBACK_CATCH_UP_USEC) {                              pa_usec_t skip_usec;                              uint64_t skip_bytes; -                            pa_memchunk tmp;                              skip_usec = audio_to_send - MAX_PLAYBACK_CATCH_UP_USEC;                              skip_bytes = pa_usec_to_bytes(skip_usec, &u->sample_spec); -                            pa_log_warn("Skipping %llu us (= %llu bytes) in audio stream", -                                        (unsigned long long) skip_usec, -                                        (unsigned long long) skip_bytes); +                            if (skip_bytes > 0) { +                                pa_memchunk tmp; + +                                pa_log_warn("Skipping %llu us (= %llu bytes) in audio stream", +                                            (unsigned long long) skip_usec, +                                            (unsigned long long) skip_bytes); -                            pa_sink_render_full(u->sink, skip_bytes, &tmp); -                            pa_memblock_unref(tmp.memblock); -                            u->write_index += skip_bytes; +                                pa_sink_render_full(u->sink, skip_bytes, &tmp); +                                pa_memblock_unref(tmp.memblock); +                                u->write_index += skip_bytes; +                            }                          }                          do_write = 1; @@ -1351,11 +1354,14 @@ static void thread_func(void *userdata) {                              goto fail;                      } +                    if (n_written == 0) +                        pa_log("Broken kernel: we got EAGAIN on write() after POLLOUT!"); +                      do_write -= n_written;                      writable = FALSE;                  } -                if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0) { +                if ((!u->source || !PA_SOURCE_IS_LINKED(u->source->thread_info.state)) && do_write <= 0 && writable) {                      pa_usec_t time_passed, next_write_at, sleep_for;                      /* Hmm, there is no input stream we could synchronize @@ -1443,12 +1449,12 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *m, void *us              if (u->sink && dbus_message_is_signal(m, "org.bluez.Headset", "SpeakerGainChanged")) {                  pa_cvolume_set(&v, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15)); -                pa_sink_volume_changed(u->sink, &v, TRUE); +                pa_sink_volume_changed(u->sink, &v);              } else if (u->source && dbus_message_is_signal(m, "org.bluez.Headset", "MicrophoneGainChanged")) {                  pa_cvolume_set(&v, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15)); -                pa_source_volume_changed(u->source, &v, TRUE); +                pa_source_volume_changed(u->source, &v);              }          }      } @@ -1733,7 +1739,8 @@ static void shutdown_bt(struct userdata *u) {      if (u->service_fd >= 0) {          pa_close(u->service_fd);          u->service_fd = -1; -        u->service_write_type = u->service_write_type = 0; +        u->service_write_type = 0; +        u->service_read_type = 0;      }      if (u->write_memchunk.memblock) { @@ -1749,7 +1756,8 @@ static int init_bt(struct userdata *u) {      shutdown_bt(u);      u->stream_write_type = 0; -    u->service_write_type = u->service_write_type = 0; +    u->service_write_type = 0; +    u->service_read_type = 0;      if ((u->service_fd = bt_audio_service_open()) < 0) {          pa_log_error("Couldn't connect to bluetooth audio service"); @@ -2083,6 +2091,15 @@ static int add_card(struct userdata *u, const pa_bluetooth_device *device) {      u->card->set_profile = card_set_profile;      d = PA_CARD_PROFILE_DATA(u->card->active_profile); + +    if ((device->headset_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_HSP) || +        (device->audio_sink_state < PA_BT_AUDIO_STATE_CONNECTED && *d == PROFILE_A2DP)) { +        pa_log_warn("Default profile not connected, selecting off profile"); +        u->card->active_profile = pa_hashmap_get(u->card->profiles, "off"); +        u->card->save_profile = FALSE; +    } + +    d = PA_CARD_PROFILE_DATA(u->card->active_profile);      u->profile = *d;      return 0; diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c index d50e59ae..582cbce1 100644 --- a/src/modules/module-combine.c +++ b/src/modules/module-combine.c @@ -92,6 +92,8 @@ struct output {      pa_sink *sink;      pa_sink_input *sink_input; +    pa_bool_t ignore_state_change; +      pa_asyncmsgq *inq,    /* Message queue from the sink thread to this sink input */                   *outq;   /* Message queue from this sink input to the sink thread */      pa_rtpoll_item *inq_rtpoll_item_read, *inq_rtpoll_item_write; @@ -99,9 +101,12 @@ struct output {      pa_memblockq *memblockq; +    /* For communication of the stream latencies to the main thread */      pa_usec_t total_latency; +    /* For coomunication of the stream parameters to the sink thread */      pa_atomic_t max_request; +    pa_atomic_t requested_latency;      PA_LLIST_FIELDS(struct output);  }; @@ -119,13 +124,12 @@ struct userdata {      uint32_t adjust_time;      pa_bool_t automatic; +    pa_bool_t auto_desc;      pa_hook_slot *sink_put_slot, *sink_unlink_slot, *sink_state_changed_slot;      pa_resample_method_t resample_method; -    struct timeval adjust_timestamp; -      pa_usec_t block_usec;      pa_idxset* outputs; /* managed in main context */ @@ -145,13 +149,16 @@ enum {      SINK_MESSAGE_REMOVE_OUTPUT,      SINK_MESSAGE_NEED,      SINK_MESSAGE_UPDATE_LATENCY, -    SINK_MESSAGE_UPDATE_MAX_REQUEST +    SINK_MESSAGE_UPDATE_MAX_REQUEST, +    SINK_MESSAGE_UPDATE_REQUESTED_LATENCY  };  enum {      SINK_INPUT_MESSAGE_POST = PA_SINK_INPUT_MESSAGE_MAX,  }; +static void output_disable(struct output *o); +static void output_enable(struct output *o);  static void output_free(struct output *o);  static int output_create_sink_input(struct output *o); @@ -171,7 +178,7 @@ static void adjust_rates(struct userdata *u) {      if (!PA_SINK_IS_OPENED(pa_sink_get_state(u->sink)))          return; -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) { +    PA_IDXSET_FOREACH(o, u->outputs, idx) {          pa_usec_t sink_latency;          if (!o->sink_input || !PA_SINK_IS_OPENED(pa_sink_get_state(o->sink))) @@ -188,6 +195,11 @@ static void adjust_rates(struct userdata *u) {          avg_total_latency += o->total_latency;          n++; + +        pa_log_debug("[%s] total=%0.2fms sink=%0.2fms ", o->sink->name, (double) o->total_latency / PA_USEC_PER_MSEC, (double) sink_latency / PA_USEC_PER_MSEC); + +        if (o->total_latency > 10*PA_USEC_PER_SEC) +            pa_log_warn("[%s] Total latency of output is very high (%0.2fms), most likely the audio timing in one of your drivers is broken.", o->sink->name, (double) o->total_latency / PA_USEC_PER_MSEC);      }      if (min_total_latency == (pa_usec_t) -1) @@ -202,7 +214,7 @@ static void adjust_rates(struct userdata *u) {      base_rate = u->sink->sample_spec.rate; -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) { +    PA_IDXSET_FOREACH(o, u->outputs, idx) {          uint32_t r = base_rate;          if (!o->sink_input || !PA_SINK_IS_OPENED(pa_sink_get_state(o->sink))) @@ -214,10 +226,10 @@ static void adjust_rates(struct userdata *u) {              r += (uint32_t) ((((double) (o->total_latency - target_latency))/(double)u->adjust_time)*(double)r/PA_USEC_PER_SEC);          if (r < (uint32_t) (base_rate*0.9) || r > (uint32_t) (base_rate*1.1)) { -            pa_log_warn("[%s] sample rates too different, not adjusting (%u vs. %u).", pa_proplist_gets(o->sink_input->proplist, PA_PROP_MEDIA_NAME), base_rate, r); +            pa_log_warn("[%s] sample rates too different, not adjusting (%u vs. %u).", o->sink_input->sink->name, base_rate, r);              pa_sink_input_set_rate(o->sink_input, base_rate);          } else { -            pa_log_info("[%s] new rate is %u Hz; ratio is %0.3f; latency is %0.0f usec.", pa_proplist_gets(o->sink_input->proplist, PA_PROP_MEDIA_NAME), r, (double) r / base_rate, (float) o->total_latency); +            pa_log_info("[%s] new rate is %u Hz; ratio is %0.3f; latency is %0.0f usec.", o->sink_input->sink->name, r, (double) r / base_rate, (float) o->total_latency);              pa_sink_input_set_rate(o->sink_input, r);          }      } @@ -354,18 +366,15 @@ static void render_memblock(struct userdata *u, struct output *o, size_t length)          u->thread_info.counter += chunk.length;          /* OK, let's send this data to the other threads */ -        for (j = u->thread_info.active_outputs; j; j = j->next) - -            /* Send to other outputs, which are not the requesting -             * one */ +        PA_LLIST_FOREACH(j, u->thread_info.active_outputs) { +            if (j == o) +                continue; -            if (j != o) -                pa_asyncmsgq_post(j->inq, PA_MSGOBJECT(j->sink_input), SINK_INPUT_MESSAGE_POST, NULL, 0, &chunk, NULL); +            pa_asyncmsgq_post(j->inq, PA_MSGOBJECT(j->sink_input), SINK_INPUT_MESSAGE_POST, NULL, 0, &chunk, NULL); +        }          /* And place it directly into the requesting output's queue */ -        if (o) -            pa_memblockq_push_align(o->memblockq, &chunk); - +        pa_memblockq_push_align(o->memblockq, &chunk);          pa_memblock_unref(chunk.memblock);      }  } @@ -401,10 +410,18 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk      /* If necessary, get some new data */      request_memblock(o, nbytes); +    /* pa_log("%s q size is %u + %u (%u/%u)", */ +    /*        i->sink->name, */ +    /*        pa_memblockq_get_nblocks(o->memblockq), */ +    /*        pa_memblockq_get_nblocks(i->thread_info.render_memblockq), */ +    /*        pa_memblockq_get_maxrewind(o->memblockq), */ +    /*        pa_memblockq_get_maxrewind(i->thread_info.render_memblockq)); */ +      if (pa_memblockq_peek(o->memblockq, chunk) < 0)          return -1;      pa_memblockq_drop(o->memblockq, chunk->length); +      return 0;  } @@ -439,13 +456,35 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {          return;      pa_atomic_store(&o->max_request, (int) nbytes); -      pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_MAX_REQUEST, NULL, 0, NULL, NULL);  } +/* Called from thread context */ +static void sink_input_update_sink_requested_latency_cb(pa_sink_input *i) { +    struct output *o; +    pa_usec_t c; + +    pa_assert(i); + +    pa_sink_input_assert_ref(i); +    pa_assert_se(o = i->userdata); + +    c = pa_sink_get_requested_latency_within_thread(i->sink); + +    if (c == (pa_usec_t) -1) +        c = i->sink->thread_info.max_latency; + +    if (pa_atomic_load(&o->requested_latency) == (int) c) +        return; + +    pa_atomic_store(&o->requested_latency, (int) c); +    pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_REQUESTED_LATENCY, NULL, 0, NULL, NULL); +} +  /* Called from I/O thread context */  static void sink_input_attach_cb(pa_sink_input *i) {      struct output *o; +    pa_usec_t c;      pa_sink_input_assert_ref(i);      pa_assert_se(o = i->userdata); @@ -454,14 +493,24 @@ static void sink_input_attach_cb(pa_sink_input *i) {      pa_assert(!o->inq_rtpoll_item_read && !o->outq_rtpoll_item_write);      o->inq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read( -            i->sink->rtpoll, +            i->sink->thread_info.rtpoll,              PA_RTPOLL_LATE,  /* This one is not that important, since we check for data in _peek() anyway. */              o->inq);      o->outq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write( -            i->sink->rtpoll, +            i->sink->thread_info.rtpoll,              PA_RTPOLL_EARLY,              o->outq); + +    pa_sink_input_request_rewind(i, 0, FALSE, TRUE, TRUE); + +    pa_atomic_store(&o->max_request, (int) pa_sink_input_get_max_request(i)); + +    c = pa_sink_get_requested_latency_within_thread(i->sink); +    pa_atomic_store(&o->requested_latency, (int) (c == (pa_usec_t) -1 ? 0 : c)); + +    pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_MAX_REQUEST, NULL, 0, NULL, NULL); +    pa_asyncmsgq_post(o->outq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_UPDATE_REQUESTED_LATENCY, NULL, 0, NULL, NULL);  }  /* Called from I/O thread context */ @@ -471,14 +520,15 @@ static void sink_input_detach_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(o = i->userdata); -    /* Shut down the queue from the sink thread to us */ -    pa_assert(o->inq_rtpoll_item_read && o->outq_rtpoll_item_write); - -    pa_rtpoll_item_free(o->inq_rtpoll_item_read); -    o->inq_rtpoll_item_read = NULL; +    if (o->inq_rtpoll_item_read) { +        pa_rtpoll_item_free(o->inq_rtpoll_item_read); +        o->inq_rtpoll_item_read = NULL; +    } -    pa_rtpoll_item_free(o->outq_rtpoll_item_write); -    o->outq_rtpoll_item_write = NULL; +    if (o->outq_rtpoll_item_write) { +        pa_rtpoll_item_free(o->outq_rtpoll_item_write); +        o->outq_rtpoll_item_write = NULL; +    }  }  /* Called from main context */ @@ -492,20 +542,6 @@ static void sink_input_kill_cb(pa_sink_input *i) {      output_free(o);  } -/* Called from IO thread context */ -static void sink_input_state_change_cb(pa_sink_input *i, pa_sink_input_state_t state) { -    struct userdata *u; - -    pa_sink_input_assert_ref(i); -    pa_assert_se(u = i->userdata); - -    /* If we are added for the first time, ask for a rewinding so that -     * we are heard right-away. */ -    if (PA_SINK_INPUT_IS_LINKED(state) && -        i->thread_info.state == PA_SINK_INPUT_INIT) -        pa_sink_input_request_rewind(i, 0, FALSE, TRUE, TRUE); -} -  /* Called from thread context */  static int sink_input_process_msg(pa_msgobject *obj, int code, void *data, int64_t offset, pa_memchunk *chunk) {      struct output *o = PA_SINK_INPUT(obj)->userdata; @@ -536,37 +572,6 @@ static int sink_input_process_msg(pa_msgobject *obj, int code, void *data, int64  }  /* Called from main context */ -static void disable_output(struct output *o) { -    pa_assert(o); - -    if (!o->sink_input) -        return; - -    pa_sink_input_unlink(o->sink_input); -    pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_REMOVE_OUTPUT, o, 0, NULL); -    pa_sink_input_unref(o->sink_input); -    o->sink_input = NULL; -} - -/* Called from main context */ -static void enable_output(struct output *o) { -    pa_assert(o); - -    if (o->sink_input) -        return; - -    if (output_create_sink_input(o) >= 0) { - -        pa_memblockq_flush_write(o->memblockq); - -        pa_sink_input_put(o->sink_input); - -        if (o->userdata->sink && PA_SINK_IS_LINKED(pa_sink_get_state(o->userdata->sink))) -            pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL); -    } -} - -/* Called from main context */  static void suspend(struct userdata *u) {      struct output *o;      uint32_t idx; @@ -574,8 +579,8 @@ static void suspend(struct userdata *u) {      pa_assert(u);      /* Let's suspend by unlinking all streams */ -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) -        disable_output(o); +    PA_IDXSET_FOREACH(o, u->outputs, idx) +        output_disable(o);      pa_log_info("Device suspended...");  } @@ -588,13 +593,8 @@ static void unsuspend(struct userdata *u) {      pa_assert(u);      /* Let's resume */ -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) { - -        pa_sink_suspend(o->sink, FALSE, PA_SUSPEND_IDLE); - -        if (PA_SINK_IS_OPENED(pa_sink_get_state(o->sink))) -            enable_output(o); -    } +    PA_IDXSET_FOREACH(o, u->outputs, idx) +        output_enable(o);      pa_log_info("Resumed successfully...");  } @@ -638,7 +638,13 @@ static void update_max_request(struct userdata *u) {      size_t max_request = 0;      struct output *o; -    for (o = u->thread_info.active_outputs; o; o = o->next) { +    pa_assert(u); +    pa_sink_assert_io_context(u->sink); + +    /* Collects the max_request values of all streams and sets the +     * largest one locally */ + +    PA_LLIST_FOREACH(o, u->thread_info.active_outputs) {          size_t mr = (size_t) pa_atomic_load(&o->max_request);          if (mr > max_request) @@ -651,6 +657,67 @@ static void update_max_request(struct userdata *u) {      pa_sink_set_max_request_within_thread(u->sink, max_request);  } +/* Called from IO context */ +static void update_fixed_latency(struct userdata *u) { +    pa_usec_t fixed_latency = 0; +    struct output *o; + +    pa_assert(u); +    pa_sink_assert_io_context(u->sink); + +    /* Collects the requested_latency values of all streams and sets +     * the largest one as fixed_latency locally */ + +    PA_LLIST_FOREACH(o, u->thread_info.active_outputs) { +        pa_usec_t rl = (size_t) pa_atomic_load(&o->requested_latency); + +        if (rl > fixed_latency) +            fixed_latency = rl; +    } + +    if (fixed_latency <= 0) +        fixed_latency = u->block_usec; + +    pa_sink_set_fixed_latency_within_thread(u->sink, fixed_latency); +} + +/* Called from thread context of the io thread */ +static void output_add_within_thread(struct output *o) { +    pa_assert(o); +    pa_sink_assert_io_context(o->sink); + +    PA_LLIST_PREPEND(struct output, o->userdata->thread_info.active_outputs, o); + +    pa_assert(!o->outq_rtpoll_item_read && !o->inq_rtpoll_item_write); + +    o->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read( +            o->userdata->rtpoll, +            PA_RTPOLL_EARLY-1,  /* This item is very important */ +            o->outq); +    o->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write( +            o->userdata->rtpoll, +            PA_RTPOLL_EARLY, +            o->inq); +} + +/* Called from thread context of the io thread */ +static void output_remove_within_thread(struct output *o) { +    pa_assert(o); +    pa_sink_assert_io_context(o->sink); + +    PA_LLIST_REMOVE(struct output, o->userdata->thread_info.active_outputs, o); + +    if (o->outq_rtpoll_item_read) { +        pa_rtpoll_item_free(o->outq_rtpoll_item_read); +        o->outq_rtpoll_item_read = NULL; +    } + +    if (o->inq_rtpoll_item_write) { +        pa_rtpoll_item_free(o->inq_rtpoll_item_write); +        o->inq_rtpoll_item_write = NULL; +    } +} +  /* Called from thread context of the io thread */  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; @@ -683,42 +750,17 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse              return 0;          } -        case SINK_MESSAGE_ADD_OUTPUT: { -            struct output *op = data; - -            PA_LLIST_PREPEND(struct output, u->thread_info.active_outputs, op); - -            pa_assert(!op->outq_rtpoll_item_read && !op->inq_rtpoll_item_write); - -            op->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read( -                    u->rtpoll, -                    PA_RTPOLL_EARLY-1,  /* This item is very important */ -                    op->outq); -            op->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write( -                    u->rtpoll, -                    PA_RTPOLL_EARLY, -                    op->inq); - +        case SINK_MESSAGE_ADD_OUTPUT: +            output_add_within_thread(data);              update_max_request(u); +            update_fixed_latency(u);              return 0; -        } - -        case SINK_MESSAGE_REMOVE_OUTPUT: { -            struct output *op = data; - -            PA_LLIST_REMOVE(struct output, u->thread_info.active_outputs, op); - -            pa_assert(op->outq_rtpoll_item_read && op->inq_rtpoll_item_write); - -            pa_rtpoll_item_free(op->outq_rtpoll_item_read); -            op->outq_rtpoll_item_read = NULL; - -            pa_rtpoll_item_free(op->inq_rtpoll_item_write); -            op->inq_rtpoll_item_write = NULL; +        case SINK_MESSAGE_REMOVE_OUTPUT: +            output_remove_within_thread(data);              update_max_request(u); +            update_fixed_latency(u);              return 0; -        }          case SINK_MESSAGE_NEED:              render_memblock(u, (struct output*) data, (size_t) offset); @@ -740,10 +782,13 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse          }          case SINK_MESSAGE_UPDATE_MAX_REQUEST: -              update_max_request(u);              break; -    } + +        case SINK_MESSAGE_UPDATE_REQUESTED_LATENCY: +            update_fixed_latency(u); +            break; +}      return pa_sink_process_msg(o, code, data, offset, chunk);  } @@ -756,6 +801,9 @@ static void update_description(struct userdata *u) {      pa_assert(u); +    if (!u->auto_desc) +        return; +      if (pa_idxset_isempty(u->outputs)) {          pa_sink_set_description(u->sink, "Simultaneous output");          return; @@ -763,7 +811,7 @@ static void update_description(struct userdata *u) {      t = pa_xstrdup("Simultaneous output to"); -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) { +    PA_IDXSET_FOREACH(o, u->outputs, idx) {          char *e;          if (first) { @@ -798,7 +846,7 @@ static int output_create_sink_input(struct output *o) {      data.module = o->userdata->module;      data.resample_method = o->userdata->resample_method; -    pa_sink_input_new(&o->sink_input, o->userdata->core, &data, PA_SINK_INPUT_VARIABLE_RATE|PA_SINK_INPUT_DONT_MOVE); +    pa_sink_input_new(&o->sink_input, o->userdata->core, &data, PA_SINK_INPUT_VARIABLE_RATE|PA_SINK_INPUT_DONT_MOVE|PA_SINK_INPUT_NO_CREATE_ON_SUSPEND);      pa_sink_input_new_data_done(&data); @@ -808,9 +856,9 @@ static int output_create_sink_input(struct output *o) {      o->sink_input->parent.process_msg = sink_input_process_msg;      o->sink_input->pop = sink_input_pop_cb;      o->sink_input->process_rewind = sink_input_process_rewind_cb; -    o->sink_input->state_change = sink_input_state_change_cb;      o->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;      o->sink_input->update_max_request = sink_input_update_max_request_cb; +    o->sink_input->update_sink_requested_latency = sink_input_update_sink_requested_latency_cb;      o->sink_input->attach = sink_input_attach_cb;      o->sink_input->detach = sink_input_detach_cb;      o->sink_input->kill = sink_input_kill_cb; @@ -821,22 +869,19 @@ static int output_create_sink_input(struct output *o) {      return 0;  } +/* Called from main context */  static struct output *output_new(struct userdata *u, pa_sink *sink) {      struct output *o; -    pa_sink_state_t state;      pa_assert(u);      pa_assert(sink);      pa_assert(u->sink); -    o = pa_xnew(struct output, 1); +    o = pa_xnew0(struct output, 1);      o->userdata = u;      o->inq = pa_asyncmsgq_new(0);      o->outq = pa_asyncmsgq_new(0); -    o->inq_rtpoll_item_write = o->inq_rtpoll_item_read = NULL; -    o->outq_rtpoll_item_write = o->outq_rtpoll_item_read = NULL;      o->sink = sink; -    o->sink_input = NULL;      o->memblockq = pa_memblockq_new(              0,              MEMBLOCKQ_MAXLENGTH, @@ -846,84 +891,135 @@ static struct output *output_new(struct userdata *u, pa_sink *sink) {              0,              0,              NULL); -    pa_atomic_store(&o->max_request, 0); -    PA_LLIST_INIT(struct output, o);      pa_assert_se(pa_idxset_put(u->outputs, o, NULL) == 0); +    update_description(u); -    state = pa_sink_get_state(u->sink); - -    if (state != PA_SINK_INIT) -        pa_asyncmsgq_send(u->sink->asyncmsgq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL); -    else { -        /* If the sink is not yet started, we need to do the activation ourselves */ -        PA_LLIST_PREPEND(struct output, u->thread_info.active_outputs, o); - -        o->outq_rtpoll_item_read = pa_rtpoll_item_new_asyncmsgq_read( -                u->rtpoll, -                PA_RTPOLL_EARLY-1,  /* This item is very important */ -                o->outq); -        o->inq_rtpoll_item_write = pa_rtpoll_item_new_asyncmsgq_write( -                u->rtpoll, -                PA_RTPOLL_EARLY, -                o->inq); -    } +    return o; +} -    if (PA_SINK_IS_OPENED(state) || state == PA_SINK_INIT) { -        pa_sink_suspend(sink, FALSE, PA_SUSPEND_IDLE); +/* Called from main context */ +static void output_free(struct output *o) { +    pa_assert(o); -        if (PA_SINK_IS_OPENED(pa_sink_get_state(sink))) -            if (output_create_sink_input(o) < 0) -                goto fail; -    } +    output_disable(o); -    update_description(u); +    pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL)); +    update_description(o->userdata); -    return o; +    if (o->inq_rtpoll_item_read) +        pa_rtpoll_item_free(o->inq_rtpoll_item_read); +    if (o->inq_rtpoll_item_write) +        pa_rtpoll_item_free(o->inq_rtpoll_item_write); -fail: +    if (o->outq_rtpoll_item_read) +        pa_rtpoll_item_free(o->outq_rtpoll_item_read); +    if (o->outq_rtpoll_item_write) +        pa_rtpoll_item_free(o->outq_rtpoll_item_write); -    if (o) { -        pa_idxset_remove_by_data(u->outputs, o, NULL); +    if (o->inq) +        pa_asyncmsgq_unref(o->inq); -        if (o->sink_input) { -            pa_sink_input_unlink(o->sink_input); -            pa_sink_input_unref(o->sink_input); -        } +    if (o->outq) +        pa_asyncmsgq_unref(o->outq); + +    if (o->memblockq) +        pa_memblockq_free(o->memblockq); + +    pa_xfree(o); +} + +/* Called from main context */ +static void output_enable(struct output *o) { +    pa_assert(o); + +    if (o->sink_input) +        return; + +    /* This might cause the sink to be resumed. The state change hook +     * of the sink might hence be called from here, which might then +     * cause us to be called in a loop. Make sure that state changes +     * for this output don't cause this loop by setting a flag here */ +    o->ignore_state_change = TRUE; -        if (o->memblockq) -            pa_memblockq_free(o->memblockq); +    if (output_create_sink_input(o) >= 0) { -        if (o->inq) -            pa_asyncmsgq_unref(o->inq); +        if (pa_sink_get_state(o->sink) != PA_SINK_INIT) { -        if (o->outq) -            pa_asyncmsgq_unref(o->outq); +            /* First we register the output. That means that the sink +             * will start to pass data to this output. */ +            pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_ADD_OUTPUT, o, 0, NULL); -        pa_xfree(o); +            /* Then we enable the sink input. That means that the sink +             * is now asked for new data. */ +            pa_sink_input_put(o->sink_input); + +        } else +            /* Hmm the sink is not yet started, do things right here */ +            output_add_within_thread(o);      } -    return NULL; +    o->ignore_state_change = FALSE;  } +/* Called from main context */ +static void output_disable(struct output *o) { +    pa_assert(o); + +    if (!o->sink_input) +        return; + +    /* First we disable the sink input. That means that the sink is +     * not asked for new data anymore  */ +    pa_sink_input_unlink(o->sink_input); + +    /* Then we unregister the output. That means that the sink doesn't +     * pass any further data to this output */ +    pa_asyncmsgq_send(o->userdata->sink->asyncmsgq, PA_MSGOBJECT(o->userdata->sink), SINK_MESSAGE_REMOVE_OUTPUT, o, 0, NULL); + +    /* Now dellocate the stream */ +    pa_sink_input_unref(o->sink_input); +    o->sink_input = NULL; + +    /* Finally, drop all queued data */ +    pa_memblockq_flush_write(o->memblockq); +    pa_asyncmsgq_flush(o->inq, FALSE); +    pa_asyncmsgq_flush(o->outq, FALSE); +} + +/* Called from main context */ +static void output_verify(struct output *o) { +    pa_assert(o); + +    if (PA_SINK_IS_OPENED(pa_sink_get_state(o->userdata->sink))) +        output_enable(o); +    else +        output_disable(o); +} + +/* Called from main context */  static pa_bool_t is_suitable_sink(struct userdata *u, pa_sink *s) {      const char *t;      pa_sink_assert_ref(s); +    if (s == u->sink) +        return FALSE; +      if (!(s->flags & PA_SINK_HARDWARE))          return FALSE; -    if (s == u->sink) +    if (!(s->flags & PA_SINK_LATENCY))          return FALSE;      if ((t = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_CLASS))) -        if (strcmp(t, "sound")) +        if (!pa_streq(t, "sound"))              return FALSE;      return TRUE;  } +/* Called from main context */  static pa_hook_result_t sink_put_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {      struct output *o; @@ -936,18 +1032,17 @@ static pa_hook_result_t sink_put_hook_cb(pa_core *c, pa_sink *s, struct userdata          return PA_HOOK_OK;      pa_log_info("Configuring new sink: %s", s->name); -      if (!(o = output_new(u, s))) {          pa_log("Failed to create sink input on sink '%s'.", s->name);          return PA_HOOK_OK;      } -    if (o->sink_input) -        pa_sink_input_put(o->sink_input); +    output_verify(o);      return PA_HOOK_OK;  } +/* Called from main context */  static struct output* find_output(struct userdata *u, pa_sink *s) {      struct output *o;      uint32_t idx; @@ -958,13 +1053,14 @@ static struct output* find_output(struct userdata *u, pa_sink *s) {      if (u->sink == s)          return NULL; -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) +    PA_IDXSET_FOREACH(o, u->outputs, idx)          if (o->sink == s)              return o;      return NULL;  } +/* Called from main context */  static pa_hook_result_t sink_unlink_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {      struct output *o; @@ -976,26 +1072,25 @@ static pa_hook_result_t sink_unlink_hook_cb(pa_core *c, pa_sink *s, struct userd          return PA_HOOK_OK;      pa_log_info("Unconfiguring sink: %s", s->name); -      output_free(o);      return PA_HOOK_OK;  } +/* Called from main context */  static pa_hook_result_t sink_state_changed_hook_cb(pa_core *c, pa_sink *s, struct userdata* u) {      struct output *o; -    pa_sink_state_t state;      if (!(o = find_output(u, s)))          return PA_HOOK_OK; -    state = pa_sink_get_state(s); - -    if (PA_SINK_IS_OPENED(state) && PA_SINK_IS_OPENED(pa_sink_get_state(u->sink)) && !o->sink_input) -        enable_output(o); +    /* This state change might be triggered because we are creating a +     * stream here, in that case we don't want to create it a second +     * time here and enter a loop */ +    if (o->ignore_state_change) +        return PA_HOOK_OK; -    if (state == PA_SINK_SUSPENDED && o->sink_input) -        disable_output(o); +    output_verify(o);      return PA_HOOK_OK;  } @@ -1025,18 +1120,14 @@ int pa__init(pa_module*m) {          }      } -    m->userdata = u = pa_xnew(struct userdata, 1); +    m->userdata = u = pa_xnew0(struct userdata, 1);      u->core = m->core;      u->module = m; -    u->sink = NULL; -    u->time_event = NULL;      u->adjust_time = DEFAULT_ADJUST_TIME;      u->rtpoll = pa_rtpoll_new();      pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll); -    u->thread = NULL;      u->resample_method = resample_method;      u->outputs = pa_idxset_new(NULL, NULL); -    memset(&u->adjust_timestamp, 0, sizeof(u->adjust_timestamp));      u->sink_put_slot = u->sink_unlink_slot = u->sink_state_changed_slot = NULL;      PA_LLIST_HEAD_INIT(struct output, u->thread_info.active_outputs);      pa_atomic_store(&u->thread_info.running, FALSE); @@ -1061,6 +1152,55 @@ int pa__init(pa_module*m) {      ss = m->core->default_sample_spec;      map = m->core->default_channel_map; + +    /* Check the specified slave sinks for sample_spec and channel_map to use for the combined sink */ +    if (!u->automatic) { +        const char*split_state = NULL; +        char *n = NULL; +        pa_sample_spec slaves_spec; +        pa_channel_map slaves_map; +        pa_bool_t is_first_slave = TRUE; + +        while ((n = pa_split(slaves, ",", &split_state))) { +            pa_sink *slave_sink; + +            if (!(slave_sink = pa_namereg_get(m->core, n, PA_NAMEREG_SINK))) { +                pa_log("Invalid slave sink '%s'", n); +                pa_xfree(n); +                goto fail; +            } + +            pa_xfree(n); + +            if (is_first_slave) { +                slaves_spec = slave_sink->sample_spec; +                slaves_map = slave_sink->channel_map; +                is_first_slave = FALSE; +            } else { +                if (slaves_spec.format != slave_sink->sample_spec.format) +                    slaves_spec.format = PA_SAMPLE_INVALID; + +                if (slaves_spec.rate < slave_sink->sample_spec.rate) +                    slaves_spec.rate = slave_sink->sample_spec.rate; + +                if (!pa_channel_map_equal(&slaves_map, &slave_sink->channel_map)) +                    slaves_spec.channels = 0; +            } +        } + +        if (!is_first_slave) { +            if (slaves_spec.format != PA_SAMPLE_INVALID) +                ss.format = slaves_spec.format; + +            ss.rate = slaves_spec.rate; + +            if (slaves_spec.channels > 0) { +                map = slaves_map; +                ss.channels = slaves_map.channels; +            } +        } +    } +      if ((pa_modargs_get_sample_spec_and_channel_map(ma, &ss, &map, PA_CHANNEL_MAP_DEFAULT) < 0)) {          pa_log("Invalid sample specification.");          goto fail; @@ -1073,7 +1213,6 @@ 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_sink_new_data_set_channel_map(&data, &map); -    pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output");      pa_proplist_sets(data.proplist, PA_PROP_DEVICE_CLASS, "filter");      if (slaves) @@ -1085,6 +1224,13 @@ int pa__init(pa_module*m) {          goto fail;      } +    /* Check proplist for a description & fill in a default value if not */ +    u->auto_desc = FALSE; +    if (NULL == pa_proplist_gets(data.proplist, PA_PROP_DEVICE_DESCRIPTION)) { +        u->auto_desc = TRUE; +        pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, "Simultaneous Output"); +    } +      u->sink = pa_sink_new(m->core, &data, PA_SINK_LATENCY);      pa_sink_new_data_done(&data); @@ -1138,7 +1284,7 @@ int pa__init(pa_module*m) {          /* We're in automatic mode, we add every sink that matches our needs  */ -        for (s = pa_idxset_first(m->core->sinks, &idx); s; s = pa_idxset_next(m->core->sinks, &idx)) { +        PA_IDXSET_FOREACH(s, m->core->sinks, idx) {              if (!is_suitable_sink(u, s))                  continue; @@ -1163,9 +1309,8 @@ int pa__init(pa_module*m) {      /* Activate the sink and the sink inputs */      pa_sink_put(u->sink); -    for (o = pa_idxset_first(u->outputs, &idx); o; o = pa_idxset_next(u->outputs, &idx)) -        if (o->sink_input) -            pa_sink_input_put(o->sink_input); +    PA_IDXSET_FOREACH(o, u->outputs, idx) +        output_verify(o);      if (u->adjust_time > 0)          u->time_event = pa_core_rttime_new(m->core, pa_rtclock_now() + u->adjust_time * PA_USEC_PER_SEC, time_callback, u); @@ -1184,37 +1329,6 @@ fail:      return -1;  } -static void output_free(struct output *o) { -    pa_assert(o); - -    disable_output(o); - -    pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL)); - -    update_description(o->userdata); - -    if (o->inq_rtpoll_item_read) -        pa_rtpoll_item_free(o->inq_rtpoll_item_read); -    if (o->inq_rtpoll_item_write) -        pa_rtpoll_item_free(o->inq_rtpoll_item_write); - -    if (o->outq_rtpoll_item_read) -        pa_rtpoll_item_free(o->outq_rtpoll_item_read); -    if (o->outq_rtpoll_item_write) -        pa_rtpoll_item_free(o->outq_rtpoll_item_write); - -    if (o->inq) -        pa_asyncmsgq_unref(o->inq); - -    if (o->outq) -        pa_asyncmsgq_unref(o->outq); - -    if (o->memblockq) -        pa_memblockq_free(o->memblockq); - -    pa_xfree(o); -} -  void pa__done(pa_module*m) {      struct userdata *u;      struct output *o; diff --git a/src/modules/module-detect.c b/src/modules/module-detect.c index 18479df3..956fe4c5 100644 --- a/src/modules/module-detect.c +++ b/src/modules/module-detect.c @@ -119,7 +119,7 @@ static int detect_alsa(pa_core *c, int just_one) {  }  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_OUTPUT  static int detect_oss(pa_core *c, int just_one) {      FILE *f;      int n = 0, b = 0; @@ -240,7 +240,7 @@ int pa__init(pa_module*m) {  #ifdef HAVE_ALSA      if ((n = detect_alsa(m->core, just_one)) <= 0)  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_OUTPUT      if ((n = detect_oss(m->core, just_one)) <= 0)  #endif  #ifdef HAVE_SOLARIS diff --git a/src/modules/module-hal-detect-compat.c b/src/modules/module-hal-detect-compat.c new file mode 100644 index 00000000..14cf8143 --- /dev/null +++ b/src/modules/module-hal-detect-compat.c @@ -0,0 +1,84 @@ +/*** +  This file is part of PulseAudio. + +  Copyright 2009 Lennart Poettering + +  PulseAudio is free software; you can redistribute it and/or modify +  it under the terms of the GNU Lesser General Public License as published +  by the Free Software Foundation; either version 2.1 of the License, +  or (at your option) any later version. + +  PulseAudio is distributed in the hope that it will be useful, but +  WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +  General Public License for more details. + +  You should have received a copy of the GNU Lesser General Public License +  along with PulseAudio; if not, write to the Free Software +  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +  USA. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <pulse/xmalloc.h> + +#include <pulsecore/module.h> +#include <pulsecore/modargs.h> +#include <pulsecore/log.h> +#include <pulsecore/core-util.h> + +#include "module-hal-detect-symdef.h" + +PA_MODULE_AUTHOR("Lennart Poettering"); +PA_MODULE_DESCRIPTION("Compatibility module"); +PA_MODULE_VERSION(PACKAGE_VERSION); +PA_MODULE_LOAD_ONCE(TRUE); +PA_MODULE_DEPRECATED("Please use module-udev-detect instead of module-hal-detect!"); + +static const char* const valid_modargs[] = { +    "api", +    "tsched", +    "subdevices", +    NULL, +}; + +int pa__init(pa_module*m) { +    pa_modargs *ma = NULL; +    pa_bool_t tsched = TRUE; +    pa_module *n; +    char *t; + +    pa_assert(m); + +    if (!(ma = pa_modargs_new(m->argument, valid_modargs))) { +        pa_log("Failed to parse module arguments"); +        goto fail; +    } + +    if (pa_modargs_get_value_boolean(ma, "tsched", &tsched) < 0) { +        pa_log("tsched= expects boolean arguments"); +        goto fail; +    } + +    pa_log_warn("We will now load module-udev-detect. Please make sure to remove module-hal-detect from your configuration."); + +    t = pa_sprintf_malloc("tsched=%s", pa_yes_no(tsched)); +    n = pa_module_load(m->core, "module-udev-detect", t); +    pa_xfree(t); + +    if (n) +        pa_module_unload_request(m, TRUE); + +    pa_modargs_free(ma); + +    return n ? 0 : -1; + +fail: +    if (ma) +        pa_modargs_free(ma); + +    return -1; +} diff --git a/src/modules/module-hal-detect.c b/src/modules/module-hal-detect.c index 658b3e55..ec370d61 100644 --- a/src/modules/module-hal-detect.c +++ b/src/modules/module-hal-detect.c @@ -55,14 +55,16 @@ PA_MODULE_AUTHOR("Shahms King");  PA_MODULE_DESCRIPTION("Detect available audio hardware and load matching drivers");  PA_MODULE_VERSION(PACKAGE_VERSION);  PA_MODULE_LOAD_ONCE(TRUE); -#if defined(HAVE_ALSA) && defined(HAVE_OSS) +#if defined(HAVE_ALSA) && defined(HAVE_OSS_OUTPUT)  PA_MODULE_USAGE("api=<alsa or oss> " -                "tsched=<enable system timer based scheduling mode?>"); +                "tsched=<enable system timer based scheduling mode?>" +                "subdevices=<init all subdevices>");  #elif defined(HAVE_ALSA)  PA_MODULE_USAGE("api=<alsa> "                  "tsched=<enable system timer based scheduling mode?>"); -#elif defined(HAVE_OSS) -PA_MODULE_USAGE("api=<oss>"); +#elif defined(HAVE_OSS_OUTPUT) +PA_MODULE_USAGE("api=<oss>" +                "subdevices=<init all subdevices>");  #endif  PA_MODULE_DEPRECATED("Please use module-udev-detect instead of module-hal-detect!"); @@ -82,6 +84,9 @@ struct userdata {  #ifdef HAVE_ALSA      pa_bool_t use_tsched;  #endif +#ifdef HAVE_OSS_OUTPUT +    pa_bool_t init_subdevs; +#endif  };  #define CAPABILITY_ALSA "alsa" @@ -92,6 +97,9 @@ static const char* const valid_modargs[] = {  #ifdef HAVE_ALSA      "tsched",  #endif +#ifdef HAVE_OSS_OUTPUT +    "subdevices", +#endif      NULL  }; @@ -262,9 +270,9 @@ fail:  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_OUTPUT -static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi) { +static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi, pa_bool_t init_subdevices) {      char *class = NULL, *dev = NULL, *e;      int device;      pa_bool_t r = FALSE; @@ -294,7 +302,7 @@ static pa_bool_t hal_oss_device_is_pcm(LibHalContext *context, const char *udi)      /* We only care for the main device */      device = libhal_device_get_property_int(context, udi, "oss.device", &error); -    if (dbus_error_is_set(&error) || device != 0) +    if (dbus_error_is_set(&error) || (device != 0 && init_subdevices == FALSE))          goto finish;      r = TRUE; @@ -324,7 +332,7 @@ static int hal_device_load_oss(struct userdata *u, const char *udi, struct devic      pa_assert(d);      /* We only care for OSS PCM devices */ -    if (!hal_oss_device_is_pcm(u->context, udi)) +    if (!hal_oss_device_is_pcm(u->context, udi, u->init_subdevs))          goto fail;      /* We store only one entry per card, hence we look for the originating device */ @@ -394,7 +402,7 @@ static struct device* hal_device_add(struct userdata *u, const char *udi) {      if (pa_streq(u->capability, CAPABILITY_ALSA))          r = hal_device_load_alsa(u, udi,  d);  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_OUTPUT      if (pa_streq(u->capability, CAPABILITY_OSS))          r = hal_device_load_oss(u, udi, d);  #endif @@ -753,7 +761,7 @@ int pa__init(pa_module*m) {      api = pa_modargs_get_value(ma, "api", "oss");  #endif -#ifdef HAVE_OSS +#ifdef HAVE_OSS_OUTPUT      if (pa_streq(api, "oss"))          u->capability = CAPABILITY_OSS;  #endif @@ -763,6 +771,13 @@ int pa__init(pa_module*m) {          goto fail;      } +#ifdef HAVE_OSS_OUTPUT +    if (pa_modargs_get_value_boolean(ma, "subdevices", &u->init_subdevs) < 0) { +        pa_log("Failed to parse subdevices= argument."); +        goto fail; +    } +#endif +      if (!(u->connection = pa_dbus_bus_get(m->core, DBUS_BUS_SYSTEM, &error)) || dbus_error_is_set(&error)) {          pa_log_error("Unable to contact DBUS system bus: %s: %s", error.name, error.message);          goto fail; diff --git a/src/modules/module-intended-roles.c b/src/modules/module-intended-roles.c index c697209a..b9924dfd 100644 --- a/src/modules/module-intended-roles.c +++ b/src/modules/module-intended-roles.c @@ -127,6 +127,9 @@ static pa_hook_result_t sink_input_new_hook_callback(pa_core *c, pa_sink_input_n          if (s == def)              continue; +        if (!PA_SINK_IS_LINKED(pa_sink_get_state(s))) +            continue; +          if (role_match(s->proplist, role)) {              new_data->sink = s;              new_data->save_sink = FALSE; @@ -173,6 +176,9 @@ static pa_hook_result_t source_output_new_hook_callback(pa_core *c, pa_source_ou          if (s == def)              continue; +        if (!PA_SOURCE_IS_LINKED(pa_source_get_state(s))) +            continue; +          if (role_match(s->proplist, role)) {              new_data->source = s;              new_data->save_source = FALSE; @@ -201,6 +207,17 @@ static pa_hook_result_t sink_put_hook_callback(pa_core *c, pa_sink *sink, struct          if (si->save_sink)              continue; +        /* Skip this if it is already in the process of being moved +         * anyway */ +        if (!si->sink) +            continue; + +        /* It might happen that a stream and a sink are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (!PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(si))) +            continue; +          if (!(role = pa_proplist_gets(si->proplist, PA_PROP_MEDIA_ROLE)))              continue; @@ -237,6 +254,17 @@ static pa_hook_result_t source_put_hook_callback(pa_core *c, pa_source *source,          if (so->direct_on_input)              continue; +        /* Skip this if it is already in the process of being moved +         * anyway */ +        if (!so->source) +            continue; + +        /* It might happen that a stream and a source are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (!PA_SOURCE_OUTPUT_IS_LINKED(pa_source_output_get_state(so))) +            continue; +          if (!(role = pa_proplist_gets(so->proplist, PA_PROP_MEDIA_ROLE)))              continue; @@ -275,24 +303,28 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str          uint32_t jdx;          pa_sink *d; +        if (!si->sink) +            continue; +          if (!(role = pa_proplist_gets(si->proplist, PA_PROP_MEDIA_ROLE)))              continue;          /* Would the default sink fit? If so, let's use it */ -        if (def != sink && role_match(def->proplist, role)) { -            pa_sink_input_move_to(si, def, FALSE); -            continue; -        } +        if (def != sink && role_match(def->proplist, role)) +            if (pa_sink_input_move_to(si, def, FALSE) >= 0) +                continue;          /* Try to find some other fitting sink */          PA_IDXSET_FOREACH(d, c->sinks, jdx) {              if (d == def || d == sink)                  continue; -            if (role_match(d->proplist, role)) { -                pa_sink_input_move_to(si, d, FALSE); -                break; -            } +            if (!PA_SINK_IS_LINKED(pa_sink_get_state(d))) +                continue; + +            if (role_match(d->proplist, role)) +                if (pa_sink_input_move_to(si, d, FALSE) >= 0) +                    break;          }      } @@ -325,6 +357,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc          if (so->direct_on_input)              continue; +        if (!so->source) +            continue; +          if (!(role = pa_proplist_gets(so->proplist, PA_PROP_MEDIA_ROLE)))              continue; @@ -339,6 +374,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc              if (d == def || d == source)                  continue; +            if (!PA_SOURCE_IS_LINKED(pa_source_get_state(d))) +                continue; +              if (role_match(d->proplist, role) && !source->monitor_of == !d->monitor_of) {                  pa_source_output_move_to(so, d, FALSE);                  break; diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c index 21f4a8f1..f2d53d00 100644 --- a/src/modules/module-ladspa-sink.c +++ b/src/modules/module-ladspa-sink.c @@ -64,10 +64,9 @@ PA_MODULE_USAGE(  #define MEMBLOCKQ_MAXLENGTH (16*1024*1024)  struct userdata { -    pa_core *core;      pa_module *module; -    pa_sink *sink, *master; +    pa_sink *sink;      pa_sink_input *sink_input;      const LADSPA_Descriptor *descriptor; @@ -105,19 +104,26 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse      switch (code) { -        case PA_SINK_MESSAGE_GET_LATENCY: { -            pa_usec_t usec = 0; +        case PA_SINK_MESSAGE_GET_LATENCY: -            /* Get the latency of the master sink */ -            if (PA_MSGOBJECT(u->master)->process_msg(PA_MSGOBJECT(u->master), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0) -                usec = 0; +            /* The sink is _put() before the sink input is, so let's +             * make sure we don't access it in that time. Also, the +             * sink input is first shut down, the sink second. */ +            if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +                !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { +                *((pa_usec_t*) data) = 0; +                return 0; +            } + +            *((pa_usec_t*) data) = -            /* Add the latency internal to our sink input on top */ -            usec += pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->master->sample_spec); +                /* Get the latency of the master sink */ +                pa_sink_get_latency_within_thread(u->sink_input->sink) + + +                /* Add the latency internal to our sink input on top */ +                pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->sink_input->sink->sample_spec); -            *((pa_usec_t*) data) = usec;              return 0; -        }      }      return pa_sink_process_msg(o, code, data, offset, chunk); @@ -130,12 +136,11 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); -    if (PA_SINK_IS_LINKED(state) && -        u->sink_input && -        PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input))) - -        pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED); +    if (!PA_SINK_IS_LINKED(state) || +        !PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input))) +        return 0; +    pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);      return 0;  } @@ -146,6 +151,10 @@ static void sink_request_rewind(pa_sink *s) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); +    if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +        !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) +        return; +      /* Just hand this one over to the master sink */      pa_sink_input_request_rewind(u->sink_input, s->thread_info.rewind_nbytes + pa_memblockq_get_length(u->memblockq), TRUE, FALSE, FALSE);  } @@ -157,6 +166,10 @@ static void sink_update_requested_latency(pa_sink *s) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); +    if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +        !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) +        return; +      /* Just hand this one over to the master sink */      pa_sink_input_set_requested_latency_within_thread(              u->sink_input, @@ -175,8 +188,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk      pa_assert(chunk);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state)) -        return -1; +    /* Hmm, process any rewind request that might be queued up */ +    pa_sink_process_rewind(u->sink, 0);      while (pa_memblockq_peek(u->memblockq, &tchunk) < 0) {          pa_memchunk nchunk; @@ -225,9 +238,6 @@ static void sink_input_process_rewind_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state)) -        return; -      if (u->sink->thread_info.rewind_nbytes > 0) {          size_t max_rewrite; @@ -263,9 +273,6 @@ static void sink_input_update_max_rewind_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_memblockq_set_maxrewind(u->memblockq, nbytes);      pa_sink_set_max_rewind_within_thread(u->sink, nbytes);  } @@ -277,9 +284,6 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_sink_set_max_request_within_thread(u->sink, nbytes);  } @@ -290,24 +294,28 @@ static void sink_input_update_sink_latency_range_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);  }  /* Called from I/O thread context */ -static void sink_input_detach_cb(pa_sink_input *i) { +static void sink_input_update_sink_fixed_latency_cb(pa_sink_input *i) {      struct userdata *u;      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; +    pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency); +} + +/* Called from I/O thread context */ +static void sink_input_detach_cb(pa_sink_input *i) { +    struct userdata *u; + +    pa_sink_input_assert_ref(i); +    pa_assert_se(u = i->userdata);      pa_sink_detach_within_thread(u->sink); -    pa_sink_set_asyncmsgq(u->sink, NULL); +      pa_sink_set_rtpoll(u->sink, NULL);  } @@ -318,14 +326,13 @@ static void sink_input_attach_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; +    pa_sink_set_rtpoll(u->sink, i->sink->thread_info.rtpoll); +    pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency); +    pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency); +    pa_sink_set_max_request_within_thread(u->sink, pa_sink_input_get_max_request(i)); +    pa_sink_set_max_rewind_within_thread(u->sink, pa_sink_input_get_max_rewind(i)); -    pa_sink_set_asyncmsgq(u->sink, i->sink->asyncmsgq); -    pa_sink_set_rtpoll(u->sink, i->sink->rtpoll);      pa_sink_attach_within_thread(u->sink); - -    pa_sink_set_latency_range_within_thread(u->sink, u->master->thread_info.min_latency, u->master->thread_info.max_latency);  }  /* Called from main context */ @@ -335,14 +342,18 @@ static void sink_input_kill_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    pa_sink_unlink(u->sink); +    /* The order here matters! We first kill the sink input, followed +     * by the sink. That means the sink callbacks must be protected +     * against an unconnected sink input! */      pa_sink_input_unlink(u->sink_input); +    pa_sink_unlink(u->sink); -    pa_sink_unref(u->sink); -    u->sink = NULL;      pa_sink_input_unref(u->sink_input);      u->sink_input = NULL; +    pa_sink_unref(u->sink); +    u->sink = NULL; +      pa_module_unload_request(u->module, TRUE);  } @@ -372,6 +383,17 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) {      return u->sink != dest;  } +/* Called from main context */ +static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) { +    struct userdata *u; + +    pa_sink_input_assert_ref(i); +    pa_assert_se(u = i->userdata); + +    pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); +    pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); +} +  int pa__init(pa_module*m) {      struct userdata *u;      pa_sample_spec ss; @@ -392,7 +414,7 @@ int pa__init(pa_module*m) {      pa_assert(m); -    pa_assert(sizeof(LADSPA_Data) == sizeof(float)); +    pa_assert_cc(sizeof(LADSPA_Data) == sizeof(float));      if (!(ma = pa_modargs_new(m->argument, valid_modargs))) {          pa_log("Failed to parse module arguments."); @@ -425,12 +447,8 @@ int pa__init(pa_module*m) {      cdata = pa_modargs_get_value(ma, "control", NULL);      u = pa_xnew0(struct userdata, 1); -    u->core = m->core;      u->module = m;      m->userdata = u; -    u->master = master; -    u->sink = NULL; -    u->sink_input = NULL;      u->memblockq = pa_memblockq_new(0, MEMBLOCKQ_MAXLENGTH, 0, pa_frame_size(&ss), 1, 1, 0, NULL);      if (!(e = getenv("LADSPA_PATH"))) @@ -694,11 +712,10 @@ int pa__init(pa_module*m) {      sink_data.module = m;      if (!(sink_data.name = pa_xstrdup(pa_modargs_get_value(ma, "sink_name", NULL))))          sink_data.name = pa_sprintf_malloc("%s.ladspa", master->name); -    sink_data.namereg_fail = FALSE;      pa_sink_new_data_set_sample_spec(&sink_data, &ss);      pa_sink_new_data_set_channel_map(&sink_data, &map);      z = pa_proplist_gets(master->proplist, PA_PROP_DEVICE_DESCRIPTION); -    pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "LADSPA Plugin %s on %s", label, z ? z : master->name); +    pa_proplist_setf(sink_data.proplist, PA_PROP_DEVICE_DESCRIPTION, "LADSPA Plugin %s on %s", d->Name, z ? z : master->name);      pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_MASTER_DEVICE, master->name);      pa_proplist_sets(sink_data.proplist, PA_PROP_DEVICE_CLASS, "filter");      pa_proplist_sets(sink_data.proplist, "device.ladspa.module", plugin); @@ -714,7 +731,7 @@ int pa__init(pa_module*m) {          goto fail;      } -    u->sink = pa_sink_new(m->core, &sink_data, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY); +    u->sink = pa_sink_new(m->core, &sink_data, master->flags & (PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY));      pa_sink_new_data_done(&sink_data);      if (!u->sink) { @@ -729,19 +746,18 @@ int pa__init(pa_module*m) {      u->sink->userdata = u;      pa_sink_set_asyncmsgq(u->sink, master->asyncmsgq); -    pa_sink_set_rtpoll(u->sink, master->rtpoll);      /* Create sink input */      pa_sink_input_new_data_init(&sink_input_data);      sink_input_data.driver = __FILE__;      sink_input_data.module = m; -    sink_input_data.sink = u->master; +    sink_input_data.sink = master;      pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_NAME, "LADSPA Stream");      pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_ROLE, "filter");      pa_sink_input_new_data_set_sample_spec(&sink_input_data, &ss);      pa_sink_input_new_data_set_channel_map(&sink_input_data, &map); -    pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, PA_SINK_INPUT_DONT_MOVE); +    pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, 0);      pa_sink_input_new_data_done(&sink_input_data);      if (!u->sink_input) @@ -752,11 +768,13 @@ int pa__init(pa_module*m) {      u->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;      u->sink_input->update_max_request = sink_input_update_max_request_cb;      u->sink_input->update_sink_latency_range = sink_input_update_sink_latency_range_cb; +    u->sink_input->update_sink_fixed_latency = sink_input_update_sink_fixed_latency_cb;      u->sink_input->kill = sink_input_kill_cb;      u->sink_input->attach = sink_input_attach_cb;      u->sink_input->detach = sink_input_detach_cb;      u->sink_input->state_change = sink_input_state_change_cb;      u->sink_input->may_move_to = sink_input_may_move_to_cb; +    u->sink_input->moving = sink_input_moving_cb;      u->sink_input->userdata = u;      pa_sink_put(u->sink); @@ -797,15 +815,20 @@ void pa__done(pa_module*m) {      if (!(u = m->userdata))          return; -    if (u->sink) { -        pa_sink_unlink(u->sink); -        pa_sink_unref(u->sink); -    } +    /* See comments in sink_input_kill_cb() above regarding +     * destruction order! */ -    if (u->sink_input) { +    if (u->sink_input)          pa_sink_input_unlink(u->sink_input); + +    if (u->sink) +        pa_sink_unlink(u->sink); + +    if (u->sink_input)          pa_sink_input_unref(u->sink_input); -    } + +    if (u->sink) +        pa_sink_unref(u->sink);      for (c = 0; c < u->channels; c++)          if (u->handle[c]) { diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c index 8a7dc846..9c169327 100644 --- a/src/modules/module-pipe-sink.c +++ b/src/modules/module-pipe-sink.c @@ -122,7 +122,7 @@ static int process_render(struct userdata *u) {      pa_assert(u);      if (u->memchunk.length <= 0) -        pa_sink_render(u->sink, PIPE_BUF, &u->memchunk); +        pa_sink_render(u->sink, pa_pipe_buf(u->fd), &u->memchunk);      pa_assert(u->memchunk.length > 0); @@ -299,8 +299,8 @@ int pa__init(pa_module*m) {      pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);      pa_sink_set_rtpoll(u->sink, u->rtpoll); -    pa_sink_set_max_request(u->sink, PIPE_BUF); -    pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(PIPE_BUF, &u->sink->sample_spec)); +    pa_sink_set_max_request(u->sink, pa_pipe_buf(u->fd)); +    pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(pa_pipe_buf(u->fd), &u->sink->sample_spec));      u->rtpoll_item = pa_rtpoll_item_new(u->rtpoll, PA_RTPOLL_NEVER, 1);      pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL); diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c index e5609fb5..49104f8d 100644 --- a/src/modules/module-pipe-source.c +++ b/src/modules/module-pipe-source.c @@ -142,7 +142,7 @@ static void thread_func(void *userdata) {              void *p;              if (!u->memchunk.memblock) { -                u->memchunk.memblock = pa_memblock_new(u->core->mempool, PIPE_BUF); +                u->memchunk.memblock = pa_memblock_new(u->core->mempool, pa_pipe_buf(u->fd));                  u->memchunk.index = u->memchunk.length = 0;              } diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c index 119f5b9f..0b4fdc9b 100644 --- a/src/modules/module-remap-sink.c +++ b/src/modules/module-remap-sink.c @@ -1,7 +1,7 @@  /***    This file is part of PulseAudio. -  Copyright 2004-2008 Lennart Poettering +  Copyright 2004-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 @@ -48,16 +48,15 @@ PA_MODULE_USAGE(          "master=<name of sink to remap> "          "master_channel_map=<channel map> "          "format=<sample format> " -        "channels=<number of channels> "          "rate=<sample rate> " +        "channels=<number of channels> "          "channel_map=<channel map> "          "remix=<remix channels?>");  struct userdata { -    pa_core *core;      pa_module *module; -    pa_sink *sink, *master; +    pa_sink *sink;      pa_sink_input *sink_input;  }; @@ -80,19 +79,24 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse      switch (code) { -        case PA_SINK_MESSAGE_GET_LATENCY: { -            pa_usec_t usec = 0; +        case PA_SINK_MESSAGE_GET_LATENCY: -            /* Get the latency of the master sink */ -            if (PA_MSGOBJECT(u->master)->process_msg(PA_MSGOBJECT(u->master), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0) -                usec = 0; +            /* The sink is _put() before the sink input is, so let's +             * make sure we don't access it yet */ +            if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +                !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { +                *((pa_usec_t*) data) = 0; +                return 0; +            } -            /* Add the latency internal to our sink input on top */ -            usec += pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->master->sample_spec); +            *((pa_usec_t*) data) = +                /* Get the latency of the master sink */ +                pa_sink_get_latency_within_thread(u->sink_input->sink) + + +                /* Add the latency internal to our sink input on top */ +                pa_bytes_to_usec(pa_memblockq_get_length(u->sink_input->thread_info.render_memblockq), &u->sink_input->sink->sample_spec); -            *((pa_usec_t*) data) = usec;              return 0; -        }      }      return pa_sink_process_msg(o, code, data, offset, chunk); @@ -105,12 +109,11 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); -    if (PA_SINK_IS_LINKED(state) && -        u->sink_input && -        PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input))) - -        pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED); +    if (!PA_SINK_IS_LINKED(state) || +        !PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(u->sink_input))) +        return 0; +    pa_sink_input_cork(u->sink_input, state == PA_SINK_SUSPENDED);      return 0;  } @@ -121,6 +124,10 @@ static void sink_request_rewind(pa_sink *s) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); +    if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +        !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) +        return; +      pa_sink_input_request_rewind(u->sink_input, s->thread_info.rewind_nbytes, TRUE, FALSE, FALSE);  } @@ -131,6 +138,10 @@ static void sink_update_requested_latency(pa_sink *s) {      pa_sink_assert_ref(s);      pa_assert_se(u = s->userdata); +    if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || +        !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) +        return; +      /* Just hand this one over to the master sink */      pa_sink_input_set_requested_latency_within_thread(              u->sink_input, @@ -145,8 +156,8 @@ static int sink_input_pop_cb(pa_sink_input *i, size_t nbytes, pa_memchunk *chunk      pa_assert(chunk);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state)) -        return -1; +    /* Hmm, process any rewind request that might be queued up */ +    pa_sink_process_rewind(u->sink, 0);      pa_sink_render(u->sink, nbytes, chunk);      return 0; @@ -160,9 +171,6 @@ static void sink_input_process_rewind_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_OPENED(u->sink->thread_info.state)) -        return; -      if (u->sink->thread_info.rewind_nbytes > 0) {          amount = PA_MIN(u->sink->thread_info.rewind_nbytes, nbytes);          u->sink->thread_info.rewind_nbytes = 0; @@ -178,9 +186,6 @@ static void sink_input_update_max_rewind_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_sink_set_max_rewind_within_thread(u->sink, nbytes);  } @@ -191,9 +196,6 @@ static void sink_input_update_max_request_cb(pa_sink_input *i, size_t nbytes) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_sink_set_max_request_within_thread(u->sink, nbytes);  } @@ -204,24 +206,28 @@ static void sink_input_update_sink_latency_range_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; -      pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);  }  /* Called from I/O thread context */ -static void sink_input_detach_cb(pa_sink_input *i) { +static void sink_input_update_sink_fixed_latency_cb(pa_sink_input *i) {      struct userdata *u;      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; +    pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency); +} + +/* Called from I/O thread context */ +static void sink_input_detach_cb(pa_sink_input *i) { +    struct userdata *u; + +    pa_sink_input_assert_ref(i); +    pa_assert_se(u = i->userdata);      pa_sink_detach_within_thread(u->sink); -    pa_sink_set_asyncmsgq(u->sink, NULL); +      pa_sink_set_rtpoll(u->sink, NULL);  } @@ -232,14 +238,13 @@ static void sink_input_attach_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    if (!u->sink || !PA_SINK_IS_LINKED(u->sink->thread_info.state)) -        return; +    pa_sink_set_rtpoll(u->sink, i->sink->thread_info.rtpoll); +    pa_sink_set_latency_range_within_thread(u->sink, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency); +    pa_sink_set_fixed_latency_within_thread(u->sink, i->sink->thread_info.fixed_latency); +    pa_sink_set_max_request_within_thread(u->sink, pa_sink_input_get_max_request(i)); +    pa_sink_set_max_rewind_within_thread(u->sink, pa_sink_input_get_max_rewind(i)); -    pa_sink_set_asyncmsgq(u->sink, i->sink->asyncmsgq); -    pa_sink_set_rtpoll(u->sink, i->sink->rtpoll);      pa_sink_attach_within_thread(u->sink); - -    pa_sink_set_latency_range_within_thread(u->sink, u->master->thread_info.min_latency, u->master->thread_info.max_latency);  }  /* Called from main context */ @@ -249,14 +254,18 @@ static void sink_input_kill_cb(pa_sink_input *i) {      pa_sink_input_assert_ref(i);      pa_assert_se(u = i->userdata); -    pa_sink_unlink(u->sink); +    /* The order here matters! We first kill the sink input, followed +     * by the sink. That means the sink callbacks must be protected +     * against an unconnected sink input! */      pa_sink_input_unlink(u->sink_input); +    pa_sink_unlink(u->sink); -    pa_sink_unref(u->sink); -    u->sink = NULL;      pa_sink_input_unref(u->sink_input);      u->sink_input = NULL; +    pa_sink_unref(u->sink); +    u->sink = NULL; +      pa_module_unload_request(u->module, TRUE);  } @@ -286,6 +295,17 @@ static pa_bool_t sink_input_may_move_to_cb(pa_sink_input *i, pa_sink *dest) {      return u->sink != dest;  } +/* Called from main context */ +static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) { +    struct userdata *u; + +    pa_sink_input_assert_ref(i); +    pa_assert_se(u = i->userdata); + +    pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); +    pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); +} +  int pa__init(pa_module*m) {      struct userdata *u;      pa_sample_spec ss; @@ -336,12 +356,8 @@ int pa__init(pa_module*m) {      }      u = pa_xnew0(struct userdata, 1); -    u->core = m->core;      u->module = m;      m->userdata = u; -    u->master = master; -    u->sink = NULL; -    u->sink_input = NULL;      /* Create sink */      pa_sink_new_data_init(&sink_data); @@ -362,7 +378,7 @@ int pa__init(pa_module*m) {          goto fail;      } -    u->sink = pa_sink_new(m->core, &sink_data, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY); +    u->sink = pa_sink_new(m->core, &sink_data, master->flags & (PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY));      pa_sink_new_data_done(&sink_data);      if (!u->sink) { @@ -377,19 +393,18 @@ int pa__init(pa_module*m) {      u->sink->userdata = u;      pa_sink_set_asyncmsgq(u->sink, master->asyncmsgq); -    pa_sink_set_rtpoll(u->sink, master->rtpoll);      /* Create sink input */      pa_sink_input_new_data_init(&sink_input_data);      sink_input_data.driver = __FILE__;      sink_input_data.module = m; -    sink_input_data.sink = u->master; +    sink_input_data.sink = master;      pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_NAME, "Remapped Stream");      pa_proplist_sets(sink_input_data.proplist, PA_PROP_MEDIA_ROLE, "filter");      pa_sink_input_new_data_set_sample_spec(&sink_input_data, &ss);      pa_sink_input_new_data_set_channel_map(&sink_input_data, &stream_map); -    pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, PA_SINK_INPUT_DONT_MOVE | (remix ? 0 : PA_SINK_INPUT_NO_REMIX)); +    pa_sink_input_new(&u->sink_input, m->core, &sink_input_data, (remix ? 0 : PA_SINK_INPUT_NO_REMIX));      pa_sink_input_new_data_done(&sink_input_data);      if (!u->sink_input) @@ -400,11 +415,13 @@ int pa__init(pa_module*m) {      u->sink_input->update_max_rewind = sink_input_update_max_rewind_cb;      u->sink_input->update_max_request = sink_input_update_max_request_cb;      u->sink_input->update_sink_latency_range = sink_input_update_sink_latency_range_cb; +    u->sink_input->update_sink_fixed_latency = sink_input_update_sink_fixed_latency_cb;      u->sink_input->attach = sink_input_attach_cb;      u->sink_input->detach = sink_input_detach_cb;      u->sink_input->kill = sink_input_kill_cb;      u->sink_input->state_change = sink_input_state_change_cb;      u->sink_input->may_move_to = sink_input_may_move_to_cb; +    u->sink_input->moving = sink_input_moving_cb;      u->sink_input->userdata = u;      pa_sink_put(u->sink); @@ -440,15 +457,20 @@ void pa__done(pa_module*m) {      if (!(u = m->userdata))          return; -    if (u->sink) { -        pa_sink_unlink(u->sink); -        pa_sink_unref(u->sink); -    } +    /* See comments in sink_input_kill_cb() above regarding +     * destruction order! */ -    if (u->sink_input) { +    if (u->sink_input)          pa_sink_input_unlink(u->sink_input); + +    if (u->sink) +        pa_sink_unlink(u->sink); + +    if (u->sink_input)          pa_sink_input_unref(u->sink_input); -    } + +    if (u->sink) +        pa_sink_unref(u->sink);      pa_xfree(u);  } diff --git a/src/modules/module-rescue-streams.c b/src/modules/module-rescue-streams.c index c23feceb..722d84b2 100644 --- a/src/modules/module-rescue-streams.c +++ b/src/modules/module-rescue-streams.c @@ -45,13 +45,46 @@ static const char* const valid_modargs[] = {  };  struct userdata { -    pa_hook_slot *sink_slot, *source_slot; +    pa_hook_slot +        *sink_unlink_slot, +        *source_unlink_slot, +        *sink_input_move_fail_slot, +        *source_output_move_fail_slot;  }; -static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* userdata) { +static pa_sink* find_evacuation_sink(pa_core *c, pa_sink_input *i, pa_sink *skip) { +    pa_sink *target, *def; +    uint32_t idx; + +    pa_assert(c); +    pa_assert(i); + +    def = pa_namereg_get_default_sink(c); + +    if (def && def != skip && pa_sink_input_may_move_to(i, def)) +        return def; + +    PA_IDXSET_FOREACH(target, c->sinks, idx) { +        if (target == def) +            continue; + +        if (target == skip) +            continue; + +        if (!PA_SINK_IS_LINKED(pa_sink_get_state(target))) +            continue; + +        if (pa_sink_input_may_move_to(i, target)) +            return target; +    } + +    pa_log_debug("No evacuation sink found."); +    return NULL; +} + +static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, void* userdata) {      pa_sink_input *i;      uint32_t idx; -    pa_sink *target;      pa_assert(c);      pa_assert(sink); @@ -65,21 +98,12 @@ static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* user          return PA_HOOK_OK;      } -    if (!(target = pa_namereg_get_default_sink(c)) || target == sink) { - -        PA_IDXSET_FOREACH(target, c->sinks, idx) -            if (target != sink) -                break; - -        if (!target) { -            pa_log_debug("No evacuation sink found."); -            return PA_HOOK_OK; -        } -    } +    PA_IDXSET_FOREACH(i, sink->inputs, idx) { +        pa_sink *target; -    pa_assert(target != sink); +        if (!(target = find_evacuation_sink(c, i, sink))) +            continue; -    PA_IDXSET_FOREACH(i, sink->inputs, idx) {          if (pa_sink_input_move_to(i, target, FALSE) < 0)              pa_log_info("Failed to move sink input %u \"%s\" to %s.", i->index,                          pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name); @@ -91,9 +115,66 @@ static pa_hook_result_t sink_hook_callback(pa_core *c, pa_sink *sink, void* user      return PA_HOOK_OK;  } -static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void* userdata) { +static pa_hook_result_t sink_input_move_fail_hook_callback(pa_core *c, pa_sink_input *i, void *userdata) { +    pa_sink *target; + +    pa_assert(c); +    pa_assert(i); + +    /* There's no point in doing anything if the core is shut down anyway */ +    if (c->state == PA_CORE_SHUTDOWN) +        return PA_HOOK_OK; + +    if (!(target = find_evacuation_sink(c, i, NULL))) +        return PA_HOOK_OK; + +    if (pa_sink_input_finish_move(i, target, FALSE) < 0) { +        pa_log_info("Failed to move sink input %u \"%s\" to %s.", i->index, +                        pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name); +        return PA_HOOK_OK; + +    } else { +        pa_log_info("Sucessfully moved sink input %u \"%s\" to %s.", i->index, +                    pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name); +        return PA_HOOK_STOP; +    } +} + +static pa_source* find_evacuation_source(pa_core *c, pa_source_output *o, pa_source *skip) { +    pa_source *target, *def; +    uint32_t idx; + +    pa_assert(c); +    pa_assert(o); + +    def = pa_namereg_get_default_source(c); + +    if (def && def != skip && pa_source_output_may_move_to(o, def)) +        return def; + +    PA_IDXSET_FOREACH(target, c->sources, idx) { +        if (target == def) +            continue; + +        if (target == skip) +            continue; + +        if (!target->monitor_of != !skip->monitor_of) +            continue; + +        if (!PA_SOURCE_IS_LINKED(pa_source_get_state(target))) +            continue; + +        if (pa_source_output_may_move_to(o, target)) +            return target; +    } + +    pa_log_debug("No evacuation source found."); +    return NULL; +} + +static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *source, void* userdata) {      pa_source_output *o; -    pa_source *target;      uint32_t idx;      pa_assert(c); @@ -108,21 +189,12 @@ static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void          return PA_HOOK_OK;      } -    if (!(target = pa_namereg_get_default_source(c)) || target == source) { - -        PA_IDXSET_FOREACH(target, c->sources, idx) -            if (target != source && !target->monitor_of == !source->monitor_of) -                break; - -        if (!target) { -            pa_log_info("No evacuation source found."); -            return PA_HOOK_OK; -        } -    } +    PA_IDXSET_FOREACH(o, source->outputs, idx) { +        pa_source *target; -    pa_assert(target != source); +        if (!(target = find_evacuation_source(c, o, source))) +            continue; -    PA_IDXSET_FOREACH(o, source->outputs, idx) {          if (pa_source_output_move_to(o, target, FALSE) < 0)              pa_log_info("Failed to move source output %u \"%s\" to %s.", o->index,                          pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_APPLICATION_NAME)), target->name); @@ -134,6 +206,31 @@ static pa_hook_result_t source_hook_callback(pa_core *c, pa_source *source, void      return PA_HOOK_OK;  } +static pa_hook_result_t source_output_move_fail_hook_callback(pa_core *c, pa_source_output *i, void *userdata) { +    pa_source *target; + +    pa_assert(c); +    pa_assert(i); + +    /* There's no point in doing anything if the core is shut down anyway */ +    if (c->state == PA_CORE_SHUTDOWN) +        return PA_HOOK_OK; + +    if (!(target = find_evacuation_source(c, i, NULL))) +        return PA_HOOK_OK; + +    if (pa_source_output_finish_move(i, target, FALSE) < 0) { +        pa_log_info("Failed to move source input %u \"%s\" to %s.", i->index, +                        pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name); +        return PA_HOOK_OK; + +    } else { +        pa_log_info("Sucessfully moved source input %u \"%s\" to %s.", i->index, +                    pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_NAME)), target->name); +        return PA_HOOK_STOP; +    } +} +  int pa__init(pa_module*m) {      pa_modargs *ma;      struct userdata *u; @@ -148,8 +245,11 @@ int pa__init(pa_module*m) {      m->userdata = u = pa_xnew(struct userdata, 1);      /* A little bit later than module-stream-restore, module-intended-roles... */ -    u->sink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_hook_callback, u); -    u->source_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) source_hook_callback, u); +    u->sink_unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_unlink_hook_callback, u); +    u->source_unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_UNLINK], PA_HOOK_LATE+20, (pa_hook_cb_t) source_unlink_hook_callback, u); + +    u->sink_input_move_fail_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], PA_HOOK_LATE+20, (pa_hook_cb_t) sink_input_move_fail_hook_callback, u); +    u->source_output_move_fail_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], PA_HOOK_LATE+20, (pa_hook_cb_t) source_output_move_fail_hook_callback, u);      pa_modargs_free(ma);      return 0; @@ -163,10 +263,15 @@ void pa__done(pa_module*m) {      if (!(u = m->userdata))          return; -    if (u->sink_slot) -        pa_hook_slot_free(u->sink_slot); -    if (u->source_slot) -        pa_hook_slot_free(u->source_slot); +    if (u->sink_unlink_slot) +        pa_hook_slot_free(u->sink_unlink_slot); +    if (u->source_unlink_slot) +        pa_hook_slot_free(u->source_unlink_slot); + +    if (u->sink_input_move_fail_slot) +        pa_hook_slot_free(u->sink_input_move_fail_slot); +    if (u->source_output_move_fail_slot) +        pa_hook_slot_free(u->source_output_move_fail_slot);      pa_xfree(u);  } diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index e9063031..076b3918 100644 --- a/src/modules/module-stream-restore.c +++ b/src/modules/module-stream-restore.c @@ -114,15 +114,16 @@ struct userdata {  #endif  }; -#define ENTRY_VERSION 2 +#define ENTRY_VERSION 3  struct entry {      uint8_t version; -    pa_bool_t muted_valid:1, volume_valid:1, device_valid:1; +    pa_bool_t muted_valid:1, volume_valid:1, device_valid:1, card_valid:1;      pa_bool_t muted:1;      pa_channel_map channel_map;      pa_cvolume volume;      char device[PA_NAME_MAX]; +    char card[PA_NAME_MAX];  } PA_GCC_PACKED;  enum { @@ -1083,11 +1084,21 @@ static struct entry *read_entry(struct userdata *u, const char *name) {          goto fail;      } +    if (!memchr(e->card, 0, sizeof(e->card))) { +        pa_log_warn("Database contains entry for stream %s with missing NUL byte in card name", name); +        goto fail; +    } +      if (e->device_valid && !pa_namereg_is_valid_name(e->device)) {          pa_log_warn("Invalid device name stored in database for stream %s", name);          goto fail;      } +    if (e->card_valid && !pa_namereg_is_valid_name(e->card)) { +        pa_log_warn("Invalid card name stored in database for stream %s", name); +        goto fail; +    } +      if (e->volume_valid && !pa_channel_map_valid(&e->channel_map)) {          pa_log_warn("Invalid channel map stored in database for stream %s", name);          goto fail; @@ -1139,6 +1150,10 @@ static pa_bool_t entries_equal(const struct entry *a, const struct entry *b) {          (a->device_valid && strncmp(a->device, b->device, sizeof(a->device))))          return FALSE; +    if (a->card_valid != b->card_valid || +        (a->card_valid && strncmp(a->card, b->card, sizeof(a->card)))) +        return FALSE; +      if (a->muted_valid != b->muted_valid ||          (a->muted_valid && (a->muted != b->muted)))          return FALSE; @@ -1217,6 +1232,10 @@ static void subscribe_callback(pa_core *c, pa_subscription_event_type_t t, uint3              entry.device_valid = TRUE;              device_updated = !created_new_entry && (!old->device_valid || !pa_streq(entry.device, old->device)); +            if (sink_input->sink->card) { +                pa_strlcpy(entry.card, sink_input->sink->card->name, sizeof(entry.card)); +                entry.card_valid = TRUE; +            }          }      } else { @@ -1240,6 +1259,11 @@ static void subscribe_callback(pa_core *c, pa_subscription_event_type_t t, uint3              entry.device_valid = source_output->save_source;              device_updated = !created_new_entry && (!old->device_valid || !pa_streq(entry.device, old->device)); + +            if (source_output->source->card) { +                pa_strlcpy(entry.card, source_output->source->card->name, sizeof(entry.card)); +                entry.card_valid = TRUE; +            }          }      } @@ -1298,19 +1322,28 @@ static pa_hook_result_t sink_input_new_hook_callback(pa_core *c, pa_sink_input_n      if (!(name = get_name(new_data->proplist, "sink-input")))          return PA_HOOK_OK; -    if ((e = read_entry(u, name))) { +    if (new_data->sink) +        pa_log_debug("Not restoring device for stream %s, because already set.", name); +    else if ((e = read_entry(u, name))) { +        pa_sink *s = NULL; -        if (e->device_valid) { -            pa_sink *s; +        if (e->device_valid) +            s = pa_namereg_get(c, e->device, PA_NAMEREG_SINK); -            if ((s = pa_namereg_get(c, e->device, PA_NAMEREG_SINK))) { -                if (!new_data->sink) { -                    pa_log_info("Restoring device for stream %s.", name); -                    new_data->sink = s; -                    new_data->save_sink = TRUE; -                } else -                    pa_log_debug("Not restoring device for stream %s, because already set.", name); -            } +        if (!s && e->card_valid) { +            pa_card *card; + +            if ((card = pa_namereg_get(c, e->card, PA_NAMEREG_CARD))) +                s = pa_idxset_first(card->sinks, NULL); +        } + +        /* It might happen that a stream and a sink are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (s && PA_SINK_IS_LINKED(pa_sink_get_state(s))) { +            pa_log_info("Restoring device for stream %s.", name); +            new_data->sink = s; +            new_data->save_sink = TRUE;          }          pa_xfree(e); @@ -1385,18 +1418,28 @@ static pa_hook_result_t source_output_new_hook_callback(pa_core *c, pa_source_ou      if (!(name = get_name(new_data->proplist, "source-output")))          return PA_HOOK_OK; -    if ((e = read_entry(u, name))) { -        pa_source *s; +    if (new_data->source) +        pa_log_debug("Not restoring device for stream %s, because already set", name); +    else if ((e = read_entry(u, name))) { +        pa_source *s = NULL; -        if (e->device_valid) { -            if ((s = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE))) { -                if (!new_data->source) { -                    pa_log_info("Restoring device for stream %s.", name); -                    new_data->source = s; -                    new_data->save_source = TRUE; -                } else -                    pa_log_debug("Not restoring device for stream %s, because already set", name); -            } +        if (e->device_valid) +            s = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE); + +        if (!s && e->card_valid) { +            pa_card *card; + +            if ((card = pa_namereg_get(c, e->card, PA_NAMEREG_CARD))) +                s = pa_idxset_first(card->sources, NULL); +        } + +        /* It might happen that a stream and a sink are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (s && PA_SOURCE_IS_LINKED(pa_source_get_state(s))) { +            pa_log_info("Restoring device for stream %s.", name); +            new_data->source = s; +            new_data->save_source = TRUE;          }          pa_xfree(e); @@ -1426,6 +1469,17 @@ static pa_hook_result_t sink_put_hook_callback(pa_core *c, pa_sink *sink, struct          if (si->save_sink)              continue; +        /* Skip this if it is already in the process of being moved +         * anyway */ +        if (!si->sink) +            continue; + +        /* It might happen that a stream and a sink are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (!PA_SINK_INPUT_IS_LINKED(pa_sink_input_get_state(si))) +            continue; +          if (!(name = get_name(si->proplist, "sink-input")))              continue; @@ -1464,6 +1518,16 @@ static pa_hook_result_t source_put_hook_callback(pa_core *c, pa_source *source,          if (so->direct_on_input)              continue; +        /* Skip this if it is already in the process of being moved anyway */ +        if (!so->source) +            continue; + +        /* It might happen that a stream and a sink are set up at the +           same time, in which case we want to make sure we don't +           interfere with that */ +        if (!PA_SOURCE_OUTPUT_IS_LINKED(pa_source_output_get_state(so))) +            continue; +          if (!(name = get_name(so->proplist, "source-input")))              continue; @@ -1497,6 +1561,9 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str          char *name;          struct entry *e; +        if (!si->sink) +            continue; +          if (!(name = get_name(si->proplist, "sink-input")))              continue; @@ -1505,7 +1572,9 @@ static pa_hook_result_t sink_unlink_hook_callback(pa_core *c, pa_sink *sink, str              if (e->device_valid) {                  pa_sink *d; -                if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SINK)) && d != sink) +                if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SINK)) && +                    d != sink && +                    PA_SINK_IS_LINKED(pa_sink_get_state(d)))                      pa_sink_input_move_to(si, d, TRUE);              } @@ -1535,6 +1604,12 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc          char *name;          struct entry *e; +        if (so->direct_on_input) +            continue; + +        if (!so->source) +            continue; +          if (!(name = get_name(so->proplist, "source-output")))              continue; @@ -1543,7 +1618,9 @@ static pa_hook_result_t source_unlink_hook_callback(pa_core *c, pa_source *sourc              if (e->device_valid) {                  pa_source *d; -                if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE)) && d != source) +                if ((d = pa_namereg_get(c, e->device, PA_NAMEREG_SOURCE)) && +                    d != source && +                    PA_SOURCE_IS_LINKED(pa_source_get_state(d)))                      pa_source_output_move_to(so, d, TRUE);              } @@ -1567,7 +1644,7 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {      pa_assert(name);      pa_assert(e); -    for (si = pa_idxset_first(u->core->sink_inputs, &idx); si; si = pa_idxset_next(u->core->sink_inputs, &idx)) { +    PA_IDXSET_FOREACH(si, u->core->sink_inputs, idx) {          char *n;          pa_sink *s; @@ -1585,12 +1662,13 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {              v = e->volume;              pa_log_info("Restoring volume for sink input %s.", name); -            pa_sink_input_set_volume(si, pa_cvolume_remap(&v, &e->channel_map, &si->channel_map), FALSE, FALSE); +            pa_cvolume_remap(&v, &e->channel_map, &si->channel_map); +            pa_sink_input_set_volume(si, &v, TRUE, FALSE);          }          if (u->restore_muted && e->muted_valid) {              pa_log_info("Restoring mute state for sink input %s.", name); -            pa_sink_input_set_mute(si, e->muted, FALSE); +            pa_sink_input_set_mute(si, e->muted, TRUE);          }          if (u->restore_device && @@ -1598,11 +1676,11 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {              (s = pa_namereg_get(u->core, e->device, PA_NAMEREG_SINK))) {              pa_log_info("Restoring device for stream %s.", name); -            pa_sink_input_move_to(si, s, FALSE); +            pa_sink_input_move_to(si, s, TRUE);          }      } -    for (so = pa_idxset_first(u->core->source_outputs, &idx); so; so = pa_idxset_next(u->core->source_outputs, &idx)) { +    PA_IDXSET_FOREACH(so, u->core->source_outputs, idx) {          char *n;          pa_source *s; @@ -1620,7 +1698,7 @@ static void apply_entry(struct userdata *u, const char *name, struct entry *e) {              (s = pa_namereg_get(u->core, e->device, PA_NAMEREG_SOURCE))) {              pa_log_info("Restoring device for stream %s.", name); -            pa_source_output_move_to(so, s, FALSE); +            pa_source_output_move_to(so, s, TRUE);          }      }  } diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c index d1153829..eaccea4e 100644 --- a/src/modules/module-tunnel.c +++ b/src/modules/module-tunnel.c @@ -55,6 +55,7 @@  #include <pulsecore/core-error.h>  #include <pulsecore/proplist-util.h>  #include <pulsecore/auth-cookie.h> +#include <pulsecore/mcalign.h>  #ifdef TUNNEL_SINK  #include "module-tunnel-sink-symdef.h" @@ -194,6 +195,7 @@ struct userdata {  #else      char *source_name;      pa_source *source; +    pa_mcalign *mcalign;  #endif      pa_auth_cookie *auth_cookie; @@ -614,14 +616,23 @@ static int source_process_msg(pa_msgobject *o, int code, void *data, int64_t off              return 0;          } -        case SOURCE_MESSAGE_POST: +        case SOURCE_MESSAGE_POST: { +            pa_memchunk c; -            if (PA_SOURCE_IS_OPENED(u->source->thread_info.state)) -                pa_source_post(u->source, chunk); +            pa_mcalign_push(u->mcalign, chunk); -            u->counter += (int64_t) chunk->length; +            while (pa_mcalign_pop(u->mcalign, &c) >= 0) { + +                if (PA_SOURCE_IS_OPENED(u->source->thread_info.state)) +                    pa_source_post(u->source, &c); + +                pa_memblock_unref(c.memblock); + +                u->counter += (int64_t) c.length; +            }              return 0; +        }          case SOURCE_MESSAGE_REMOTE_SUSPEND: @@ -1154,10 +1165,10 @@ static void sink_input_info_cb(pa_pdispatch *pd, uint32_t command,  uint32_t tag          pa_cvolume_equal(&volume, &u->sink->virtual_volume))          return; -    pa_sink_volume_changed(u->sink, &volume, FALSE); +    pa_sink_volume_changed(u->sink, &volume);      if (u->version >= 11) -        pa_sink_mute_changed(u->sink, mute, FALSE); +        pa_sink_mute_changed(u->sink, mute);      return; @@ -1937,6 +1948,8 @@ int pa__init(pa_module*m) {      pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);      pa_source_set_rtpoll(u->source, u->rtpoll); + +    u->mcalign = pa_mcalign_new(pa_frame_size(&u->source->sample_spec));  #endif      pa_xfree(dn); @@ -2030,6 +2043,11 @@ void pa__done(pa_module*m) {      if (u->time_event)          u->core->mainloop->time_free(u->time_event); +#ifndef TUNNEL_SINK +    if (u->mcalign) +        pa_mcalign_free(u->mcalign); +#endif +  #ifdef TUNNEL_SINK      pa_xfree(u->sink_name);  #else diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c index 1ad6fa2d..11de1ccb 100644 --- a/src/modules/module-udev-detect.c +++ b/src/modules/module-udev-detect.c @@ -65,6 +65,8 @@ static const char* const valid_modargs[] = {      NULL  }; +static int setup_inotify(struct userdata *u); +  static void device_free(struct device *d) {      pa_assert(d); @@ -117,6 +119,9 @@ static void card_changed(struct userdata *u, struct udev_device *dev) {      pa_assert(u);      pa_assert(dev); +    /* Maybe /dev/snd is now available? */ +    setup_inotify(u); +      path = udev_device_get_devpath(dev);      if ((d = pa_hashmap_get(u->devices, path))) { @@ -262,7 +267,7 @@ static void inotify_cb(      } buf;      struct userdata *u = userdata;      static int type = 0; -    pa_bool_t verify = FALSE; +    pa_bool_t verify = FALSE, deleted = FALSE;      for (;;) {          ssize_t r; @@ -279,6 +284,9 @@ static void inotify_cb(          if ((buf.e.mask & IN_CLOSE_WRITE) && pa_startswith(buf.e.name, "pcmC"))              verify = TRUE; + +        if ((buf.e.mask & (IN_DELETE_SELF|IN_MOVE_SELF))) +            deleted = TRUE;      }      if (verify) { @@ -291,11 +299,14 @@ static void inotify_cb(              verify_access(u, d);      } -    return; +    if (!deleted) +        return;  fail: -    a->io_free(u->inotify_io); -    u->inotify_io = NULL; +    if (u->inotify_io) { +        a->io_free(u->inotify_io); +        u->inotify_io = NULL; +    }      if (u->inotify_fd >= 0) {          pa_close(u->inotify_fd); @@ -307,17 +318,38 @@ static int setup_inotify(struct userdata *u) {      char *dev_snd;      int r; +    if (u->inotify_fd >= 0) +        return 0; +      if ((u->inotify_fd = inotify_init1(IN_CLOEXEC|IN_NONBLOCK)) < 0) {          pa_log("inotify_init1() failed: %s", pa_cstrerror(errno));          return -1;      }      dev_snd = pa_sprintf_malloc("%s/snd", udev_get_dev_path(u->udev)); -    r = inotify_add_watch(u->inotify_fd, dev_snd, IN_CLOSE_WRITE); +    r = inotify_add_watch(u->inotify_fd, dev_snd, IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);      pa_xfree(dev_snd);      if (r < 0) { -        pa_log("inotify_add_watch() failed: %s", pa_cstrerror(errno)); +        int saved_errno = errno; + +        pa_close(u->inotify_fd); +        u->inotify_fd = -1; + +        if (saved_errno == ENOENT) { +            pa_log_debug("/dev/snd/ is apparently not existing yet, retrying to create inotify watch later."); +            return 0; +        } + +        if (saved_errno == ENOSPC) { +            pa_log("You apparently ran out of inotify watches, probably because Tracker/Beagle took them all away. " +                   "I wished people would do their homework first and fix inotify before using it for watching whole " +                   "directory trees which is something the current inotify is certainly not useful for. " +                   "Please make sure to drop the Tracker/Beagle guys a line complaining about their broken use of inotify."); +            return 0; +        } + +        pa_log("inotify_add_watch() failed: %s", pa_cstrerror(saved_errno));          return -1;      } diff --git a/src/modules/module-volume-restore.c b/src/modules/module-volume-restore.c index 91da598e..6e484eae 100644 --- a/src/modules/module-volume-restore.c +++ b/src/modules/module-volume-restore.c @@ -48,6 +48,7 @@ static const char* const valid_modargs[] = {  int pa__init(pa_module*m) {      pa_modargs *ma = NULL;      pa_bool_t restore_device = TRUE, restore_volume = TRUE; +    pa_module *n;      char *t;      pa_assert(m); @@ -66,13 +67,15 @@ int pa__init(pa_module*m) {      pa_log_warn("We will now load module-stream-restore. Please make sure to remove module-volume-restore from your configuration.");      t = pa_sprintf_malloc("restore_volume=%s restore_device=%s", pa_yes_no(restore_volume), pa_yes_no(restore_device)); -    pa_module_load(m->core, "module-stream-restore", t); +    n = pa_module_load(m->core, "module-stream-restore", t);      pa_xfree(t); -    pa_module_unload_request(m, TRUE); +    if (n) +        pa_module_unload_request(m, TRUE);      pa_modargs_free(ma); -    return 0; + +    return n ? 0 : -1;  fail:      if (ma) diff --git a/src/modules/reserve-monitor.c b/src/modules/reserve-monitor.c index 64d2a7cc..13ecde2b 100644 --- a/src/modules/reserve-monitor.c +++ b/src/modules/reserve-monitor.c @@ -1,3 +1,5 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/ +  /***    Copyright 2009 Lennart Poettering @@ -76,9 +78,17 @@ static DBusHandlerResult filter_handler(  			goto invalid;  		if (strcmp(name, m->service_name) == 0) { -  			m->busy = !!(new && *new); +			/* If we ourselves own the device, then don't consider this 'busy' */ +			if (m->busy) { +				const char *un; + +				if ((un = dbus_bus_get_unique_name(c))) +					if (strcmp(new, un) == 0) +						m->busy = FALSE; +			} +  			if (m->change_cb) {  				m->ref++;  				m->change_cb(m); diff --git a/src/modules/reserve-monitor.h b/src/modules/reserve-monitor.h index 4f4a8332..421a52e0 100644 --- a/src/modules/reserve-monitor.h +++ b/src/modules/reserve-monitor.h @@ -1,3 +1,5 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/ +  #ifndef fooreservemonitorhfoo  #define fooreservemonitorhfoo @@ -28,6 +30,10 @@  #include <dbus/dbus.h>  #include <inttypes.h> +#ifdef __cplusplus +extern "C" { +#endif +  typedef struct rm_monitor rm_monitor;  /* Prototype for a function that is called whenever the reservation @@ -59,4 +65,8 @@ void rm_set_userdata(rm_monitor *m, void *userdata);   * userdata was set. */  void* rm_get_userdata(rm_monitor *m); +#ifdef __cplusplus +} +#endif +  #endif diff --git a/src/modules/reserve-wrap.c b/src/modules/reserve-wrap.c index 07b592d3..6086fc99 100644 --- a/src/modules/reserve-wrap.c +++ b/src/modules/reserve-wrap.c @@ -336,5 +336,9 @@ pa_bool_t pa_reserve_monitor_wrapper_busy(pa_reserve_monitor_wrapper *w) {      pa_assert(PA_REFCNT_VALUE(w) >= 1); +#ifdef HAVE_DBUS      return rm_busy(w->monitor) > 0; +#else +    return FALSE; +#endif  } diff --git a/src/modules/reserve.c b/src/modules/reserve.c index 09bc46cb..5597f177 100644 --- a/src/modules/reserve.c +++ b/src/modules/reserve.c @@ -1,3 +1,5 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/ +  /***    Copyright 2009 Lennart Poettering diff --git a/src/modules/reserve.h b/src/modules/reserve.h index 31071298..9ae49cf5 100644 --- a/src/modules/reserve.h +++ b/src/modules/reserve.h @@ -1,3 +1,5 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: t -*-*/ +  #ifndef fooreservehfoo  #define fooreservehfoo @@ -28,6 +30,10 @@  #include <dbus/dbus.h>  #include <inttypes.h> +#ifdef __cplusplus +extern "C" { +#endif +  typedef struct rd_device rd_device;  /* Prototype for a function that is called whenever someone else wants @@ -66,4 +72,8 @@ void rd_set_userdata(rd_device *d, void *userdata);   * userdata was set. */  void* rd_get_userdata(rd_device *d); +#ifdef __cplusplus +} +#endif +  #endif diff --git a/src/modules/rtp/module-rtp-recv.c b/src/modules/rtp/module-rtp-recv.c index 5caf8272..c195c045 100644 --- a/src/modules/rtp/module-rtp-recv.c +++ b/src/modules/rtp/module-rtp-recv.c @@ -361,7 +361,7 @@ static void sink_input_attach(pa_sink_input *i) {      pa_assert_se(s = i->userdata);      pa_assert(!s->rtpoll_item); -    s->rtpoll_item = pa_rtpoll_item_new(i->sink->rtpoll, PA_RTPOLL_LATE, 1); +    s->rtpoll_item = pa_rtpoll_item_new(i->sink->thread_info.rtpoll, PA_RTPOLL_LATE, 1);      p = pa_rtpoll_item_get_pollfd(s->rtpoll_item, NULL);      p->fd = s->rtp_context.fd; diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c index 8eab1094..62c06f6a 100644 --- a/src/pulse/client-conf.c +++ b/src/pulse/client-conf.c @@ -94,17 +94,18 @@ int pa_client_conf_load(pa_client_conf *c, const char *filename) {      /* Prepare the configuration parse table */      pa_config_item table[] = { -        { "daemon-binary",          pa_config_parse_string,  &c->daemon_binary, NULL }, -        { "extra-arguments",        pa_config_parse_string,  &c->extra_arguments, NULL }, -        { "default-sink",           pa_config_parse_string,  &c->default_sink, NULL }, -        { "default-source",         pa_config_parse_string,  &c->default_source, NULL }, -        { "default-server",         pa_config_parse_string,  &c->default_server, NULL }, -        { "default-dbus-server",    pa_config_parse_string,  &c->default_dbus_server, NULL }, -        { "autospawn",              pa_config_parse_bool,    &c->autospawn, NULL }, -        { "cookie-file",            pa_config_parse_string,  &c->cookie_file, NULL }, -        { "disable-shm",            pa_config_parse_bool,    &c->disable_shm, NULL }, -        { "shm-size-bytes",         pa_config_parse_size,    &c->shm_size, NULL }, -        { NULL,                     NULL,                    NULL, NULL }, +        { "daemon-binary",          pa_config_parse_string,   &c->daemon_binary, NULL }, +        { "extra-arguments",        pa_config_parse_string,   &c->extra_arguments, NULL }, +        { "default-sink",           pa_config_parse_string,   &c->default_sink, NULL }, +        { "default-source",         pa_config_parse_string,   &c->default_source, NULL }, +        { "default-server",         pa_config_parse_string,   &c->default_server, NULL }, +        { "default-dbus-server",    pa_config_parse_string,   &c->default_dbus_server, NULL }, +        { "autospawn",              pa_config_parse_bool,     &c->autospawn, NULL }, +        { "cookie-file",            pa_config_parse_string,   &c->cookie_file, NULL }, +        { "disable-shm",            pa_config_parse_bool,     &c->disable_shm, NULL }, +        { "enable-shm",             pa_config_parse_not_bool, &c->disable_shm, NULL }, +        { "shm-size-bytes",         pa_config_parse_size,     &c->shm_size, NULL }, +        { NULL,                     NULL,                     NULL, NULL },      };      if (filename) { diff --git a/src/pulse/client.conf.in b/src/pulse/client.conf.in index 3340b0b2..e03096e0 100644 --- a/src/pulse/client.conf.in +++ b/src/pulse/client.conf.in @@ -30,5 +30,5 @@  ; cookie-file = -; disable-shm = no +; enable-shm = yes  ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB diff --git a/src/pulse/context.c b/src/pulse/context.c index 505e758a..894ab2e0 100644 --- a/src/pulse/context.c +++ b/src/pulse/context.c @@ -668,11 +668,24 @@ static pa_strlist *prepend_per_user(pa_strlist *l) {  static int context_autospawn(pa_context *c) {      pid_t pid;      int status, r; - -    pa_log_debug("Trying to autospawn..."); +    struct sigaction sa;      pa_context_ref(c); +    if (sigaction(SIGCHLD, NULL, &sa) < 0) { +        pa_log_debug("sigaction() failed: %s", pa_cstrerror(errno)); +        pa_context_fail(c, PA_ERR_INTERNAL); +        goto fail; +    } + +    if ((sa.sa_flags & SA_NOCLDWAIT) || sa.sa_handler == SIG_IGN) { +        pa_log_debug("Process disabled waitpid(), cannot autospawn."); +        pa_context_fail(c, PA_ERR_CONNECTIONREFUSED); +        goto fail; +    } + +    pa_log_debug("Trying to autospawn..."); +      if (c->spawn_api.prefork)          c->spawn_api.prefork(); @@ -688,23 +701,23 @@ static int context_autospawn(pa_context *c) {          /* Child */          const char *state = NULL; -#define MAX_ARGS 64 -        const char * argv[MAX_ARGS+1]; -        int n; +        const char * argv[32]; +        unsigned n = 0;          if (c->spawn_api.atfork)              c->spawn_api.atfork(); +        /* We leave most of the cleaning up of the process environment +         * to the executable. We only clean up the file descriptors to +         * make sure the executable can actually be loaded +         * correctly. */          pa_close_all(-1);          /* Setup argv */ - -        n = 0; -          argv[n++] = c->conf->daemon_binary;          argv[n++] = "--start"; -        while (n < MAX_ARGS) { +        while (n < PA_ELEMENTSOF(argv)-1) {              char *a;              if (!(a = pa_split_spaces(c->conf->extra_arguments, &state))) @@ -714,10 +727,10 @@ static int context_autospawn(pa_context *c) {          }          argv[n++] = NULL; +        pa_assert(n <= PA_ELEMENTSOF(argv));          execv(argv[0], (char * const *) argv);          _exit(1); -#undef MAX_ARGS      }      /* Parent */ @@ -730,9 +743,16 @@ static int context_autospawn(pa_context *c) {      } while (r < 0 && errno == EINTR);      if (r < 0) { -        pa_log(_("waitpid(): %s"), pa_cstrerror(errno)); -        pa_context_fail(c, PA_ERR_INTERNAL); -        goto fail; + +        if (errno != ESRCH) { +            pa_log(_("waitpid(): %s"), pa_cstrerror(errno)); +            pa_context_fail(c, PA_ERR_INTERNAL); +            goto fail; +        } + +        /* hmm, something already reaped our child, so we assume +         * startup worked, even if we cannot know */ +      } else if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {          pa_context_fail(c, PA_ERR_CONNECTIONREFUSED);          goto fail; @@ -761,22 +781,33 @@ static void track_pulseaudio_on_dbus(pa_context *c, DBusBusType type, pa_dbus_wr      pa_assert(conn);      dbus_error_init(&error); +      if (!(*conn = pa_dbus_wrap_connection_new(c->mainloop, c->use_rtclock, type, &error)) || dbus_error_is_set(&error)) {          pa_log_warn("Unable to contact DBUS: %s: %s", error.name, error.message); -        goto finish; +        goto fail;      }      if (!dbus_connection_add_filter(pa_dbus_wrap_connection_get(*conn), filter_cb, c, NULL)) {          pa_log_warn("Failed to add filter function"); -        goto finish; +        goto fail;      }      if (pa_dbus_add_matches(                  pa_dbus_wrap_connection_get(*conn), &error, -                "type='signal',sender='" DBUS_SERVICE_DBUS "',interface='" DBUS_INTERFACE_DBUS "',member='NameOwnerChanged',arg0='org.pulseaudio.Server',arg1=''", NULL) < 0) +                "type='signal',sender='" DBUS_SERVICE_DBUS "',interface='" DBUS_INTERFACE_DBUS "',member='NameOwnerChanged',arg0='org.pulseaudio.Server',arg1=''", NULL) < 0) { +          pa_log_warn("Unable to track org.pulseaudio.Server: %s: %s", error.name, error.message); +        goto fail; +    } + +    return; + +fail: +    if (*conn) { +        pa_dbus_wrap_connection_free(*conn); +        *conn = NULL; +    } - finish:      dbus_error_free(&error);  }  #endif @@ -861,7 +892,7 @@ static void on_connection(pa_socket_client *client, pa_iochannel*io, void *userd      c->client = NULL;      if (!io) { -        /* Try the item in the list */ +        /* Try the next item in the list */          if (saved_errno == ECONNREFUSED ||              saved_errno == ETIMEDOUT ||              saved_errno == EHOSTUNREACH) { @@ -897,7 +928,7 @@ static DBusHandlerResult filter_cb(DBusConnection *bus, DBusMessage *message, vo      /* FIXME: We probably should check if this is actually the NameOwnerChanged we were looking for */      is_session = c->session_bus && bus == pa_dbus_wrap_connection_get(c->session_bus); -    pa_log_debug("Rock!! PulseAudio is back on %s bus", is_session ? "session" : "system"); +    pa_log_debug("Rock!! PulseAudio might be back on %s bus", is_session ? "session" : "system");      if (is_session)          /* The user instance via PF_LOCAL */ @@ -937,7 +968,7 @@ int pa_context_connect(      pa_context_ref(c); -    c->no_fail = flags & PA_CONTEXT_NOFAIL; +    c->no_fail = !!(flags & PA_CONTEXT_NOFAIL);      c->server_specified = !!server;      pa_assert(!c->server_list); @@ -954,10 +985,7 @@ int pa_context_connect(          /* Follow the X display */          if ((d = getenv("DISPLAY"))) { -            char *e; -            d = pa_xstrdup(d); -            if ((e = strchr(d, ':'))) -                *e = 0; +            d = pa_xstrndup(d, strcspn(d, ":"));              if (*d)                  c->server_list = pa_strlist_prepend(c->server_list, d); diff --git a/src/pulse/internal.h b/src/pulse/internal.h index ec2da85b..e069c9e9 100644 --- a/src/pulse/internal.h +++ b/src/pulse/internal.h @@ -151,6 +151,11 @@ struct pa_stream {      uint32_t device_index;      char *device_name; +    /* playback */ +    pa_memblock *write_memblock; +    void *write_data; + +    /* recording */      pa_memchunk peek_memchunk;      void *peek_data;      pa_memblockq *record_memblockq; diff --git a/src/pulse/introspect.c b/src/pulse/introspect.c index ab67f596..27a587cb 100644 --- a/src/pulse/introspect.c +++ b/src/pulse/introspect.c @@ -201,42 +201,44 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u                  goto finish;              } -            if (i.n_ports > 0) { -                i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1); -                i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports); - -                for (j = 0; j < i.n_ports; j++) { -                    if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 || -                        pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 || -                        pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) { - -                        pa_context_fail(o->context, PA_ERR_PROTOCOL); -                        pa_xfree(i.ports); -                        pa_xfree(i.ports[0]); -                        pa_proplist_free(i.proplist); -                        goto finish; +            if (o->context->version >= 16) { +                if (i.n_ports > 0) { +                    i.ports = pa_xnew(pa_sink_port_info*, i.n_ports+1); +                    i.ports[0] = pa_xnew(pa_sink_port_info, i.n_ports); + +                    for (j = 0; j < i.n_ports; j++) { +                        if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 || +                            pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 || +                            pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) { + +                            pa_context_fail(o->context, PA_ERR_PROTOCOL); +                            pa_xfree(i.ports[0]); +                            pa_xfree(i.ports); +                            pa_proplist_free(i.proplist); +                            goto finish; +                        } + +                        i.ports[j] = &i.ports[0][j];                      } -                    i.ports[j] = &i.ports[0][j]; +                    i.ports[j] = NULL;                  } -                i.ports[j] = NULL; -            } - -            if (pa_tagstruct_gets(t, &ap) < 0) { -                pa_context_fail(o->context, PA_ERR_PROTOCOL); -                pa_xfree(i.ports[0]); -                pa_xfree(i.ports); -                pa_proplist_free(i.proplist); -                goto finish; -            } +                if (pa_tagstruct_gets(t, &ap) < 0) { +                    pa_context_fail(o->context, PA_ERR_PROTOCOL); +                    pa_xfree(i.ports[0]); +                    pa_xfree(i.ports); +                    pa_proplist_free(i.proplist); +                    goto finish; +                } -            if (ap) { -                for (j = 0; j < i.n_ports; j++) -                    if (pa_streq(i.ports[j]->name, ap)) { -                        i.active_port = i.ports[j]; -                        break; -                    } +                if (ap) { +                    for (j = 0; j < i.n_ports; j++) +                        if (pa_streq(i.ports[j]->name, ap)) { +                            i.active_port = i.ports[j]; +                            break; +                        } +                }              }              i.mute = (int) mute; @@ -248,6 +250,10 @@ static void context_get_sink_info_callback(pa_pdispatch *pd, uint32_t command, u                  cb(o->context, &i, 0, o->userdata);              } +            if (i.ports) { +                pa_xfree(i.ports[0]); +                pa_xfree(i.ports); +            }              pa_proplist_free(i.proplist);          }      } @@ -428,42 +434,44 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,                  goto finish;              } -            if (i.n_ports > 0) { -                i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1); -                i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports); +            if (o->context->version >= 16) { +                if (i.n_ports > 0) { +                    i.ports = pa_xnew(pa_source_port_info*, i.n_ports+1); +                    i.ports[0] = pa_xnew(pa_source_port_info, i.n_ports); -                for (j = 0; j < i.n_ports; j++) { -                    if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 || -                        pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 || -                        pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) { +                    for (j = 0; j < i.n_ports; j++) { +                        if (pa_tagstruct_gets(t, &i.ports[0][j].name) < 0 || +                            pa_tagstruct_gets(t, &i.ports[0][j].description) < 0 || +                            pa_tagstruct_getu32(t, &i.ports[0][j].priority) < 0) { -                        pa_context_fail(o->context, PA_ERR_PROTOCOL); -                        pa_xfree(i.ports[0]); -                        pa_xfree(i.ports); -                        pa_proplist_free(i.proplist); -                        goto finish; +                            pa_context_fail(o->context, PA_ERR_PROTOCOL); +                            pa_xfree(i.ports[0]); +                            pa_xfree(i.ports); +                            pa_proplist_free(i.proplist); +                            goto finish; +                        } + +                        i.ports[j] = &i.ports[0][j];                      } -                    i.ports[j] = &i.ports[0][j]; +                    i.ports[j] = NULL;                  } -                i.ports[j] = NULL; -            } - -            if (pa_tagstruct_gets(t, &ap) < 0) { -                pa_context_fail(o->context, PA_ERR_PROTOCOL); -                pa_xfree(i.ports[0]); -                pa_xfree(i.ports); -                pa_proplist_free(i.proplist); -                goto finish; -            } +                if (pa_tagstruct_gets(t, &ap) < 0) { +                    pa_context_fail(o->context, PA_ERR_PROTOCOL); +                    pa_xfree(i.ports[0]); +                    pa_xfree(i.ports); +                    pa_proplist_free(i.proplist); +                    goto finish; +                } -            if (ap) { -                for (j = 0; j < i.n_ports; j++) -                    if (pa_streq(i.ports[j]->name, ap)) { -                        i.active_port = i.ports[j]; -                        break; -                    } +                if (ap) { +                    for (j = 0; j < i.n_ports; j++) +                        if (pa_streq(i.ports[j]->name, ap)) { +                            i.active_port = i.ports[j]; +                            break; +                        } +                }              }              i.mute = (int) mute; @@ -475,6 +483,10 @@ static void context_get_source_info_callback(pa_pdispatch *pd, uint32_t command,                  cb(o->context, &i, 0, o->userdata);              } +            if (i.ports) { +                pa_xfree(i.ports[0]); +                pa_xfree(i.ports); +            }              pa_proplist_free(i.proplist);          }      } diff --git a/src/pulse/mainloop.c b/src/pulse/mainloop.c index c418d108..93a4742d 100644 --- a/src/pulse/mainloop.c +++ b/src/pulse/mainloop.c @@ -765,23 +765,22 @@ static pa_time_event* find_next_time_event(pa_mainloop *m) {  static int calc_next_timeout(pa_mainloop *m) {      pa_time_event *t; -    pa_usec_t usec; +    pa_usec_t clock_now;      if (!m->n_enabled_time_events)          return -1; -    t = find_next_time_event(m); -    pa_assert(t); +    pa_assert_se(t = find_next_time_event(m)); -    if (t->time == 0) +    if (t->time <= 0)          return 0; -    usec = t->time - pa_rtclock_now(); +    clock_now = pa_rtclock_now(); -    if (usec <= 0) +    if (t->time <= clock_now)          return 0; -    return (int) (usec / 1000); /* in milliseconds */ +    return (int) ((t->time - clock_now) / 1000); /* in milliseconds */  }  static int dispatch_timeout(pa_mainloop *m) { diff --git a/src/pulse/operation.h b/src/pulse/operation.h index 7b0dabdd..b6b5691d 100644 --- a/src/pulse/operation.h +++ b/src/pulse/operation.h @@ -40,7 +40,11 @@ pa_operation *pa_operation_ref(pa_operation *o);  /** Decrease the reference count by one */  void pa_operation_unref(pa_operation *o); -/** Cancel the operation. Beware! This will not necessarily cancel the execution of the operation on the server side. */ +/** Cancel the operation. Beware! This will not necessarily cancel the + * execution of the operation on the server side. However it will make + * sure that the callback associated with this operation will not be + * called anymore, effectively disabling the operation from the client + * side's view. */  void pa_operation_cancel(pa_operation *o);  /** Return the current status of the operation */ diff --git a/src/pulse/simple.c b/src/pulse/simple.c index f4481fc3..9ed7a653 100644 --- a/src/pulse/simple.c +++ b/src/pulse/simple.c @@ -70,8 +70,8 @@ struct pa_simple {  #define CHECK_DEAD_GOTO(p, rerror, label)                               \      do {                                                                \ -        if (!(p)->context || pa_context_get_state((p)->context) != PA_CONTEXT_READY || \ -            !(p)->stream || pa_stream_get_state((p)->stream) != PA_STREAM_READY) { \ +        if (!(p)->context || !PA_CONTEXT_IS_GOOD(pa_context_get_state((p)->context)) || \ +            !(p)->stream || !PA_STREAM_IS_GOOD(pa_stream_get_state((p)->stream))) { \              if (((p)->context && pa_context_get_state((p)->context) == PA_CONTEXT_FAILED) || \                  ((p)->stream && pa_stream_get_state((p)->stream) == PA_STREAM_FAILED)) { \                  if (rerror)                                             \ @@ -157,12 +157,8 @@ pa_simple* pa_simple_new(      CHECK_VALIDITY_RETURN_ANY(rerror, ss && pa_sample_spec_valid(ss), PA_ERR_INVALID, NULL);      CHECK_VALIDITY_RETURN_ANY(rerror, !map || (pa_channel_map_valid(map) && map->channels == ss->channels), PA_ERR_INVALID, NULL) -    p = pa_xnew(pa_simple, 1); -    p->context = NULL; -    p->stream = NULL; +    p = pa_xnew0(pa_simple, 1);      p->direction = dir; -    p->read_data = NULL; -    p->read_index = p->read_length = 0;      if (!(p->mainloop = pa_threaded_mainloop_new()))          goto fail; @@ -182,12 +178,21 @@ pa_simple* pa_simple_new(      if (pa_threaded_mainloop_start(p->mainloop) < 0)          goto unlock_and_fail; -    /* Wait until the context is ready */ -    pa_threaded_mainloop_wait(p->mainloop); +    for (;;) { +        pa_context_state_t state; -    if (pa_context_get_state(p->context) != PA_CONTEXT_READY) { -        error = pa_context_errno(p->context); -        goto unlock_and_fail; +        state = pa_context_get_state(p->context); + +        if (state == PA_CONTEXT_READY) +            break; + +        if (!PA_CONTEXT_IS_GOOD(state)) { +            error = pa_context_errno(p->context); +            goto unlock_and_fail; +        } + +        /* Wait until the context is ready */ +        pa_threaded_mainloop_wait(p->mainloop);      }      if (!(p->stream = pa_stream_new(p->context, stream_name, ss, map))) { @@ -216,13 +221,21 @@ pa_simple* pa_simple_new(          goto unlock_and_fail;      } -    /* Wait until the stream is ready */ -    pa_threaded_mainloop_wait(p->mainloop); +    for (;;) { +        pa_stream_state_t state; -    /* Wait until the stream is ready */ -    if (pa_stream_get_state(p->stream) != PA_STREAM_READY) { -        error = pa_context_errno(p->context); -        goto unlock_and_fail; +        state = pa_stream_get_state(p->stream); + +        if (state == PA_STREAM_READY) +            break; + +        if (!PA_STREAM_IS_GOOD(state)) { +            error = pa_context_errno(p->context); +            goto unlock_and_fail; +        } + +        /* Wait until the stream is ready */ +        pa_threaded_mainloop_wait(p->mainloop);      }      pa_threaded_mainloop_unlock(p->mainloop); @@ -248,8 +261,10 @@ void pa_simple_free(pa_simple *s) {      if (s->stream)          pa_stream_unref(s->stream); -    if (s->context) +    if (s->context) { +        pa_context_disconnect(s->context);          pa_context_unref(s->context); +    }      if (s->mainloop)          pa_threaded_mainloop_free(s->mainloop); @@ -261,7 +276,8 @@ int pa_simple_write(pa_simple *p, const void*data, size_t length, int *rerror) {      pa_assert(p);      CHECK_VALIDITY_RETURN_ANY(rerror, p->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE, -1); -    CHECK_VALIDITY_RETURN_ANY(rerror, data && length, PA_ERR_INVALID, -1); +    CHECK_VALIDITY_RETURN_ANY(rerror, data, PA_ERR_INVALID, -1); +    CHECK_VALIDITY_RETURN_ANY(rerror, length > 0, PA_ERR_INVALID, -1);      pa_threaded_mainloop_lock(p->mainloop); @@ -300,7 +316,8 @@ int pa_simple_read(pa_simple *p, void*data, size_t length, int *rerror) {      pa_assert(p);      CHECK_VALIDITY_RETURN_ANY(rerror, p->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE, -1); -    CHECK_VALIDITY_RETURN_ANY(rerror, data && length, PA_ERR_INVALID, -1); +    CHECK_VALIDITY_RETURN_ANY(rerror, data, PA_ERR_INVALID, -1); +    CHECK_VALIDITY_RETURN_ANY(rerror, length > 0, PA_ERR_INVALID, -1);      pa_threaded_mainloop_lock(p->mainloop); @@ -375,7 +392,7 @@ int pa_simple_drain(pa_simple *p, int *rerror) {      CHECK_SUCCESS_GOTO(p, rerror, o, unlock_and_fail);      p->operation_success = 0; -    while (pa_operation_get_state(o) != PA_OPERATION_DONE) { +    while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) {          pa_threaded_mainloop_wait(p->mainloop);          CHECK_DEAD_GOTO(p, rerror, unlock_and_fail);      } @@ -411,7 +428,7 @@ int pa_simple_flush(pa_simple *p, int *rerror) {      CHECK_SUCCESS_GOTO(p, rerror, o, unlock_and_fail);      p->operation_success = 0; -    while (pa_operation_get_state(o) != PA_OPERATION_DONE) { +    while (pa_operation_get_state(o) == PA_OPERATION_RUNNING) {          pa_threaded_mainloop_wait(p->mainloop);          CHECK_DEAD_GOTO(p, rerror, unlock_and_fail);      } diff --git a/src/pulse/stream.c b/src/pulse/stream.c index 40556329..2bc2b1e4 100644 --- a/src/pulse/stream.c +++ b/src/pulse/stream.c @@ -144,12 +144,13 @@ pa_stream *pa_stream_new_with_proplist(      s->suspended = FALSE;      s->corked = FALSE; +    s->write_memblock = NULL; +    s->write_data = NULL; +      pa_memchunk_reset(&s->peek_memchunk);      s->peek_data = NULL; -      s->record_memblockq = NULL; -      memset(&s->timing_info, 0, sizeof(s->timing_info));      s->timing_info_valid = FALSE; @@ -221,6 +222,11 @@ static void stream_free(pa_stream *s) {      stream_unlink(s); +    if (s->write_memblock) { +        pa_memblock_release(s->write_memblock); +        pa_memblock_unref(s->write_data); +    } +      if (s->peek_memchunk.memblock) {          if (s->peek_data)              pa_memblock_release(s->peek_memchunk.memblock); @@ -821,7 +827,7 @@ static void create_stream_complete(pa_stream *s) {      if (s->flags & PA_STREAM_AUTO_TIMING_UPDATE) {          s->auto_timing_interval_usec = AUTO_TIMING_INTERVAL_START_USEC;          pa_assert(!s->auto_timing_update_event); -	s->auto_timing_update_event = pa_context_rttime_new(s->context, pa_rtclock_now() + s->auto_timing_interval_usec, &auto_timing_update_callback, s); +        s->auto_timing_update_event = pa_context_rttime_new(s->context, pa_rtclock_now() + s->auto_timing_interval_usec, &auto_timing_update_callback, s);          request_auto_timing_update(s, TRUE);      } @@ -861,7 +867,7 @@ static void automatic_buffer_attr(pa_stream *s, pa_buffer_attr *attr, const pa_s  void pa_create_stream_callback(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata) {      pa_stream *s = userdata; -    uint32_t requested_bytes; +    uint32_t requested_bytes = 0;      pa_assert(pd);      pa_assert(s); @@ -1166,7 +1172,7 @@ int pa_stream_connect_playback(          const char *dev,          const pa_buffer_attr *attr,          pa_stream_flags_t flags, -        pa_cvolume *volume, +        const pa_cvolume *volume,          pa_stream *sync_stream) {      pa_assert(s); @@ -1187,20 +1193,71 @@ int pa_stream_connect_record(      return create_stream(PA_STREAM_RECORD, s, dev, attr, flags, NULL, NULL);  } +int pa_stream_begin_write( +        pa_stream *s, +        void **data, +        size_t *nbytes) { + +    pa_assert(s); +    pa_assert(PA_REFCNT_VALUE(s) >= 1); + +    PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); +    PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); +    PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE); +    PA_CHECK_VALIDITY(s->context, data, PA_ERR_INVALID); +    PA_CHECK_VALIDITY(s->context, nbytes && *nbytes != 0, PA_ERR_INVALID); + +    if (*nbytes != (size_t) -1) { +        size_t m, fs; + +        m = pa_mempool_block_size_max(s->context->mempool); +        fs = pa_frame_size(&s->sample_spec); + +        m = (m / fs) * fs; +        if (*nbytes > m) +            *nbytes = m; +    } + +    if (!s->write_memblock) { +        s->write_memblock = pa_memblock_new(s->context->mempool, *nbytes); +        s->write_data = pa_memblock_acquire(s->write_memblock); +    } + +    *data = s->write_data; +    *nbytes = pa_memblock_get_length(s->write_memblock); + +    return 0; +} + +int pa_stream_cancel_write( +        pa_stream *s) { + +    pa_assert(s); +    pa_assert(PA_REFCNT_VALUE(s) >= 1); + +    PA_CHECK_VALIDITY(s->context, !pa_detect_fork(), PA_ERR_FORKED); +    PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE); +    PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE); +    PA_CHECK_VALIDITY(s->context, s->write_memblock, PA_ERR_BADSTATE); + +    pa_assert(s->write_data); + +    pa_memblock_release(s->write_memblock); +    pa_memblock_unref(s->write_memblock); +    s->write_memblock = NULL; +    s->write_data = NULL; + +    return 0; +} +  int pa_stream_write(          pa_stream *s,          const void *data,          size_t length, -        void (*free_cb)(void *p), +        pa_free_cb_t free_cb,          int64_t offset,          pa_seek_mode_t seek) { -    pa_memchunk chunk; -    pa_seek_mode_t t_seek; -    int64_t t_offset; -    size_t t_length; -    const void *t_data; -      pa_assert(s);      pa_assert(PA_REFCNT_VALUE(s) >= 1);      pa_assert(data); @@ -1210,46 +1267,71 @@ int pa_stream_write(      PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || s->direction == PA_STREAM_UPLOAD, PA_ERR_BADSTATE);      PA_CHECK_VALIDITY(s->context, seek <= PA_SEEK_RELATIVE_END, PA_ERR_INVALID);      PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_PLAYBACK || (seek == PA_SEEK_RELATIVE && offset == 0), PA_ERR_INVALID); +    PA_CHECK_VALIDITY(s->context, +                      !s->write_memblock || +                      ((data >= s->write_data) && +                       ((const char*) data + length <= (const char*) s->write_data + pa_memblock_get_length(s->write_memblock))), +                      PA_ERR_INVALID); +    PA_CHECK_VALIDITY(s->context, !free_cb || !s->write_memblock, PA_ERR_INVALID); -    if (length <= 0) -        return 0; +    if (s->write_memblock) { +        pa_memchunk chunk; -    t_seek = seek; -    t_offset = offset; -    t_length = length; -    t_data = data; +        /* pa_stream_write_begin() was called before */ -    while (t_length > 0) { +        pa_memblock_release(s->write_memblock); -        chunk.index = 0; +        chunk.memblock = s->write_memblock; +        chunk.index = (const char *) data - (const char *) s->write_data; +        chunk.length = length; -        if (free_cb && !pa_pstream_get_shm(s->context->pstream)) { -            chunk.memblock = pa_memblock_new_user(s->context->mempool, (void*) t_data, t_length, free_cb, 1); -            chunk.length = t_length; -        } else { -            void *d; +        s->write_memblock = NULL; +        s->write_data = NULL; -            chunk.length = PA_MIN(t_length, pa_mempool_block_size_max(s->context->mempool)); -            chunk.memblock = pa_memblock_new(s->context->mempool, chunk.length); +        pa_pstream_send_memblock(s->context->pstream, s->channel, offset, seek, &chunk); +        pa_memblock_unref(chunk.memblock); -            d = pa_memblock_acquire(chunk.memblock); -            memcpy(d, t_data, chunk.length); -            pa_memblock_release(chunk.memblock); -        } +    } else { +        pa_seek_mode_t t_seek = seek; +        int64_t t_offset = offset; +        size_t t_length = length; +        const void *t_data = data; -        pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk); +        /* pa_stream_write_begin() was not called before */ -        t_offset = 0; -        t_seek = PA_SEEK_RELATIVE; +        while (t_length > 0) { +            pa_memchunk chunk; -        t_data = (const uint8_t*) t_data + chunk.length; -        t_length -= chunk.length; +            chunk.index = 0; -        pa_memblock_unref(chunk.memblock); -    } +            if (free_cb && !pa_pstream_get_shm(s->context->pstream)) { +                chunk.memblock = pa_memblock_new_user(s->context->mempool, (void*) t_data, t_length, free_cb, 1); +                chunk.length = t_length; +            } else { +                void *d; + +                chunk.length = PA_MIN(t_length, pa_mempool_block_size_max(s->context->mempool)); +                chunk.memblock = pa_memblock_new(s->context->mempool, chunk.length); + +                d = pa_memblock_acquire(chunk.memblock); +                memcpy(d, t_data, chunk.length); +                pa_memblock_release(chunk.memblock); +            } -    if (free_cb && pa_pstream_get_shm(s->context->pstream)) -        free_cb((void*) data); +            pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk); + +            t_offset = 0; +            t_seek = PA_SEEK_RELATIVE; + +            t_data = (const uint8_t*) t_data + chunk.length; +            t_length -= chunk.length; + +            pa_memblock_unref(chunk.memblock); +        } + +        if (free_cb && pa_pstream_get_shm(s->context->pstream)) +            free_cb((void*) data); +    }      /* This is obviously wrong since we ignore the seeking index . But       * that's OK, the server side applies the same error */ diff --git a/src/pulse/stream.h b/src/pulse/stream.h index 49c132a2..8a08421f 100644 --- a/src/pulse/stream.h +++ b/src/pulse/stream.h @@ -405,7 +405,7 @@ int pa_stream_connect_playback(          const char *dev               /**< Name of the sink to connect to, or NULL for default */ ,          const pa_buffer_attr *attr    /**< Buffering attributes, or NULL for default */,          pa_stream_flags_t flags       /**< Additional flags, or 0 for default */, -        pa_cvolume *volume            /**< Initial volume, or NULL for default */, +        const pa_cvolume *volume      /**< Initial volume, or NULL for default */,          pa_stream *sync_stream        /**< Synchronize this stream with the specified one, or NULL for a standalone stream*/);  /** Connect the stream to a source */ @@ -418,15 +418,71 @@ int pa_stream_connect_record(  /** Disconnect a stream from a source/sink */  int pa_stream_disconnect(pa_stream *s); -/** Write some data to the server (for playback sinks), if free_cb is - * non-NULL this routine is called when all data has been written out - * and an internal reference to the specified data is kept, the data - * is not copied. If NULL, the data is copied into an internal - * buffer. The client my freely seek around in the output buffer. For +/** Prepare writing data to the server (for playback streams). This + * function may be used to optimize the number of memory copies when + * doing playback ("zero-copy"). It is recommended to call this + * function before each call to pa_stream_write(). Pass in the address + * to a pointer and an address of the number of bytes you want to + * write. On return the two values will contain a pointer where you + * can place the data to write and the maximum number of bytes you can + * write. On return *nbytes can be smaller or have the same value as + * you passed in. You need to be able to handle both cases. Accessing + * memory beyond the returned *nbytes value is invalid. Acessing the + * memory returned after the following pa_stream_write() or + * pa_stream_cancel_write() is invalid. On invocation only *nbytes + * needs to be initialized, on return both *data and *nbytes will be + * valid. If you place (size_t) -1 in *nbytes on invocation the memory + * size will be chosen automatically (which is recommended to + * do). After placing your data in the memory area returned call + * pa_stream_write() with data set to an address within this memory + * area and an nbytes value that is smaller or equal to what was + * returned by this function to actually execute the write. An + * invocation of pa_stream_write() should follow "quickly" on + * pa_stream_begin_write(). It is not recommended letting an unbounded + * amount of time pass after calling pa_stream_begin_write() and + * before calling pa_stream_write(). If you want to cancel a + * previously called pa_stream_begin_write() without calling + * pa_stream_write() use pa_stream_cancel_write(). Calling + * pa_stream_begin_write() twice without calling pa_stream_write() or + * pa_stream_cancel_write() in between will return exactly the same + * pointer/nbytes values.\since 0.9.16 */ +int pa_stream_begin_write( +        pa_stream *p, +        void **data, +        size_t *nbytes); + +/** Reverses the effect of pa_stream_begin_write() dropping all data + * that has already been placed in the memory area returned by + * pa_stream_begin_write(). Only valid to call if + * pa_stream_begin_write() was called before and neither + * pa_stream_cancel_write() nor pa_stream_write() have been called + * yet. Accessing the memory previously returned by + * pa_stream_begin_write() after this call is invalid. Any further + * explicit freeing of the memory area is not necessary. \since + * 0.9.16 */ +int pa_stream_cancel_write( +        pa_stream *p); + +/** Write some data to the server (for playback streams), if free_cb + * is non-NULL this routine is called when all data has been written + * out and an internal reference to the specified data is kept, the + * data is not copied. If NULL, the data is copied into an internal + * buffer. The client may freely seek around in the output buffer. For   * most applications passing 0 and PA_SEEK_RELATIVE as arguments for   * offset and seek should be useful. Afte ther write call succeeded   * the write index will be a the position after where this chunk of - * data has been written to. */ + * data has been written to. + * + * As an optimization for avoiding needless memory copies you may call + * pa_stream_begin_write() before this call and then place your audio + * data directly in the memory area returned by that call. Then, pass + * a pointer to that memory area to pa_stream_write(). After the + * invocation of pa_stream_write() the memory area may no longer be + * accessed. Any further explicit freeing of the memory area is not + * necessary. It is OK to write the memory area returned by + * pa_stream_begin_write() only partially with this call, skipping + * bytes both at the end and at the beginning of the reserved memory + * area.*/  int pa_stream_write(          pa_stream *p             /**< The stream to use */,          const void *data         /**< The data to write */, @@ -435,11 +491,12 @@ int pa_stream_write(          int64_t offset,          /**< Offset for seeking, must be 0 for upload streams */          pa_seek_mode_t seek      /**< Seek mode, must be PA_SEEK_RELATIVE for upload streams */); -/** Read the next fragment from the buffer (for recording). - * data will point to the actual data and length will contain the size - * of the data in bytes (which can be less than a complete framgnet). - * Use pa_stream_drop() to actually remove the data from the - * buffer. If no data is available will return a NULL pointer */ +/** Read the next fragment from the buffer (for recording streams). + * data will point to the actual data and nbytes will contain the size + * of the data in bytes (which can be less or more than a complete + * fragment).  Use pa_stream_drop() to actually remove the data from + * the buffer. If no data is available this will return a NULL + * pointer */  int pa_stream_peek(          pa_stream *p                 /**< The stream to use */,          const void **data            /**< Pointer to pointer that will point to data */, @@ -455,7 +512,9 @@ size_t pa_stream_writable_size(pa_stream *p);  /** Return the number of bytes that may be read using pa_stream_peek()*/  size_t pa_stream_readable_size(pa_stream *p); -/** Drain a playback stream. Use this for notification when the buffer is empty */ +/** Drain a playback stream. Use this for notification when the buffer + * is empty. Please note that only one drain operation per stream may + * be issued at a time. */  pa_operation* pa_stream_drain(pa_stream *s, pa_stream_success_cb_t cb, void *userdata);  /** Request a timing info structure update for a stream. Use diff --git a/src/pulse/thread-mainloop.c b/src/pulse/thread-mainloop.c index 6916d867..a2b98ce1 100644 --- a/src/pulse/thread-mainloop.c +++ b/src/pulse/thread-mainloop.c @@ -51,7 +51,7 @@  struct pa_threaded_mainloop {      pa_mainloop *real_mainloop; -    int n_waiting; +    int n_waiting, n_waiting_for_accept;      pa_thread* thread;      pa_mutex* mutex; @@ -190,8 +190,12 @@ void pa_threaded_mainloop_signal(pa_threaded_mainloop *m, int wait_for_accept) {      pa_cond_signal(m->cond, 1); -    if (wait_for_accept && m->n_waiting > 0) -        pa_cond_wait(m->accept_cond, m->mutex); +    if (wait_for_accept) { +        m->n_waiting_for_accept ++; + +        while (m->n_waiting_for_accept > 0) +            pa_cond_wait(m->accept_cond, m->mutex); +    }  }  void pa_threaded_mainloop_wait(pa_threaded_mainloop *m) { @@ -214,6 +218,9 @@ void pa_threaded_mainloop_accept(pa_threaded_mainloop *m) {      /* Make sure that this function is not called from the helper thread */      pa_assert(!m->thread || !pa_thread_is_running(m->thread) || !in_worker(m)); +    pa_assert(m->n_waiting_for_accept > 0); +    m->n_waiting_for_accept --; +      pa_cond_signal(m->accept_cond, 0);  } diff --git a/src/pulse/thread-mainloop.h b/src/pulse/thread-mainloop.h index 8eddce4c..e847070d 100644 --- a/src/pulse/thread-mainloop.h +++ b/src/pulse/thread-mainloop.h @@ -137,15 +137,19 @@ PA_C_DECL_BEGIN   * The main function, my_drain_stream_func(), will wait for the callback to   * be called using pa_threaded_mainloop_wait().   * - * If your application is multi-threaded, then this waiting must be done - * inside a while loop. The reason for this is that multiple threads might be - * using pa_threaded_mainloop_wait() at the same time. Each thread must - * therefore verify that it was its callback that was invoked. + * If your application is multi-threaded, then this waiting must be + * done inside a while loop. The reason for this is that multiple + * threads might be using pa_threaded_mainloop_wait() at the same + * time. Each thread must therefore verify that it was its callback + * that was invoked. Also the underlying OS synchronization primitives + * are usually not free of spurious wake-ups, so a + * pa_threaded_mainloop_wait() must be called within a loop even if + * you have only one thread waiting.   *   * The callback, my_drain_callback(), indicates to the main function that it   * has been called using pa_threaded_mainloop_signal().   * - * As you can see, both pa_threaded_mainloop_wait() may only be called with + * As you can see, pa_threaded_mainloop_wait() may only be called with   * the lock held. The same thing is true for pa_threaded_mainloop_signal(),   * but as the lock is held before the callback is invoked, you do not have to   * deal with that. @@ -274,7 +278,9 @@ void pa_threaded_mainloop_unlock(pa_threaded_mainloop *m);   * inside the event loop thread. Prior to this call the event loop   * object needs to be locked using pa_threaded_mainloop_lock(). While   * waiting the lock will be released, immediately before returning it - * will be acquired again. */ + * will be acquired again. This function may spuriously wake up even + * without _signal() being called. You need to make sure to handle + * that! */  void pa_threaded_mainloop_wait(pa_threaded_mainloop *m);  /** Signal all threads waiting for a signalling event in diff --git a/src/pulse/volume.c b/src/pulse/volume.c index 42cde5b9..c23f360b 100644 --- a/src/pulse/volume.c +++ b/src/pulse/volume.c @@ -205,9 +205,12 @@ pa_volume_t pa_sw_volume_from_linear(double v) {       *       * http://www.robotplanet.dk/audio/audio_gui_design/       * http://lists.linuxaudio.org/pipermail/linux-audio-dev/2009-May/thread.html#23151 +     * +     * We make sure that the conversion to linear and back yields the +     * same volume value! That's why we need the lround() below!       */ -    return (pa_volume_t) (cbrt(v) * PA_VOLUME_NORM); +    return (pa_volume_t) lround(cbrt(v) * PA_VOLUME_NORM);  }  double pa_sw_volume_to_linear(pa_volume_t v) { diff --git a/src/pulsecore/asyncmsgq.c b/src/pulsecore/asyncmsgq.c index e191b05f..b0804f79 100644 --- a/src/pulsecore/asyncmsgq.c +++ b/src/pulsecore/asyncmsgq.c @@ -26,14 +26,16 @@  #include <unistd.h>  #include <errno.h> +#include <pulse/xmalloc.h> +  #include <pulsecore/atomic.h> +#include <pulsecore/macro.h>  #include <pulsecore/log.h>  #include <pulsecore/thread.h>  #include <pulsecore/semaphore.h>  #include <pulsecore/macro.h>  #include <pulsecore/core-util.h>  #include <pulsecore/flist.h> -#include <pulse/xmalloc.h>  #include "asyncmsgq.h" @@ -76,7 +78,7 @@ static void asyncmsgq_free(pa_asyncmsgq *a) {      struct asyncmsgq_item *i;      pa_assert(a); -    while ((i = pa_asyncq_pop(a->asyncq, 0))) { +    while ((i = pa_asyncq_pop(a->asyncq, FALSE))) {          pa_assert(!i->semaphore); @@ -172,11 +174,11 @@ int pa_asyncmsgq_send(pa_asyncmsgq *a, pa_msgobject *object, int code, const voi      return i.ret;  } -int pa_asyncmsgq_get(pa_asyncmsgq *a, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *chunk, pa_bool_t wait) { +int pa_asyncmsgq_get(pa_asyncmsgq *a, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *chunk, pa_bool_t wait_op) {      pa_assert(PA_REFCNT_VALUE(a) > 0);      pa_assert(!a->current); -    if (!(a->current = pa_asyncq_pop(a->asyncq, wait))) { +    if (!(a->current = pa_asyncq_pop(a->asyncq, wait_op))) {  /*         pa_log("failure"); */          return -1;      } @@ -246,7 +248,7 @@ int pa_asyncmsgq_wait_for(pa_asyncmsgq *a, int code) {          pa_memchunk chunk;          int ret; -        if (pa_asyncmsgq_get(a, &o, &c, &data, &offset, &chunk, 1) < 0) +        if (pa_asyncmsgq_get(a, &o, &c, &data, &offset, &chunk, TRUE) < 0)              return -1;          ret = pa_asyncmsgq_dispatch(o, c, data, offset, &chunk); @@ -269,7 +271,7 @@ int pa_asyncmsgq_process_one(pa_asyncmsgq *a) {      pa_assert(PA_REFCNT_VALUE(a) > 0); -    if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, 0) < 0) +    if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, FALSE) < 0)          return 0;      pa_asyncmsgq_ref(a); @@ -323,3 +325,35 @@ int pa_asyncmsgq_dispatch(pa_msgobject *object, int code, void *userdata, int64_      return 0;  } + +void pa_asyncmsgq_flush(pa_asyncmsgq *a, pa_bool_t run) { +    pa_assert(PA_REFCNT_VALUE(a) > 0); + +    for (;;) { +        pa_msgobject *object; +        int code; +        void *data; +        int64_t offset; +        pa_memchunk chunk; +        int ret; + +        if (pa_asyncmsgq_get(a, &object, &code, &data, &offset, &chunk, FALSE) < 0) +            return; + +        if (!run) { +            pa_asyncmsgq_done(a, -1); +            continue; +        } + +        pa_asyncmsgq_ref(a); +        ret = pa_asyncmsgq_dispatch(object, code, data, offset, &chunk); +        pa_asyncmsgq_done(a, ret); +        pa_asyncmsgq_unref(a); +    } +} + +pa_bool_t pa_asyncmsgq_dispatching(pa_asyncmsgq *a) { +    pa_assert(PA_REFCNT_VALUE(a) > 0); + +    return !!a->current; +} diff --git a/src/pulsecore/asyncmsgq.h b/src/pulsecore/asyncmsgq.h index 1f38207a..1085c2f0 100644 --- a/src/pulsecore/asyncmsgq.h +++ b/src/pulsecore/asyncmsgq.h @@ -66,6 +66,8 @@ void pa_asyncmsgq_done(pa_asyncmsgq *q, int ret);  int pa_asyncmsgq_wait_for(pa_asyncmsgq *a, int code);  int pa_asyncmsgq_process_one(pa_asyncmsgq *a); +void pa_asyncmsgq_flush(pa_asyncmsgq *a, pa_bool_t run); +  /* For the reading side */  int pa_asyncmsgq_read_fd(pa_asyncmsgq *q);  int pa_asyncmsgq_read_before_poll(pa_asyncmsgq *a); @@ -76,4 +78,6 @@ int pa_asyncmsgq_write_fd(pa_asyncmsgq *q);  void pa_asyncmsgq_write_before_poll(pa_asyncmsgq *a);  void pa_asyncmsgq_write_after_poll(pa_asyncmsgq *a); +pa_bool_t pa_asyncmsgq_dispatching(pa_asyncmsgq *a); +  #endif diff --git a/src/pulsecore/aupdate.c b/src/pulsecore/aupdate.c index 56ebb8e5..85b6e00e 100644 --- a/src/pulsecore/aupdate.c +++ b/src/pulsecore/aupdate.c @@ -39,6 +39,7 @@ struct pa_aupdate {      pa_atomic_t read_lock;      pa_mutex *write_lock;      pa_semaphore *semaphore; +    pa_bool_t swapped;  };  pa_aupdate *pa_aupdate_new(void) { @@ -101,6 +102,8 @@ unsigned pa_aupdate_write_begin(pa_aupdate *a) {      n = (unsigned) pa_atomic_load(&a->read_lock); +    a->swapped = FALSE; +      return !WHICH(n);  } @@ -119,11 +122,16 @@ unsigned pa_aupdate_write_swap(pa_aupdate *a) {              break;      } +    a->swapped = TRUE; +      return WHICH(n);  }  void pa_aupdate_write_end(pa_aupdate *a) {      pa_assert(a); +    if (!a->swapped) +        pa_aupdate_write_swap(a); +      pa_mutex_unlock(a->write_lock);  } diff --git a/src/pulsecore/aupdate.h b/src/pulsecore/aupdate.h index 072e382d..fb38ffa2 100644 --- a/src/pulsecore/aupdate.h +++ b/src/pulsecore/aupdate.h @@ -93,6 +93,10 @@ unsigned pa_aupdate_write_swap(pa_aupdate *a);   *    pa_update_write_end(a)   * }   * + * In some cases keeping both structures up-to-date might not be + * necessary, since they are fully rebuilt on each iteration + * anyway. In that case you may leave the _write_swap() call out, it + * will then be done implicitly in the _write_end() invocation.   */  #endif diff --git a/src/pulsecore/authkey.c b/src/pulsecore/authkey.c index 1e31d076..15613e27 100644 --- a/src/pulsecore/authkey.c +++ b/src/pulsecore/authkey.c @@ -36,6 +36,7 @@  #include <sys/stat.h>  #include <pulse/util.h> +#include <pulse/xmalloc.h>  #include <pulsecore/core-error.h>  #include <pulsecore/core-util.h>  #include <pulsecore/log.h> @@ -147,47 +148,46 @@ int pa_authkey_load(const char *path, void *data, size_t length) {  /* If the specified file path starts with / return it, otherwise   * return path prepended with home directory */ -static const char *normalize_path(const char *fn, char *s, size_t l) { +static char *normalize_path(const char *fn) {      pa_assert(fn); -    pa_assert(s); -    pa_assert(l > 0);  #ifndef OS_IS_WIN32      if (fn[0] != '/') {  #else      if (strlen(fn) < 3 || !isalpha(fn[0]) || fn[1] != ':' || fn[2] != '\\') {  #endif -        char homedir[PATH_MAX]; +        char *homedir, *s; -        if (!pa_get_home_dir(homedir, sizeof(homedir))) +        if (!(homedir = pa_get_home_dir_malloc()))              return NULL; -#ifndef OS_IS_WIN32 -        pa_snprintf(s, l, "%s/%s", homedir, fn); -#else -        pa_snprintf(s, l, "%s\\%s", homedir, fn); -#endif +        s = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", homedir, fn); +        pa_xfree(homedir); +          return s;      } -    return fn; +    return pa_xstrdup(fn);  }  /* Load a cookie from a file in the home directory. If the specified   * path starts with /, use it as absolute path instead. */  int pa_authkey_load_auto(const char *fn, void *data, size_t length) { -    char path[PATH_MAX]; -    const char *p; +    char *p; +    int ret;      pa_assert(fn);      pa_assert(data);      pa_assert(length > 0); -    if (!(p = normalize_path(fn, path, sizeof(path)))) +    if (!(p = normalize_path(fn)))          return -2; -    return pa_authkey_load(p, data, length); +    ret = pa_authkey_load(p, data, length); +    pa_xfree(p); + +    return ret;  }  /* Store the specified cookie in the specified cookie file */ @@ -195,14 +195,13 @@ int pa_authkey_save(const char *fn, const void *data, size_t length) {      int fd = -1;      int unlock = 0, ret = -1;      ssize_t r; -    char path[PATH_MAX]; -    const char *p; +    char *p;      pa_assert(fn);      pa_assert(data);      pa_assert(length > 0); -    if (!(p = normalize_path(fn, path, sizeof(path)))) +    if (!(p = normalize_path(fn)))          return -2;      if ((fd = open(p, O_RDWR|O_CREAT|O_NOCTTY, S_IRUSR|S_IWUSR)) < 0) { @@ -232,5 +231,7 @@ finish:          }      } +    pa_xfree(p); +      return ret;  } diff --git a/src/pulsecore/cli-text.c b/src/pulsecore/cli-text.c index 9395513d..a5530991 100644 --- a/src/pulsecore/cli-text.c +++ b/src/pulsecore/cli-text.c @@ -296,7 +296,7 @@ char *pa_sink_list_to_string(pa_core *c) {              pa_strbuf_printf(                      s,                      "\tfixed latency: %0.2f ms\n", -                    (double) pa_sink_get_requested_latency(sink) / PA_USEC_PER_MSEC); +                    (double) pa_sink_get_fixed_latency(sink) / PA_USEC_PER_MSEC);          if (sink->card)              pa_strbuf_printf(s, "\tcard: %u <%s>\n", sink->card->index, sink->card->name); @@ -415,7 +415,7 @@ char *pa_source_list_to_string(pa_core *c) {              pa_strbuf_printf(                      s,                      "\tfixed latency: %0.2f ms\n", -                    (double) pa_source_get_requested_latency(source) / PA_USEC_PER_MSEC); +                    (double) pa_source_get_fixed_latency(source) / PA_USEC_PER_MSEC);          if (source->monitor_of)              pa_strbuf_printf(s, "\tmonitor_of: %u\n", source->monitor_of->index); @@ -482,7 +482,7 @@ char *pa_source_output_list_to_string(pa_core *c) {              s,              "    index: %u\n"              "\tdriver: <%s>\n" -            "\tflags: %s%s%s%s%s%s%s%s%s%s\n" +            "\tflags: %s%s%s%s%s%s%s%s%s%s%s\n"              "\tstate: %s\n"              "\tsource: %u <%s>\n"              "\tcurrent latency: %0.2f ms\n" @@ -501,7 +501,8 @@ char *pa_source_output_list_to_string(pa_core *c) {              o->flags & PA_SOURCE_OUTPUT_FIX_RATE ? "FIX_RATE " : "",              o->flags & PA_SOURCE_OUTPUT_FIX_CHANNELS ? "FIX_CHANNELS " : "",              o->flags & PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND ? "DONT_INHIBIT_AUTO_SUSPEND " : "", -            o->flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND ? "FAIL_ON_SUSPEND " : "", +            o->flags & PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND ? "NO_CREATE_ON_SUSPEND " : "", +            o->flags & PA_SOURCE_OUTPUT_KILL_ON_SUSPEND ? "KILL_ON_SUSPEND " : "",              state_table[pa_source_output_get_state(o)],              o->source->index, o->source->name,              (double) pa_source_output_get_latency(o, NULL) / PA_USEC_PER_MSEC, @@ -564,7 +565,7 @@ char *pa_sink_input_list_to_string(pa_core *c) {              s,              "    index: %u\n"              "\tdriver: <%s>\n" -            "\tflags: %s%s%s%s%s%s%s%s%s%s\n" +            "\tflags: %s%s%s%s%s%s%s%s%s%s%s\n"              "\tstate: %s\n"              "\tsink: %u <%s>\n"              "\tvolume: %s\n" @@ -587,7 +588,8 @@ char *pa_sink_input_list_to_string(pa_core *c) {              i->flags & PA_SINK_INPUT_FIX_RATE ? "FIX_RATE " : "",              i->flags & PA_SINK_INPUT_FIX_CHANNELS ? "FIX_CHANNELS " : "",              i->flags & PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND ? "DONT_INHIBIT_AUTO_SUSPEND " : "", -            i->flags & PA_SINK_INPUT_FAIL_ON_SUSPEND ? "FAIL_ON_SUSPEND " : "", +            i->flags & PA_SINK_INPUT_NO_CREATE_ON_SUSPEND ? "NO_CREATE_SUSPEND " : "", +            i->flags & PA_SINK_INPUT_KILL_ON_SUSPEND ? "KILL_ON_SUSPEND " : "",              state_table[pa_sink_input_get_state(i)],              i->sink->index, i->sink->name,              pa_cvolume_snprint(cv, sizeof(cv), &v), diff --git a/src/pulsecore/conf-parser.c b/src/pulsecore/conf-parser.c index 2dc9a223..b4ab23cc 100644 --- a/src/pulsecore/conf-parser.c +++ b/src/pulsecore/conf-parser.c @@ -278,6 +278,30 @@ int pa_config_parse_bool(const char *filename, unsigned line, const char *sectio      return 0;  } +int pa_config_parse_not_bool( +        const char *filename, unsigned line, +        const char *section, +        const char *lvalue, const char *rvalue, +        void *data, void *userdata) { + +    int k; +    pa_bool_t *b = data; + +    pa_assert(filename); +    pa_assert(lvalue); +    pa_assert(rvalue); +    pa_assert(data); + +    if ((k = pa_parse_boolean(rvalue)) < 0) { +        pa_log("[%s:%u] Failed to parse boolean value: %s", filename, line, rvalue); +        return -1; +    } + +    *b = !k; + +    return 0; +} +  int pa_config_parse_string(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata) {      char **s = data; diff --git a/src/pulsecore/conf-parser.h b/src/pulsecore/conf-parser.h index 08e17ca7..c6c8a148 100644 --- a/src/pulsecore/conf-parser.h +++ b/src/pulsecore/conf-parser.h @@ -47,6 +47,7 @@ int pa_config_parse_int(const char *filename, unsigned line, const char *section  int pa_config_parse_unsigned(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);  int pa_config_parse_size(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);  int pa_config_parse_bool(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata); +int pa_config_parse_not_bool(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);  int pa_config_parse_string(const char *filename, unsigned line, const char *section, const char *lvalue, const char *rvalue, void *data, void *userdata);  #endif diff --git a/src/pulsecore/core-scache.c b/src/pulsecore/core-scache.c index 4c5a4b26..fde12ecf 100644 --- a/src/pulsecore/core-scache.c +++ b/src/pulsecore/core-scache.c @@ -494,13 +494,14 @@ int pa_scache_add_directory_lazy(pa_core *c, const char *pathname) {          struct dirent *e;          while ((e = readdir(dir))) { -            char p[PATH_MAX]; +            char *p;              if (e->d_name[0] == '.')                  continue; -            pa_snprintf(p, sizeof(p), "%s/%s", pathname, e->d_name); +            p = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", pathname, e->d_name);              add_file(c, p); +            pa_xfree(p);          }          closedir(dir); diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index ebddf363..e83563f9 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -101,6 +101,10 @@  #include "rtkit.h"  #endif +#ifdef __linux__ +#include <sys/personality.h> +#endif +  #include <pulse/xmalloc.h>  #include <pulse/util.h>  #include <pulse/utf8.h> @@ -552,12 +556,20 @@ char *pa_vsprintf_malloc(const char *format, va_list ap) {  /* Similar to OpenBSD's strlcpy() function */  char *pa_strlcpy(char *b, const char *s, size_t l) { +    size_t k; +      pa_assert(b);      pa_assert(s);      pa_assert(l > 0); -    strncpy(b, s, l); -    b[l-1] = 0; +    k = strlen(s); + +    if (k > l-1) +        k = l-1; + +    memcpy(b, s, k); +    b[k] = 0; +      return b;  } @@ -1328,26 +1340,32 @@ int pa_unlock_lockfile(const char *fn, int fd) {  }  static char *get_pulse_home(void) { -    char h[PATH_MAX]; +    char *h;      struct stat st; +    char *ret = NULL; -    if (!pa_get_home_dir(h, sizeof(h))) { +    if (!(h = pa_get_home_dir_malloc())) {          pa_log_error("Failed to get home directory.");          return NULL;      }      if (stat(h, &st) < 0) {          pa_log_error("Failed to stat home directory %s: %s", h, pa_cstrerror(errno)); -        return NULL; +        goto finish;      }      if (st.st_uid != getuid()) {          pa_log_error("Home directory %s not ours.", h);          errno = EACCES; -        return NULL; +        goto finish;      } -    return pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h); +    ret = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h); + +finish: +    pa_xfree(h); + +    return ret;  }  char *pa_get_state_dir(void) { @@ -1372,6 +1390,50 @@ char *pa_get_state_dir(void) {      return d;  } +char *pa_get_home_dir_malloc(void) { +    char *homedir; +    size_t allocated = 128; + +    for (;;) { +        homedir = pa_xmalloc(allocated); + +        if (!pa_get_home_dir(homedir, allocated)) { +            pa_xfree(homedir); +            return NULL; +        } + +        if (strlen(homedir) < allocated - 1) +            break; + +        pa_xfree(homedir); +        allocated *= 2; +    } + +    return homedir; +} + +char *pa_get_binary_name_malloc(void) { +    char *t; +    size_t allocated = 128; + +    for (;;) { +        t = pa_xmalloc(allocated); + +        if (!pa_get_binary_name(t, allocated)) { +            pa_xfree(t); +            return NULL; +        } + +        if (strlen(t) < allocated - 1) +            break; + +        pa_xfree(t); +        allocated *= 2; +    } + +    return t; +} +  static char* make_random_dir(mode_t m) {      static const char table[] =          "abcdefghijklmnopqrstuvwxyz" @@ -1481,7 +1543,7 @@ char *pa_get_runtime_dir(void) {          goto fail;      } -    k = pa_sprintf_malloc("%s" PA_PATH_SEP "%s:runtime", d, mid); +    k = pa_sprintf_malloc("%s" PA_PATH_SEP "%s-runtime", d, mid);      pa_xfree(d);      pa_xfree(mid); @@ -1626,14 +1688,15 @@ FILE *pa_open_config_file(const char *global, const char *local, const char *env      if (local) {          const char *e;          char *lfn; -        char h[PATH_MAX]; +        char *h;          FILE *f;          if ((e = getenv("PULSE_CONFIG_PATH")))              fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", e, local); -        else if (pa_get_home_dir(h, sizeof(h))) +        else if ((h = pa_get_home_dir_malloc())) {              fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse" PA_PATH_SEP "%s", h, local); -        else +            pa_xfree(h); +        } else              return NULL;  #ifdef OS_IS_WIN32 @@ -1713,13 +1776,14 @@ char *pa_find_config_file(const char *global, const char *local, const char *env      if (local) {          const char *e;          char *lfn; -        char h[PATH_MAX]; +        char *h;          if ((e = getenv("PULSE_CONFIG_PATH")))              fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", e, local); -        else if (pa_get_home_dir(h, sizeof(h))) +        else if ((h = pa_get_home_dir_malloc())) {              fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse" PA_PATH_SEP "%s", h, local); -        else +            pa_xfree(h); +        } else              return NULL;  #ifdef OS_IS_WIN32 @@ -1904,7 +1968,7 @@ static char *get_path(const char *fn, pa_bool_t prependmid, pa_bool_t rt) {                  return NULL;              } -            r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s:%s", rtp, mid, fn); +            r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s-%s", rtp, mid, fn);              pa_xfree(mid);          } else              r = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", rtp, fn); @@ -2801,3 +2865,28 @@ char* pa_maybe_prefix_path(const char *path, const char *prefix) {      return pa_sprintf_malloc("%s" PA_PATH_SEP "%s", prefix, path);  } + +size_t pa_pipe_buf(int fd) { + +#ifdef _PC_PIPE_BUF +    long n; + +    if ((n = fpathconf(fd, _PC_PIPE_BUF)) >= 0) +        return (size_t) n; +#endif + +#ifdef PIPE_BUF +    return PIPE_BUF; +#else +    return 4096; +#endif +} + +void pa_reset_personality(void) { + +#ifdef __linux__ +    if (personality(PER_LINUX) < 0) +        pa_log_warn("Uh, personality() failed: %s", pa_cstrerror(errno)); +#endif + +} diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h index aaa51bd6..3db55106 100644 --- a/src/pulsecore/core-util.h +++ b/src/pulsecore/core-util.h @@ -126,6 +126,8 @@ char* pa_find_config_file(const char *global, const char *local, const char *env  char *pa_get_runtime_dir(void);  char *pa_get_state_dir(void); +char *pa_get_home_dir_malloc(void); +char *pa_get_binary_name_malloc(void);  char *pa_runtime_path(const char *fn);  char *pa_state_path(const char *fn, pa_bool_t prepend_machine_id); @@ -243,4 +245,9 @@ char **pa_split_spaces_strv(const char *s);  char* pa_maybe_prefix_path(const char *path, const char *prefix); +/* Returns size of the specified pipe or 4096 on failure */ +size_t pa_pipe_buf(int fd); + +void pa_reset_personality(void); +  #endif diff --git a/src/pulsecore/database-simple.c b/src/pulsecore/database-simple.c new file mode 100644 index 00000000..1f4caf71 --- /dev/null +++ b/src/pulsecore/database-simple.c @@ -0,0 +1,510 @@ +/*** +  This file is part of PulseAudio. + +  Copyright 2009 Nokia Corporation +  Contact: Maemo Multimedia <multimedia@maemo.org> + +  PulseAudio is free software; you can redistribute it and/or modify +  it under the terms of the GNU Lesser General Public License as +  published by the Free Software Foundation; either version 2.1 of the +  License, or (at your option) any later version. + +  PulseAudio is distributed in the hope that it will be useful, but +  WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +  Lesser 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 <errno.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <fcntl.h> +#include <unistd.h> +#include <stdio.h> + +#include <pulse/xmalloc.h> +#include <pulsecore/core-util.h> +#include <pulsecore/log.h> +#include <pulsecore/core-error.h> +#include <pulsecore/hashmap.h> + +#include "database.h" + + +typedef struct simple_data { +    char *filename; +    char *tmp_filename; +    pa_hashmap *map; +    pa_bool_t read_only; +} simple_data; + +typedef struct entry { +    pa_datum key; +    pa_datum data; +} entry; + +void pa_datum_free(pa_datum *d) { +    pa_assert(d); + +    pa_xfree(d->data); +    d->data = NULL; +    d->size = 0; +} + +static int compare_func(const void *a, const void *b) { +    const pa_datum *aa, *bb; + +    aa = (const pa_datum*)a; +    bb = (const pa_datum*)b; + +    if (aa->size != bb->size) +        return aa->size > bb->size ? 1 : -1; + +    return memcmp(aa->data, bb->data, aa->size); +} + +/* pa_idxset_string_hash_func modified for our use */ +static unsigned hash_func(const void *p) { +    const pa_datum *d; +    unsigned hash = 0; +    const char *c; +    unsigned i; + +    d = (const pa_datum*)p; +    c = d->data; + +    for (i = 0; i < d->size; i++) { +        hash = 31 * hash + (unsigned) *c; +        c++; +    } + +    return hash; +} + +static entry* new_entry(const pa_datum *key, const pa_datum *data) { +    entry *e; + +    pa_assert(key); +    pa_assert(data); + +    e = pa_xnew0(entry, 1); +    e->key.data = key->size > 0 ? pa_xmemdup(key->data, key->size) : NULL; +    e->key.size = key->size; +    e->data.data = data->size > 0 ? pa_xmemdup(data->data, data->size) : NULL; +    e->data.size = data->size; +    return e; +} + +static void free_entry(entry *e) { +    if (e) { +        if (e->key.data) +            pa_xfree(e->key.data); +        if (e->data.data) +            pa_xfree(e->data.data); +        pa_xfree(e); +    } +} + +static int read_uint(FILE *f, uint32_t *res) { +    size_t items = 0; +    uint8_t values[4]; +    uint32_t tmp; +    int i; + +    items = fread(&values, sizeof(values), sizeof(uint8_t), f); + +    if (feof(f)) /* EOF */ +        return 0; + +    if (ferror(f)) +        return -1; + +    for (i = 0; i < 4; ++i) { +        tmp = values[i]; +        *res += (tmp << (i*8)); +    } + +    return items; +} + +static int read_data(FILE *f, void **data, ssize_t *length) { +    size_t items = 0; +    uint32_t data_len = 0; + +    pa_assert(f); + +    *data = NULL; +    *length = 0; + +    if ((items = read_uint(f, &data_len)) <= 0) +        return -1; + +    if (data_len > 0) { +        *data = pa_xmalloc0(data_len); +        items = fread(*data, data_len, 1, f); + +        if (feof(f)) /* EOF */ +            goto reset; + +        if (ferror(f)) +            goto reset; + +        *length = data_len; + +    } else { /* no data? */ +        return -1; +    } + +    return 0; + +reset: +    pa_xfree(*data); +    *data = NULL; +    *length = 0; +    return -1; +} + +static int fill_data(simple_data *db, FILE *f) { +    pa_datum key; +    pa_datum data; +    void *d = NULL; +    ssize_t l = 0; +    pa_bool_t append = FALSE; +    enum { FIELD_KEY = 0, FIELD_DATA } field = FIELD_KEY; + +    pa_assert(db); +    pa_assert(db->map); + +    errno = 0; + +    key.size = 0; +    key.data = NULL; + +    while (!read_data(f, &d, &l)) { + +        switch (field) { +            case FIELD_KEY: +                key.data = d; +                key.size = l; +                field = FIELD_DATA; +                break; +            case FIELD_DATA: +                data.data = d; +                data.size = l; +                append = TRUE; +                break; +        } + +        if (append) { +            entry *e = pa_xnew0(entry, 1); +            e->key.data = key.data; +            e->key.size = key.size; +            e->data.data = data.data; +            e->data.size = data.size; +            pa_hashmap_put(db->map, &e->key, e); +            append = FALSE; +            field = FIELD_KEY; +        } +    } + +    if (ferror(f)) { +        pa_log_warn("read error. %s", pa_cstrerror(errno)); +        pa_database_clear((pa_database*)db); +    } + +    if (field == FIELD_DATA && d) +        pa_xfree(d); + +    return pa_hashmap_size(db->map); +} + +pa_database* pa_database_open(const char *fn, pa_bool_t for_write) { +    FILE *f; +    char *path; +    simple_data *db; + +    pa_assert(fn); + +    path = pa_sprintf_malloc("%s."CANONICAL_HOST".simple", fn); +    errno = 0; + +    f = fopen(path, "r"); + +    if (f || errno == ENOENT) { /* file not found is ok */ +        db = pa_xnew0(simple_data, 1); +        db->map = pa_hashmap_new(hash_func, compare_func); +        db->filename = pa_xstrdup(path); +        db->tmp_filename = pa_sprintf_malloc(".%s.tmp", db->filename); +        db->read_only = !for_write; + +        if (f) { +            fill_data(db, f); +            fclose(f); +        } +    } else { +        if (errno == 0) +            errno = EIO; +        db = NULL; +    } + +    pa_xfree(path); + +    return (pa_database*) db; +} + +void pa_database_close(pa_database *database) { +    simple_data *db = (simple_data*)database; +    pa_assert(db); + +    pa_database_sync(database); +    pa_database_clear(database); +    pa_xfree(db->filename); +    pa_xfree(db->tmp_filename); +    pa_hashmap_free(db->map, NULL, NULL); +    pa_xfree(db); +} + +pa_datum* pa_database_get(pa_database *database, const pa_datum *key, pa_datum* data) { +    simple_data *db = (simple_data*)database; +    entry *e; + +    pa_assert(db); +    pa_assert(key); +    pa_assert(data); + +    e = pa_hashmap_get(db->map, key); + +    if (!e) +        return NULL; + +    data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL; +    data->size = e->data.size; + +    return data; +} + +int pa_database_set(pa_database *database, const pa_datum *key, const pa_datum* data, pa_bool_t overwrite) { +    simple_data *db = (simple_data*)database; +    entry *e; +    int ret = 0; + +    pa_assert(db); +    pa_assert(key); +    pa_assert(data); + +    if (db->read_only) +        return -1; + +    e = new_entry(key, data); + +    if (pa_hashmap_put(db->map, &e->key, e) < 0) { +        /* entry with same key exists in hashmap */ +        entry *r; +        if (overwrite) { +            r = pa_hashmap_remove(db->map, key); +            pa_hashmap_put(db->map, &e->key, e); +        } else { +            /* wont't overwrite, so clean new entry */ +            r = e; +            ret = -1; +        } + +        free_entry(r); +    } + +    return ret; +} + +int pa_database_unset(pa_database *database, const pa_datum *key) { +    simple_data *db = (simple_data*)database; +    entry *e; + +    pa_assert(db); +    pa_assert(key); + +    e = pa_hashmap_remove(db->map, key); +    if (!e) +        return -1; + +    free_entry(e); + +    return 0; +} + +int pa_database_clear(pa_database *database) { +    simple_data *db = (simple_data*)database; +    entry *e; + +    pa_assert(db); + +    while ((e = pa_hashmap_steal_first(db->map))) +        free_entry(e); + +    return 0; +} + +signed pa_database_size(pa_database *database) { +    simple_data *db = (simple_data*)database; +    pa_assert(db); + +    return (signed) pa_hashmap_size(db->map); +} + +pa_datum* pa_database_first(pa_database *database, pa_datum *key, pa_datum *data) { +    simple_data *db = (simple_data*)database; +    entry *e; + +    pa_assert(db); +    pa_assert(key); + +    e = pa_hashmap_first(db->map); + +    if (!e) +        return NULL; + +    key->data = e->key.size > 0 ? pa_xmemdup(e->key.data, e->key.size) : NULL; +    key->size = e->key.size; + +    if (data) { +        data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL; +        data->size = e->data.size; +    } + +    return key; +} + +pa_datum* pa_database_next(pa_database *database, const pa_datum *key, pa_datum *next, pa_datum *data) { +    simple_data *db = (simple_data*)database; +    entry *e; +    entry *search; +    void *state; +    pa_bool_t pick_now; + +    pa_assert(db); +    pa_assert(next); + +    if (!key) +        return pa_database_first(database, next, data); + +    search = pa_hashmap_get(db->map, key); + +    state = NULL; +    pick_now = FALSE; + +    while ((e = pa_hashmap_iterate(db->map, &state, NULL))) { +        if (pick_now) +            break; + +        if (search == e) +            pick_now = TRUE; +    } + +    if (!pick_now || !e) +        return NULL; + +    next->data = e->key.size > 0 ? pa_xmemdup(e->key.data, e->key.size) : NULL; +    next->size = e->key.size; + +    if (data) { +        data->data = e->data.size > 0 ? pa_xmemdup(e->data.data, e->data.size) : NULL; +        data->size = e->data.size; +    } + +    return next; +} + +static int write_uint(FILE *f, const uint32_t num) { +    size_t items; +    uint8_t values[4]; +    int i; +    errno = 0; + +    for (i = 0; i < 4; i++) +         values[i] = (num >> (i*8)) & 0xFF; + +    items = fwrite(&values, sizeof(values), sizeof(uint8_t), f); + +    if (ferror(f)) +        return -1; + +    return items; +} + +static int write_data(FILE *f, void *data, const size_t length) { +    size_t items; +    uint32_t len; + +    len = length; +    if ((items = write_uint(f, len)) <= 0) +        return -1; + +    items = fwrite(data, length, 1, f); + +    if (ferror(f) || items != 1) +        return -1; + +    return 0; +} + +static int write_entry(FILE *f, const entry *e) { +    pa_assert(f); +    pa_assert(e); + +    if (write_data(f, e->key.data, e->key.size) < 0) +        return -1; +    if (write_data(f, e->data.data, e->data.size) < 0) +        return -1; + +    return 0; +} + +int pa_database_sync(pa_database *database) { +    simple_data *db = (simple_data*)database; +    FILE *f; +    void *state; +    entry *e; + +    pa_assert(db); + +    if (db->read_only) +        return 0; + +    errno = 0; + +    f = fopen(db->tmp_filename, "w"); + +    if (!f) +        goto fail; + +    state = NULL; +    while((e = pa_hashmap_iterate(db->map, &state, NULL))) { +        if (write_entry(f, e) < 0) { +            pa_log_warn("error while writing to file. %s", pa_cstrerror(errno)); +            goto fail; +        } +    } + +    fclose(f); +    f = NULL; + +    if (rename(db->tmp_filename, db->filename) < 0) { +        pa_log_warn("error while renaming file. %s", pa_cstrerror(errno)); +        goto fail; +    } + +    return 0; + +fail: +    if (f) +        fclose(f); +    return -1; +} diff --git a/src/pulsecore/dbus-util.c b/src/pulsecore/dbus-util.c index 903acadb..b45e6a6c 100644 --- a/src/pulsecore/dbus-util.c +++ b/src/pulsecore/dbus-util.c @@ -667,7 +667,7 @@ void pa_dbus_append_proplist(DBusMessageIter *iter, pa_proplist *proplist) {      pa_assert_se(dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{say}", &dict_iter)); -    while ((key = pa_proplist_iterate(proplist, state))) { +    while ((key = pa_proplist_iterate(proplist, &state))) {          const void *value = NULL;          size_t nbytes; diff --git a/src/pulsecore/hook-list.c b/src/pulsecore/hook-list.c index a00116d1..d9b9917d 100644 --- a/src/pulsecore/hook-list.c +++ b/src/pulsecore/hook-list.c @@ -97,7 +97,7 @@ pa_hook_result_t pa_hook_fire(pa_hook *hook, void *data) {      hook->n_firing ++; -    for (slot = hook->slots; slot; slot = slot->next) { +    PA_LLIST_FOREACH(slot, hook->slots) {          if (slot->dead)              continue; diff --git a/src/pulsecore/lock-autospawn.c b/src/pulsecore/lock-autospawn.c index 4436974d..c0df7938 100644 --- a/src/pulsecore/lock-autospawn.c +++ b/src/pulsecore/lock-autospawn.c @@ -55,10 +55,16 @@ static pa_mutex *mutex;  static unsigned n_ref = 0;  static int lock_fd = -1;  static pa_mutex *lock_fd_mutex = NULL; -static pa_bool_t taken = FALSE; -static pa_thread *thread; +static pa_thread *thread = NULL;  static int pipe_fd[2] = { -1, -1 }; +static enum { +    STATE_IDLE, +    STATE_OWNING, +    STATE_TAKEN, +    STATE_FAILED +} state = STATE_IDLE; +  static void destroy_mutex(void) PA_GCC_DESTRUCTOR;  static int ref(void) { @@ -67,15 +73,16 @@ static int ref(void) {          pa_assert(pipe_fd[0] >= 0);          pa_assert(pipe_fd[1] >= 0); +        pa_assert(lock_fd_mutex);          n_ref++;          return 0;      } -    pa_assert(lock_fd < 0);      pa_assert(!lock_fd_mutex); -    pa_assert(!taken); +    pa_assert(state == STATE_IDLE); +    pa_assert(lock_fd < 0);      pa_assert(!thread);      pa_assert(pipe_fd[0] < 0);      pa_assert(pipe_fd[1] < 0); @@ -83,14 +90,14 @@ static int ref(void) {      if (pipe(pipe_fd) < 0)          return -1; -    lock_fd_mutex = pa_mutex_new(FALSE, FALSE); -      pa_make_fd_cloexec(pipe_fd[0]);      pa_make_fd_cloexec(pipe_fd[1]);      pa_make_fd_nonblock(pipe_fd[1]);      pa_make_fd_nonblock(pipe_fd[0]); +    lock_fd_mutex = pa_mutex_new(FALSE, FALSE); +      n_ref = 1;      return 0;  } @@ -107,15 +114,18 @@ static void unref(pa_bool_t after_fork) {      if (n_ref > 0)          return; -    pa_assert(!taken); -      if (thread) {          pa_thread_free(thread);          thread = NULL;      }      pa_mutex_lock(lock_fd_mutex); -    if (lock_fd >= 0) { + +    pa_assert(state != STATE_TAKEN); + +    if (state == STATE_OWNING) { + +        pa_assert(lock_fd >= 0);          if (after_fork)              pa_close(lock_fd); @@ -127,10 +137,12 @@ static void unref(pa_bool_t after_fork) {              pa_unlock_lockfile(lf, lock_fd);              pa_xfree(lf); - -            lock_fd = -1;          }      } + +    lock_fd = -1; +    state = STATE_IDLE; +      pa_mutex_unlock(lock_fd_mutex);      pa_mutex_free(lock_fd_mutex); @@ -205,15 +217,24 @@ static void thread_func(void *u) {      if (!(lf = pa_runtime_path(AUTOSPAWN_LOCK))) {          pa_log_warn(_("Cannot access autospawn lock.")); -        goto finish; +        goto fail;      }      if ((fd = pa_lock_lockfile(lf)) < 0) -        goto finish; +        goto fail;      pa_mutex_lock(lock_fd_mutex); -    pa_assert(lock_fd < 0); +    pa_assert(state == STATE_IDLE);      lock_fd = fd; +    state = STATE_OWNING; +    pa_mutex_unlock(lock_fd_mutex); + +    goto finish; + +fail: +    pa_mutex_lock(lock_fd_mutex); +    pa_assert(state == STATE_IDLE); +    state = STATE_FAILED;      pa_mutex_unlock(lock_fd_mutex);  finish: @@ -238,12 +259,10 @@ static void create_mutex(void) {  }  static void destroy_mutex(void) { -      if (mutex)          pa_mutex_free(mutex);  } -  int pa_autospawn_lock_init(void) {      int ret = -1; @@ -273,13 +292,18 @@ int pa_autospawn_lock_acquire(pa_bool_t block) {          empty_pipe(); -        if (lock_fd >= 0 && !taken) { -            taken = TRUE; +        if (state == STATE_OWNING) { +            state = STATE_TAKEN;              ret = 1;              break;          } -        if (lock_fd < 0) +        if (state == STATE_FAILED) { +            ret = -1; +            break; +        } + +        if (state == STATE_IDLE)              if (start_thread() < 0)                  break; @@ -310,8 +334,8 @@ void pa_autospawn_lock_release(void) {      pa_mutex_lock(mutex);      pa_assert(n_ref >= 1); -    pa_assert(taken); -    taken = FALSE; +    pa_assert(state == STATE_TAKEN); +    state = STATE_OWNING;      ping(); diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c index 9a57895b..441b397b 100644 --- a/src/pulsecore/memblock.c +++ b/src/pulsecore/memblock.c @@ -96,6 +96,7 @@ struct pa_memimport_segment {      unsigned n_blocks;  }; +/* A collection of multiple segments */  struct pa_memimport {      pa_mutex *mutex; @@ -257,7 +258,8 @@ static struct mempool_slot* mempool_allocate_slot(pa_mempool *p) {              slot = (struct mempool_slot*) ((uint8_t*) p->memory.ptr + (p->block_size * (size_t) idx));          if (!slot) { -            pa_log_info("Pool full"); +            if (pa_log_ratelimit()) +                pa_log_debug("Pool full");              pa_atomic_inc(&p->stat.n_pool_full);              return NULL;          } @@ -509,13 +511,16 @@ static void memblock_free(pa_memblock *b) {              /* FIXME! This should be implemented lock-free */ -            segment = b->per_type.imported.segment; -            pa_assert(segment); -            import = segment->import; -            pa_assert(import); +            pa_assert_se(segment = b->per_type.imported.segment); +            pa_assert_se(import = segment->import);              pa_mutex_lock(import->mutex); -            pa_hashmap_remove(import->blocks, PA_UINT32_TO_PTR(b->per_type.imported.id)); + +            pa_assert_se(pa_hashmap_remove( +                                 import->blocks, +                                 PA_UINT32_TO_PTR(b->per_type.imported.id))); + +            pa_assert(segment->n_blocks >= 1);              if (-- segment->n_blocks <= 0)                  segment_detach(segment); @@ -525,6 +530,7 @@ static void memblock_free(pa_memblock *b) {              if (pa_flist_push(PA_STATIC_FLIST_GET(unused_memblocks), b) < 0)                  pa_xfree(b); +              break;          } @@ -657,7 +663,8 @@ pa_memblock *pa_memblock_will_need(pa_memblock *b) {  /* Self-locked. This function is not multiple-caller safe */  static void memblock_replace_import(pa_memblock *b) { -    pa_memimport_segment *seg; +    pa_memimport_segment *segment; +    pa_memimport *import;      pa_assert(b);      pa_assert(b->type == PA_MEMBLOCK_IMPORTED); @@ -667,23 +674,22 @@ static void memblock_replace_import(pa_memblock *b) {      pa_atomic_dec(&b->pool->stat.n_imported);      pa_atomic_sub(&b->pool->stat.imported_size, (int) b->length); -    seg = b->per_type.imported.segment; -    pa_assert(seg); -    pa_assert(seg->import); +    pa_assert_se(segment = b->per_type.imported.segment); +    pa_assert_se(import = segment->import); -    pa_mutex_lock(seg->import->mutex); +    pa_mutex_lock(import->mutex); -    pa_hashmap_remove( -            seg->import->blocks, -            PA_UINT32_TO_PTR(b->per_type.imported.id)); +    pa_assert_se(pa_hashmap_remove( +                         import->blocks, +                         PA_UINT32_TO_PTR(b->per_type.imported.id)));      memblock_make_local(b); -    if (-- seg->n_blocks <= 0) { -        pa_mutex_unlock(seg->import->mutex); -        segment_detach(seg); -    } else -        pa_mutex_unlock(seg->import->mutex); +    pa_assert(segment->n_blocks >= 1); +    if (-- segment->n_blocks <= 0) +        segment_detach(segment); + +    pa_mutex_unlock(import->mutex);  }  pa_mempool* pa_mempool_new(pa_bool_t shared, size_t size) { @@ -956,6 +962,11 @@ pa_memblock* pa_memimport_get(pa_memimport *i, uint32_t block_id, uint32_t shm_i      pa_mutex_lock(i->mutex); +    if ((b = pa_hashmap_get(i->blocks, PA_UINT32_TO_PTR(block_id)))) { +        pa_memblock_ref(b); +        goto finish; +    } +      if (pa_hashmap_size(i->blocks) >= PA_MEMIMPORT_SLOTS_MAX)          goto finish; @@ -985,12 +996,11 @@ pa_memblock* pa_memimport_get(pa_memimport *i, uint32_t block_id, uint32_t shm_i      seg->n_blocks++; +    stat_add(b); +  finish:      pa_mutex_unlock(i->mutex); -    if (b) -    stat_add(b); -      return b;  } diff --git a/src/pulsecore/memblockq.c b/src/pulsecore/memblockq.c index 77f9efc9..32758be3 100644 --- a/src/pulsecore/memblockq.c +++ b/src/pulsecore/memblockq.c @@ -692,6 +692,12 @@ size_t pa_memblockq_get_minreq(pa_memblockq *bq) {      return bq->minreq;  } +size_t pa_memblockq_get_maxrewind(pa_memblockq *bq) { +    pa_assert(bq); + +    return bq->maxrewind; +} +  int64_t pa_memblockq_get_read_index(pa_memblockq *bq) {      pa_assert(bq); diff --git a/src/pulsecore/memblockq.h b/src/pulsecore/memblockq.h index 146d261b..587c364b 100644 --- a/src/pulsecore/memblockq.h +++ b/src/pulsecore/memblockq.h @@ -141,6 +141,9 @@ size_t pa_memblockq_get_prebuf(pa_memblockq *bq);  /* Returns the minimal request value */  size_t pa_memblockq_get_minreq(pa_memblockq *bq); +/* Returns the maximal rewind value */ +size_t pa_memblockq_get_maxrewind(pa_memblockq *bq); +  /* Return the base unit in bytes */  size_t pa_memblockq_get_base(pa_memblockq *bq); diff --git a/src/pulsecore/memtrap.c b/src/pulsecore/memtrap.c index e06f60ca..c647e507 100644 --- a/src/pulsecore/memtrap.c +++ b/src/pulsecore/memtrap.c @@ -37,6 +37,7 @@  #include <pulsecore/aupdate.h>  #include <pulsecore/atomic.h>  #include <pulsecore/once.h> +#include <pulsecore/mutex.h>  #include "memtrap.h" @@ -49,6 +50,7 @@ struct pa_memtrap {  static pa_memtrap *memtraps[2] = { NULL, NULL };  static pa_aupdate *aupdate; +static pa_static_mutex mutex = PA_STATIC_MUTEX_INIT; /* only required to serialize access to the write side */  static void allocate_aupdate(void) {      PA_ONCE_BEGIN { @@ -63,7 +65,7 @@ pa_bool_t pa_memtrap_is_good(pa_memtrap *m) {  }  static void sigsafe_error(const char *s) { -    write(STDERR_FILENO, s, strlen(s)); +    (void) write(STDERR_FILENO, s, strlen(s));  }  static void signal_handler(int sig, siginfo_t* si, void *data) { @@ -124,6 +126,7 @@ static void memtrap_unlink(pa_memtrap *m, unsigned j) {  pa_memtrap* pa_memtrap_add(const void *start, size_t size) {      pa_memtrap *m = NULL;      unsigned j; +    pa_mutex *mx;      pa_assert(start);      pa_assert(size > 0); @@ -138,33 +141,45 @@ pa_memtrap* pa_memtrap_add(const void *start, size_t size) {      allocate_aupdate(); +    mx = pa_static_mutex_get(&mutex, FALSE, TRUE); +    pa_mutex_lock(mx); +      j = pa_aupdate_write_begin(aupdate);      memtrap_link(m, j);      j = pa_aupdate_write_swap(aupdate);      memtrap_link(m, j);      pa_aupdate_write_end(aupdate); +    pa_mutex_unlock(mx); +      return m;  }  void pa_memtrap_remove(pa_memtrap *m) {      unsigned j; +    pa_mutex *mx;      pa_assert(m);      allocate_aupdate(); +    mx = pa_static_mutex_get(&mutex, FALSE, TRUE); +    pa_mutex_lock(mx); +      j = pa_aupdate_write_begin(aupdate);      memtrap_unlink(m, j);      j = pa_aupdate_write_swap(aupdate);      memtrap_unlink(m, j);      pa_aupdate_write_end(aupdate); +    pa_mutex_unlock(mx); +      pa_xfree(m);  }  pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {      unsigned j; +    pa_mutex *mx;      pa_assert(m); @@ -176,6 +191,9 @@ pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {      allocate_aupdate(); +    mx = pa_static_mutex_get(&mutex, FALSE, TRUE); +    pa_mutex_lock(mx); +      j = pa_aupdate_write_begin(aupdate);      if (m->start == start && m->size == size) @@ -194,6 +212,8 @@ pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) {  unlock:      pa_aupdate_write_end(aupdate); +    pa_mutex_unlock(mx); +      return m;  } diff --git a/src/pulsecore/namereg.c b/src/pulsecore/namereg.c index 046c87b2..d7d83c5e 100644 --- a/src/pulsecore/namereg.c +++ b/src/pulsecore/namereg.c @@ -167,26 +167,33 @@ void pa_namereg_unregister(pa_core *c, const char *name) {      pa_assert_se(e = pa_hashmap_remove(c->namereg, name));      if (c->default_sink == e->data) { -        pa_sink *new_default = pa_idxset_first(c->sinks, &idx); +        pa_sink *new_default = NULL; -        if (new_default == e->data) -            new_default = pa_idxset_next(c->sinks, &idx); +        /* FIXME: the selection here should be based priority values on +         * the sinks */ + +        PA_IDXSET_FOREACH(new_default, c->sinks, idx) { +            if (new_default != e->data && PA_SINK_IS_LINKED(pa_sink_get_state(new_default))) +                break; +        }          pa_namereg_set_default_sink(c, new_default);      } else if (c->default_source == e->data) { -        pa_source *new_default; +        pa_source *new_default = NULL; -        for (new_default = pa_idxset_first(c->sources, &idx); new_default; new_default = pa_idxset_next(c->sources, &idx)) { -            if (new_default != e->data && !new_default->monitor_of) +        /* First, try to find one that isn't a monitor */ +        PA_IDXSET_FOREACH(new_default, c->sources, idx) { +            if (new_default != e->data && !new_default->monitor_of && PA_SOURCE_IS_LINKED(pa_source_get_state(new_default)))                  break;          }          if (!new_default) { -            new_default = pa_idxset_first(c->sources, &idx); - -            if (new_default == e->data) -                new_default = pa_idxset_next(c->sources, &idx); +            /* Then, fallback to a monitor */ +            PA_IDXSET_FOREACH(new_default, c->sources, idx) { +                if (new_default != e->data && PA_SOURCE_IS_LINKED(pa_source_get_state(new_default))) +                    break; +            }          }          pa_namereg_set_default_source(c, new_default); @@ -249,6 +256,9 @@ void* pa_namereg_get(pa_core *c, const char *name, pa_namereg_type_t type) {  pa_sink* pa_namereg_set_default_sink(pa_core*c, pa_sink *s) {      pa_assert(c); +    if (s && !PA_SINK_IS_LINKED(pa_sink_get_state(s))) +        return NULL; +      if (c->default_sink != s) {          c->default_sink = s;          pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX); @@ -260,6 +270,9 @@ pa_sink* pa_namereg_set_default_sink(pa_core*c, pa_sink *s) {  pa_source* pa_namereg_set_default_source(pa_core*c, pa_source *s) {      pa_assert(c); +    if (s && !PA_SOURCE_IS_LINKED(pa_source_get_state(s))) +        return NULL; +      if (c->default_source != s) {          c->default_source = s;          pa_subscription_post(c, PA_SUBSCRIPTION_EVENT_SERVER|PA_SUBSCRIPTION_EVENT_CHANGE, PA_INVALID_INDEX); @@ -270,14 +283,47 @@ pa_source* pa_namereg_set_default_source(pa_core*c, pa_source *s) {  /* XXX: After removing old functionality, has this function become useless? */  pa_sink *pa_namereg_get_default_sink(pa_core *c) { +    pa_sink *s; +    uint32_t idx; +      pa_assert(c); -    return c->default_sink; +    if (!c->default_sink || PA_SINK_IS_LINKED(pa_sink_get_state(c->default_sink))) +        return c->default_sink; + +    /* The old default sink has become unlinked, set a new one. */ + +    /* FIXME: the selection here should be based priority values on +     * the sinks */ + +    PA_IDXSET_FOREACH(s, c->sinks, idx) +        if (PA_SINK_IS_LINKED(pa_sink_get_state(s))) +            return pa_namereg_set_default_sink(c, s); + +    return pa_namereg_set_default_sink(c, NULL);  }  /* XXX: After removing old functionality, has this function become useless? */  pa_source *pa_namereg_get_default_source(pa_core *c) { +    pa_source *s; +    uint32_t idx; +      pa_assert(c); -    return c->default_source; +    if (!c->default_source || PA_SOURCE_IS_LINKED(pa_source_get_state(c->default_source))) +        return c->default_source; + +    /* The old default source has become unlinked, set a new one. */ + +    /* First, try to find one that isn't a monitor */ +    PA_IDXSET_FOREACH(s, c->sources, idx) +        if (!s->monitor_of && PA_SOURCE_IS_LINKED(pa_source_get_state(s))) +            return pa_namereg_set_default_source(c, s); + +    /* Then, fallback to a monitor */ +    PA_IDXSET_FOREACH(s, c->sources, idx) +        if (PA_SOURCE_IS_LINKED(pa_source_get_state(s))) +            return pa_namereg_set_default_source(c, s); + +    return pa_namereg_set_default_source(c, NULL);  } diff --git a/src/pulsecore/proplist-util.c b/src/pulsecore/proplist-util.c index d9769bc7..23864bcb 100644 --- a/src/pulsecore/proplist-util.c +++ b/src/pulsecore/proplist-util.c @@ -186,10 +186,12 @@ void pa_init_proplist(pa_proplist *p) {      }      if (!pa_proplist_contains(p, PA_PROP_APPLICATION_PROCESS_BINARY)) { -        char t[PATH_MAX]; -        if (pa_get_binary_name(t, sizeof(t))) { +        char *t; + +        if ((t = pa_get_binary_name_malloc())) {              char *c = pa_utf8_filter(t);              pa_proplist_sets(p, PA_PROP_APPLICATION_PROCESS_BINARY, c); +            pa_xfree(t);              pa_xfree(c);          }      } diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index cda7ef57..280707e2 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -762,6 +762,7 @@ static int playback_stream_process_msg(pa_msgobject *o, int code, void*userdata,          return -1;      switch (code) { +          case PLAYBACK_STREAM_MESSAGE_REQUEST_DATA: {              pa_tagstruct *t;              int l = 0; @@ -1130,6 +1131,12 @@ static void playback_stream_request_bytes(playback_stream *s) {      m = pa_memblockq_pop_missing(s->memblockq); +    /* pa_log("request_bytes(%lu) (tlength=%lu minreq=%lu length=%lu)", */ +    /*        (unsigned long) m, */ +    /*        pa_memblockq_get_tlength(s->memblockq), */ +    /*        pa_memblockq_get_minreq(s->memblockq), */ +    /*        pa_memblockq_get_length(s->memblockq)); */ +      if (m <= 0)          return; @@ -1143,7 +1150,6 @@ static void playback_stream_request_bytes(playback_stream *s) {          pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_REQUEST_DATA, NULL, 0, NULL, NULL);  } -  /* Called from main context */  static void playback_stream_send_killed(playback_stream *p) {      pa_tagstruct *t; @@ -1345,7 +1351,9 @@ static int sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int  /*             pa_log("sink input post: %lu %lli", (unsigned long) chunk->length, (long long) windex); */              if (pa_memblockq_push_align(s->memblockq, chunk) < 0) { -                pa_log_warn("Failed to push data into queue"); + +                if (pa_log_ratelimit()) +                    pa_log_warn("Failed to push data into queue");                  pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(s), PLAYBACK_STREAM_MESSAGE_OVERFLOW, NULL, 0, NULL, NULL);                  pa_memblockq_seek(s->memblockq, (int64_t) chunk->length, PA_SEEK_RELATIVE, TRUE);              } @@ -1617,6 +1625,9 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) {      s = PLAYBACK_STREAM(i->userdata);      playback_stream_assert_ref(s); +    if (!dest) +        return; +      fix_playback_buffer_attr(s);      pa_memblockq_apply_attr(s->memblockq, &s->buffer_attr);      pa_memblockq_get_attr(s->memblockq, &s->buffer_attr); @@ -1752,6 +1763,9 @@ static void source_output_moving_cb(pa_source_output *o, pa_source *dest) {      s = RECORD_STREAM(o->userdata);      record_stream_assert_ref(s); +    if (!dest) +        return; +      fix_record_buffer_attr_pre(s);      pa_memblockq_set_maxlength(s->memblockq, s->buffer_attr.maxlength);      pa_memblockq_get_attr(s->memblockq, &s->buffer_attr); @@ -1951,7 +1965,7 @@ static void command_create_playback_stream(pa_pdispatch *pd, uint32_t command, u          (no_move ?  PA_SINK_INPUT_DONT_MOVE : 0) |          (variable_rate ?  PA_SINK_INPUT_VARIABLE_RATE : 0) |          (dont_inhibit_auto_suspend ? PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND : 0) | -        (fail_on_suspend ? PA_SINK_INPUT_FAIL_ON_SUSPEND : 0); +        (fail_on_suspend ? PA_SINK_INPUT_NO_CREATE_ON_SUSPEND|PA_SINK_INPUT_KILL_ON_SUSPEND : 0);      /* Only since protocol version 15 there's a seperate muted_set       * flag. For older versions we synthesize it here */ @@ -2207,7 +2221,7 @@ static void command_create_record_stream(pa_pdispatch *pd, uint32_t command, uin          (no_move ?  PA_SOURCE_OUTPUT_DONT_MOVE : 0) |          (variable_rate ?  PA_SOURCE_OUTPUT_VARIABLE_RATE : 0) |          (dont_inhibit_auto_suspend ? PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND : 0) | -        (fail_on_suspend ? PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND : 0); +        (fail_on_suspend ? PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND|PA_SOURCE_OUTPUT_KILL_ON_SUSPEND : 0);      s = record_stream_new(c, source, &ss, &map, peak_detect, &attr, flags, p, adjust_latency, direct_on_input, early_requests, &ret);      pa_proplist_free(p); @@ -2550,7 +2564,7 @@ static void command_get_playback_latency(pa_pdispatch *pd, uint32_t command, uin      reply = reply_new(tag);      pa_tagstruct_put_usec(reply,                            s->current_sink_latency + -                          pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sample_spec)); +                          pa_bytes_to_usec(s->render_memblockq_length, &s->sink_input->sink->sample_spec));      pa_tagstruct_put_usec(reply, 0);      pa_tagstruct_put_boolean(reply,                               s->playing_for > 0 && @@ -2689,7 +2703,9 @@ static void command_finish_upload_stream(pa_pdispatch *pd, uint32_t command, uin      CHECK_VALIDITY(c->pstream, s, tag, PA_ERR_NOENTITY);      CHECK_VALIDITY(c->pstream, upload_stream_isinstance(s), tag, PA_ERR_NOENTITY); -    if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0) +    if (!s->memchunk.memblock) +        pa_pstream_send_error(c->pstream, tag, PA_ERR_TOOLARGE); +    else if (pa_scache_add_item(c->protocol->core, s->name, &s->sample_spec, &s->channel_map, &s->memchunk, s->proplist, &idx) < 0)          pa_pstream_send_error(c->pstream, tag, PA_ERR_INTERNAL);      else          pa_pstream_send_simple_ack(c->pstream, tag); @@ -3321,6 +3337,7 @@ static void command_set_volume(      pa_source *source = NULL;      pa_sink_input *si = NULL;      const char *name = NULL; +    const char *client_name;      pa_native_connection_assert_ref(c);      pa_assert(t); @@ -3367,12 +3384,20 @@ static void command_set_volume(      CHECK_VALIDITY(c->pstream, si || sink || source, tag, PA_ERR_NOENTITY); -    if (sink) +    client_name = pa_strnull(pa_proplist_gets(c->client->proplist, PA_PROP_APPLICATION_PROCESS_BINARY)); + +    if (sink) { +        pa_log_debug("Client %s changes volume of sink %s.", client_name, sink->name);          pa_sink_set_volume(sink, &volume, TRUE, TRUE, TRUE, TRUE); -    else if (source) +    } else if (source) { +        pa_log_debug("Client %s changes volume of sink %s.", client_name, source->name);          pa_source_set_volume(source, &volume, TRUE); -    else if (si) +    } else if (si) { +        pa_log_debug("Client %s changes volume of sink %s.", +                     client_name, +                     pa_strnull(pa_proplist_gets(si->proplist, PA_PROP_MEDIA_NAME)));          pa_sink_input_set_volume(si, &volume, TRUE, TRUE); +    }      pa_pstream_send_simple_ack(c->pstream, tag);  } diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c index 17fb8480..59e0a0c1 100644 --- a/src/pulsecore/resampler.c +++ b/src/pulsecore/resampler.c @@ -347,13 +347,17 @@ void pa_resampler_set_output_rate(pa_resampler *r, uint32_t rate) {  size_t pa_resampler_request(pa_resampler *r, size_t out_length) {      pa_assert(r); -    return (((out_length / r->o_fz)*r->i_ss.rate)/r->o_ss.rate) * r->i_fz; +    /* Let's round up here */ + +    return (((((out_length + r->o_fz-1) / r->o_fz) * r->i_ss.rate) + r->o_ss.rate-1) / r->o_ss.rate) * r->i_fz;  }  size_t pa_resampler_result(pa_resampler *r, size_t in_length) {      pa_assert(r); -    return (((in_length / r->i_fz)*r->o_ss.rate)/r->i_ss.rate) * r->o_fz; +    /* Let's round up here */ + +    return (((((in_length + r->i_fz-1) / r->i_fz) * r->o_ss.rate) + r->i_ss.rate-1) / r->i_ss.rate) * r->o_fz;  }  size_t pa_resampler_max_block_size(pa_resampler *r) { diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c index 6e428426..fbf777a4 100644 --- a/src/pulsecore/shm.c +++ b/src/pulsecore/shm.c @@ -60,7 +60,8 @@  #define MADV_REMOVE 9  #endif -#define MAX_SHM_SIZE (PA_ALIGN(1024*1024*64)) +/* 1 GiB at max */ +#define MAX_SHM_SIZE (PA_ALIGN(1024*1024*1024))  #ifdef __linux__  /* On Linux we know that the shared memory blocks are files in diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index a5f96351..f6d9ac73 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -51,7 +51,7 @@ static void sink_input_free(pa_object *o);  pa_sink_input_new_data* pa_sink_input_new_data_init(pa_sink_input_new_data *data) {      pa_assert(data); -    memset(data, 0, sizeof(*data)); +    pa_zero(*data);      data->resample_method = PA_RESAMPLER_INVALID;      data->proplist = pa_proplist_new(); @@ -114,6 +114,7 @@ static void reset_callbacks(pa_sink_input *i) {      i->update_max_request = NULL;      i->update_sink_requested_latency = NULL;      i->update_sink_latency_range = NULL; +    i->update_sink_fixed_latency = NULL;      i->attach = NULL;      i->detach = NULL;      i->suspend = NULL; @@ -142,6 +143,7 @@ int pa_sink_input_new(      pa_assert(_i);      pa_assert(core);      pa_assert(data); +    pa_assert_ctl_context();      if (data->client)          pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist); @@ -220,7 +222,7 @@ int pa_sink_input_new(      if ((r = pa_hook_fire(&core->hooks[PA_CORE_HOOK_SINK_INPUT_FIXATE], data)) < 0)          return r; -    if ((flags & PA_SINK_INPUT_FAIL_ON_SUSPEND) && +    if ((flags & PA_SINK_INPUT_NO_CREATE_ON_SUSPEND) &&          pa_sink_get_state(data->sink) == PA_SINK_SUSPENDED) {          pa_log_warn("Failed to create sink input: sink is suspended.");          return -PA_ERR_BADSTATE; @@ -348,6 +350,7 @@ int pa_sink_input_new(  /* Called from main context */  static void update_n_corked(pa_sink_input *i, pa_sink_input_state_t state) {      pa_assert(i); +    pa_assert_ctl_context();      if (!i->sink)          return; @@ -362,6 +365,7 @@ static void update_n_corked(pa_sink_input *i, pa_sink_input_state_t state) {  static void sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state) {      pa_sink_input *ssync;      pa_assert(i); +    pa_assert_ctl_context();      if (state == PA_SINK_INPUT_DRAINED)          state = PA_SINK_INPUT_RUNNING; @@ -400,7 +404,9 @@ static void sink_input_set_state(pa_sink_input *i, pa_sink_input_state_t state)  void pa_sink_input_unlink(pa_sink_input *i) {      pa_bool_t linked;      pa_source_output *o, *p =  NULL; +      pa_assert(i); +    pa_assert_ctl_context();      /* See pa_sink_unlink() for a couple of comments how this function       * works */ @@ -471,6 +477,7 @@ static void sink_input_free(pa_object *o) {      pa_sink_input* i = PA_SINK_INPUT(o);      pa_assert(i); +    pa_assert_ctl_context();      pa_assert(pa_sink_input_refcnt(i) == 0);      if (PA_SINK_INPUT_IS_LINKED(i->state)) @@ -502,7 +509,9 @@ static void sink_input_free(pa_object *o) {  /* Called from main context */  void pa_sink_input_put(pa_sink_input *i) {      pa_sink_input_state_t state; +      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(i->state == PA_SINK_INPUT_INIT); @@ -538,6 +547,7 @@ void pa_sink_input_put(pa_sink_input *i) {  /* Called from main context */  void pa_sink_input_kill(pa_sink_input*i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      i->kill(i); @@ -548,6 +558,7 @@ pa_usec_t pa_sink_input_get_latency(pa_sink_input *i, pa_usec_t *sink_latency) {      pa_usec_t r[2] = { 0, 0 };      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_GET_LATENCY, r, 0, NULL) == 0); @@ -569,6 +580,7 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p      size_t ilength;      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));      pa_assert(pa_frame_aligned(slength, &i->sink->sample_spec));      pa_assert(chunk); @@ -706,8 +718,9 @@ void pa_sink_input_peek(pa_sink_input *i, size_t slength /* in sink frames */, p  /* Called from thread context */  void pa_sink_input_drop(pa_sink_input *i, size_t nbytes /* in sink sample spec */) { -    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec));      pa_assert(nbytes > 0); @@ -721,8 +734,9 @@ void pa_sink_input_drop(pa_sink_input *i, size_t nbytes /* in sink sample spec *  void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sample spec */) {      size_t lbq;      pa_bool_t called = FALSE; -    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec)); @@ -790,8 +804,28 @@ void pa_sink_input_process_rewind(pa_sink_input *i, size_t nbytes /* in sink sam  }  /* Called from thread context */ +size_t pa_sink_input_get_max_rewind(pa_sink_input *i) { +    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i); + +    return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_rewind) : i->sink->thread_info.max_rewind; +} + +/* Called from thread context */ +size_t pa_sink_input_get_max_request(pa_sink_input *i) { +    pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i); + +    /* We're not verifying the status here, to allow this to be called +     * in the state change handler between _INIT and _RUNNING */ + +    return i->thread_info.resampler ? pa_resampler_request(i->thread_info.resampler, i->sink->thread_info.max_request) : i->sink->thread_info.max_request; +} + +/* Called from thread context */  void pa_sink_input_update_max_rewind(pa_sink_input *i, size_t nbytes  /* in the sink's sample spec */) {      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec)); @@ -804,6 +838,7 @@ void pa_sink_input_update_max_rewind(pa_sink_input *i, size_t nbytes  /* in the  /* Called from thread context */  void pa_sink_input_update_max_request(pa_sink_input *i, size_t nbytes  /* in the sink's sample spec */) {      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &i->sink->sample_spec)); @@ -814,15 +849,16 @@ void pa_sink_input_update_max_request(pa_sink_input *i, size_t nbytes  /* in the  /* Called from thread context */  pa_usec_t pa_sink_input_set_requested_latency_within_thread(pa_sink_input *i, pa_usec_t usec) {      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      if (!(i->sink->flags & PA_SINK_DYNAMIC_LATENCY)) -        usec = i->sink->fixed_latency; +        usec = i->sink->thread_info.fixed_latency;      if (usec != (pa_usec_t) -1)          usec = PA_CLAMP(usec, i->sink->thread_info.min_latency, i->sink->thread_info.max_latency);      i->thread_info.requested_sink_latency = usec; -    pa_sink_invalidate_requested_latency(i->sink); +    pa_sink_invalidate_requested_latency(i->sink, TRUE);      return usec;  } @@ -830,6 +866,7 @@ pa_usec_t pa_sink_input_set_requested_latency_within_thread(pa_sink_input *i, pa  /* Called from main context */  pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      if (PA_SINK_INPUT_IS_LINKED(i->state) && i->sink) {          pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_REQUESTED_LATENCY, &usec, 0, NULL) == 0); @@ -841,7 +878,7 @@ pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec)      if (i->sink) {          if (!(i->sink->flags & PA_SINK_DYNAMIC_LATENCY)) -            usec = i->sink->fixed_latency; +            usec = pa_sink_get_fixed_latency(i->sink);          if (usec != (pa_usec_t) -1) {              pa_usec_t min_latency, max_latency; @@ -858,6 +895,7 @@ pa_usec_t pa_sink_input_set_requested_latency(pa_sink_input *i, pa_usec_t usec)  /* Called from main context */  pa_usec_t pa_sink_input_get_requested_latency(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      if (PA_SINK_INPUT_IS_LINKED(i->state) && i->sink) {          pa_usec_t usec = 0; @@ -876,6 +914,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_boo      pa_cvolume v;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert(volume);      pa_assert(pa_cvolume_valid(volume)); @@ -922,6 +961,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_boo  /* Called from main context */  pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i, pa_cvolume *volume, pa_bool_t absolute) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      if ((i->sink->flags & PA_SINK_FLAT_VOLUME) && !absolute) { @@ -939,6 +979,7 @@ pa_cvolume *pa_sink_input_get_relative_volume(pa_sink_input *i, pa_cvolume *v) {      unsigned c;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(v);      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state)); @@ -959,6 +1000,7 @@ void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v) {      pa_cvolume _v;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert(!v || pa_cvolume_compatible(v, &i->sample_spec)); @@ -985,8 +1027,8 @@ void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v) {  /* Called from main context */  void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) { -    pa_assert(i);      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      if (!i->muted == !mute) @@ -1002,6 +1044,7 @@ void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) {  /* Called from main context */  pa_bool_t pa_sink_input_get_mute(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      return i->muted; @@ -1010,6 +1053,7 @@ 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_ctl_context();      if (p)          pa_proplist_update(i->proplist, mode, p); @@ -1023,6 +1067,7 @@ void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_p  /* Called from main context */  void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      sink_input_set_state(i, b ? PA_SINK_INPUT_CORKED : PA_SINK_INPUT_RUNNING); @@ -1031,6 +1076,7 @@ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b) {  /* Called from main context */  int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_return_val_if_fail(i->thread_info.resampler, -PA_ERR_BADSTATE); @@ -1049,13 +1095,14 @@ int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate) {  void pa_sink_input_set_name(pa_sink_input *i, const char *name) {      const char *old;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      if (!name && !pa_proplist_contains(i->proplist, PA_PROP_MEDIA_NAME))          return;      old = pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME); -    if (old && name && !strcmp(old, name)) +    if (old && name && pa_streq(old, name))          return;      if (name) @@ -1072,6 +1119,7 @@ void pa_sink_input_set_name(pa_sink_input *i, const char *name) {  /* Called from main context */  pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      return i->actual_resample_method;  } @@ -1079,6 +1127,7 @@ pa_resample_method_t pa_sink_input_get_resample_method(pa_sink_input *i) {  /* Called from main context */  pa_bool_t pa_sink_input_may_move(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      if (i->flags & PA_SINK_INPUT_DONT_MOVE) @@ -1095,6 +1144,7 @@ pa_bool_t pa_sink_input_may_move(pa_sink_input *i) {  /* Called from main context */  pa_bool_t pa_sink_input_may_move_to(pa_sink_input *i, pa_sink *dest) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_sink_assert_ref(dest); @@ -1123,6 +1173,7 @@ int pa_sink_input_start_move(pa_sink_input *i) {      int r;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert(i->sink); @@ -1177,6 +1228,7 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {      pa_resampler *new_resampler;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert(!i->sink);      pa_sink_assert_ref(dest); @@ -1267,10 +1319,29 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {  }  /* Called from main context */ +void pa_sink_input_fail_move(pa_sink_input *i) { + +    pa_sink_input_assert_ref(i); +    pa_assert_ctl_context(); +    pa_assert(PA_SINK_INPUT_IS_LINKED(i->state)); +    pa_assert(!i->sink); + +    /* Check if someone wants this sink input? */ +    if (pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], i) == PA_HOOK_STOP) +        return; + +    if (i->moving) +        i->moving(i, NULL); + +    pa_sink_input_kill(i); +} + +/* Called from main context */  int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {      int r;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));      pa_assert(i->sink);      pa_sink_assert_ref(dest); @@ -1289,6 +1360,7 @@ int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {      }      if ((r = pa_sink_input_finish_move(i, dest, save)) < 0) { +        pa_sink_input_fail_move(i);          pa_sink_input_unref(i);          return r;      } @@ -1301,7 +1373,9 @@ int pa_sink_input_move_to(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {  /* Called from IO thread context */  void pa_sink_input_set_state_within_thread(pa_sink_input *i, pa_sink_input_state_t state) {      pa_bool_t corking, uncorking; +      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      if (state == i->thread_info.state)          return; @@ -1411,6 +1485,7 @@ int pa_sink_input_process_msg(pa_msgobject *o, int code, void *userdata, int64_t  /* Called from main thread */  pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      if (i->state == PA_SINK_INPUT_RUNNING || i->state == PA_SINK_INPUT_DRAINED)          return pa_atomic_load(&i->thread_info.drained) ? PA_SINK_INPUT_DRAINED : PA_SINK_INPUT_RUNNING; @@ -1421,6 +1496,7 @@ pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i) {  /* Called from IO context */  pa_bool_t pa_sink_input_safe_to_remove(pa_sink_input *i) {      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      if (PA_SINK_INPUT_IS_LINKED(i->thread_info.state))          return pa_memblockq_is_empty(i->thread_info.render_memblockq); @@ -1445,6 +1521,7 @@ void pa_sink_input_request_rewind(pa_sink_input *i, size_t nbytes  /* in our sam       * rewound. */      pa_sink_input_assert_ref(i); +    pa_sink_input_assert_io_context(i);      nbytes = PA_MAX(i->thread_info.rewrite_nbytes, nbytes); @@ -1511,8 +1588,11 @@ void pa_sink_input_request_rewind(pa_sink_input *i, size_t nbytes  /* in our sam  /* Called from main context */  pa_memchunk* pa_sink_input_get_silence(pa_sink_input *i, pa_memchunk *ret) {      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(ret); +    /* FIXME: Shouldn't access resampler object from main context! */ +      pa_silence_memchunk_get(                  &i->core->silence_cache,                  i->core->mempool, @@ -1529,6 +1609,7 @@ void pa_sink_input_send_event(pa_sink_input *i, const char *event, pa_proplist *      pa_sink_input_send_event_hook_data hook_data;      pa_sink_input_assert_ref(i); +    pa_assert_ctl_context();      pa_assert(event);      if (!i->send_event) diff --git a/src/pulsecore/sink-input.h b/src/pulsecore/sink-input.h index 98144d41..b5502c45 100644 --- a/src/pulsecore/sink-input.h +++ b/src/pulsecore/sink-input.h @@ -42,6 +42,7 @@ typedef enum pa_sink_input_state {      PA_SINK_INPUT_RUNNING,      /*< The stream is alive and kicking */      PA_SINK_INPUT_CORKED,       /*< The stream was corked on user request */      PA_SINK_INPUT_UNLINKED      /*< The stream is dead */ +    /* FIXME: we need a state for MOVING here */  } pa_sink_input_state_t;  static inline pa_bool_t PA_SINK_INPUT_IS_LINKED(pa_sink_input_state_t x) { @@ -58,7 +59,8 @@ typedef enum pa_sink_input_flags {      PA_SINK_INPUT_FIX_RATE = 64,      PA_SINK_INPUT_FIX_CHANNELS = 128,      PA_SINK_INPUT_DONT_INHIBIT_AUTO_SUSPEND = 256, -    PA_SINK_INPUT_FAIL_ON_SUSPEND = 512 +    PA_SINK_INPUT_NO_CREATE_ON_SUSPEND = 512, +    PA_SINK_INPUT_KILL_ON_SUSPEND = 1024  } pa_sink_input_flags_t;  struct pa_sink_input { @@ -137,6 +139,10 @@ struct pa_sink_input {       * from IO context. */      void (*update_sink_latency_range) (pa_sink_input *i); /* may be NULL */ +    /* Called whenver the fixed latency of the sink changes, if there +     * is one. Called from IO context. */ +    void (*update_sink_fixed_latency) (pa_sink_input *i); /* may be NULL */ +      /* If non-NULL this function is called when the input is first       * connected to a sink or when the rtpoll/asyncmsgq fields       * change. You usually don't need to implement this function @@ -159,7 +165,9 @@ struct pa_sink_input {      /* If non-NULL called whenever the sink input is moved to a new       * sink. Called from main context after the sink input has been       * detached from the old sink and before it has been attached to -     * the new sink. */ +     * the new sink. If dest is NULL the move was executed in two +     * phases and the second one failed; the stream will be destroyed +     * after this call. */      void (*moving) (pa_sink_input *i, pa_sink *dest);   /* may be NULL */      /* Supposed to unlink and destroy this stream. Called from main @@ -303,6 +311,10 @@ void pa_sink_input_cork(pa_sink_input *i, pa_bool_t b);  int pa_sink_input_set_rate(pa_sink_input *i, uint32_t rate); +/* This returns the sink's fields converted into out sample type */ +size_t pa_sink_input_get_max_rewind(pa_sink_input *i); +size_t pa_sink_input_get_max_request(pa_sink_input *i); +  /* Callable by everyone from main thread*/  /* External code may request disconnection with this function */ @@ -333,6 +345,7 @@ pa_bool_t pa_sink_input_may_move_to(pa_sink_input *i, pa_sink *dest); /* may thi   * new sink */  int pa_sink_input_start_move(pa_sink_input *i);  int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save); +void pa_sink_input_fail_move(pa_sink_input *i);  pa_sink_input_state_t pa_sink_input_get_state(pa_sink_input *i); @@ -359,4 +372,7 @@ pa_memchunk* pa_sink_input_get_silence(pa_sink_input *i, pa_memchunk *ret);  /* To be used by sink.c only */  void pa_sink_input_set_relative_volume(pa_sink_input *i, const pa_cvolume *v); +#define pa_sink_input_assert_io_context(s) \ +    pa_assert(pa_thread_mq_get() || !PA_SINK_INPUT_IS_LINKED((s)->state)) +  #endif diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index d8f3c7d1..717584f2 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -59,7 +59,7 @@ static void sink_free(pa_object *s);  pa_sink_new_data* pa_sink_new_data_init(pa_sink_new_data *data) {      pa_assert(data); -    memset(data, 0, sizeof(*data)); +    pa_zero(*data);      data->proplist = pa_proplist_new();      return data; @@ -177,6 +177,7 @@ pa_sink* pa_sink_new(      pa_assert(core);      pa_assert(data);      pa_assert(data->name); +    pa_assert_ctl_context();      s = pa_msgobject_new(pa_sink); @@ -255,13 +256,10 @@ pa_sink* pa_sink_new(      s->muted = data->muted;      s->refresh_volume = s->refresh_muted = FALSE; -    s->fixed_latency = flags & PA_SINK_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY; -      reset_callbacks(s);      s->userdata = NULL;      s->asyncmsgq = NULL; -    s->rtpoll = NULL;      /* As a minor optimization we just steal the list instead of       * copying it here */ @@ -294,6 +292,7 @@ pa_sink* pa_sink_new(              &s->sample_spec,              0); +    s->thread_info.rtpoll = NULL;      s->thread_info.inputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);      s->thread_info.soft_volume =  s->soft_volume;      s->thread_info.soft_muted = s->muted; @@ -306,7 +305,9 @@ pa_sink* pa_sink_new(      s->thread_info.requested_latency = 0;      s->thread_info.min_latency = ABSOLUTE_MIN_LATENCY;      s->thread_info.max_latency = ABSOLUTE_MAX_LATENCY; +    s->thread_info.fixed_latency = flags & PA_SINK_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY; +    /* FIXME: This should probably be moved to pa_sink_put() */      pa_assert_se(pa_idxset_put(core->sinks, s, &s->index) >= 0);      if (s->card) @@ -348,6 +349,7 @@ pa_sink* pa_sink_new(      s->monitor_source->monitor_of = s;      pa_source_set_latency_range(s->monitor_source, s->thread_info.min_latency, s->thread_info.max_latency); +    pa_source_set_fixed_latency(s->monitor_source, s->thread_info.fixed_latency);      pa_source_set_max_rewind(s->monitor_source, s->thread_info.max_rewind);      return s; @@ -360,6 +362,7 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {      pa_sink_state_t original_state;      pa_assert(s); +    pa_assert_ctl_context();      if (s->state == state)          return 0; @@ -396,9 +399,9 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {          /* We're suspending or resuming, tell everyone about it */ -        for (i = PA_SINK_INPUT(pa_idxset_first(s->inputs, &idx)); i; i = PA_SINK_INPUT(pa_idxset_next(s->inputs, &idx))) +        PA_IDXSET_FOREACH(i, s->inputs, idx)              if (s->state == PA_SINK_SUSPENDED && -                (i->flags & PA_SINK_INPUT_FAIL_ON_SUSPEND)) +                (i->flags & PA_SINK_INPUT_KILL_ON_SUSPEND))                  pa_sink_input_kill(i);              else if (i->suspend)                  i->suspend(i, state == PA_SINK_SUSPENDED); @@ -413,12 +416,12 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {  /* Called from main context */  void pa_sink_put(pa_sink* s) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(s->state == PA_SINK_INIT);      /* The following fields must be initialized properly when calling _put() */      pa_assert(s->asyncmsgq); -    pa_assert(s->rtpoll);      pa_assert(s->thread_info.min_latency <= s->thread_info.max_latency);      /* Generally, flags should be initialized via pa_sink_new(). As a @@ -436,11 +439,11 @@ void pa_sink_put(pa_sink* s) {      pa_assert((s->flags & PA_SINK_HW_VOLUME_CTRL) || (s->base_volume == PA_VOLUME_NORM && s->flags & PA_SINK_DECIBEL_VOLUME));      pa_assert(!(s->flags & PA_SINK_DECIBEL_VOLUME) || s->n_volume_steps == PA_VOLUME_NORM+1); -    pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == (s->fixed_latency != 0)); +    pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));      pa_assert(!(s->flags & PA_SINK_LATENCY) == !(s->monitor_source->flags & PA_SOURCE_LATENCY));      pa_assert(!(s->flags & PA_SINK_DYNAMIC_LATENCY) == !(s->monitor_source->flags & PA_SOURCE_DYNAMIC_LATENCY)); -    pa_assert(s->monitor_source->fixed_latency == s->fixed_latency); +    pa_assert(s->monitor_source->thread_info.fixed_latency == s->thread_info.fixed_latency);      pa_assert(s->monitor_source->thread_info.min_latency == s->thread_info.min_latency);      pa_assert(s->monitor_source->thread_info.max_latency == s->thread_info.max_latency); @@ -458,6 +461,7 @@ void pa_sink_unlink(pa_sink* s) {      pa_sink_input *i, *j = NULL;      pa_assert(s); +    pa_assert_ctl_context();      /* Please note that pa_sink_unlink() does more than simply       * reversing pa_sink_put(). It also undoes the registrations @@ -507,6 +511,7 @@ static void sink_free(pa_object *o) {      pa_sink_input *i;      pa_assert(s); +    pa_assert_ctl_context();      pa_assert(pa_sink_refcnt(s) == 0);      if (PA_SINK_IS_LINKED(s->state)) @@ -547,9 +552,10 @@ static void sink_free(pa_object *o) {      pa_xfree(s);  } -/* Called from main context */ +/* Called from main context, and not while the IO thread is active, please */  void pa_sink_set_asyncmsgq(pa_sink *s, pa_asyncmsgq *q) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      s->asyncmsgq = q; @@ -557,11 +563,32 @@ void pa_sink_set_asyncmsgq(pa_sink *s, pa_asyncmsgq *q) {          pa_source_set_asyncmsgq(s->monitor_source, q);  } -/* Called from main context */ +/* Called from main context, and not while the IO thread is active, please */ +void pa_sink_update_flags(pa_sink *s, pa_sink_flags_t mask, pa_sink_flags_t value) { +    pa_sink_assert_ref(s); +    pa_assert_ctl_context(); + +    if (mask == 0) +        return; + +    /* For now, allow only a minimal set of flags to be changed. */ +    pa_assert((mask & ~(PA_SINK_DYNAMIC_LATENCY|PA_SINK_LATENCY)) == 0); + +    s->flags = (s->flags & ~mask) | (value & mask); + +    pa_source_update_flags(s->monitor_source, +                           ((mask & PA_SINK_LATENCY) ? PA_SOURCE_LATENCY : 0) | +                           ((mask & PA_SINK_DYNAMIC_LATENCY) ? PA_SOURCE_DYNAMIC_LATENCY : 0), +                           ((value & PA_SINK_LATENCY) ? PA_SOURCE_LATENCY : 0) | +                           ((value & PA_SINK_DYNAMIC_LATENCY) ? PA_SINK_DYNAMIC_LATENCY : 0)); +} + +/* Called from IO context, or before _put() from main context */  void pa_sink_set_rtpoll(pa_sink *s, pa_rtpoll *p) {      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s); -    s->rtpoll = p; +    s->thread_info.rtpoll = p;      if (s->monitor_source)          pa_source_set_rtpoll(s->monitor_source, p); @@ -570,6 +597,7 @@ void pa_sink_set_rtpoll(pa_sink *s, pa_rtpoll *p) {  /* Called from main context */  int pa_sink_update_status(pa_sink*s) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      if (s->state == PA_SINK_SUSPENDED) @@ -581,6 +609,7 @@ int pa_sink_update_status(pa_sink*s) {  /* Called from main context */  int pa_sink_suspend(pa_sink *s, pa_bool_t suspend, pa_suspend_cause_t cause) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert(cause != 0); @@ -609,6 +638,7 @@ pa_queue *pa_sink_move_all_start(pa_sink *s, pa_queue *q) {      uint32_t idx;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      if (!q) @@ -633,12 +663,13 @@ void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, pa_bool_t save) {      pa_sink_input *i;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert(q);      while ((i = PA_SINK_INPUT(pa_queue_pop(q)))) {          if (pa_sink_input_finish_move(i, s, save) < 0) -            pa_sink_input_kill(i); +            pa_sink_input_fail_move(i);          pa_sink_input_unref(i);      } @@ -649,13 +680,13 @@ void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, pa_bool_t save) {  /* Called from main context */  void pa_sink_move_all_fail(pa_queue *q) {      pa_sink_input *i; + +    pa_assert_ctl_context();      pa_assert(q);      while ((i = PA_SINK_INPUT(pa_queue_pop(q)))) { -        if (pa_hook_fire(&i->core->hooks[PA_CORE_HOOK_SINK_INPUT_MOVE_FAIL], i) == PA_HOOK_OK) { -            pa_sink_input_kill(i); -            pa_sink_input_unref(i); -        } +        pa_sink_input_fail_move(i); +        pa_sink_input_unref(i);      }      pa_queue_free(q, NULL, NULL); @@ -665,11 +696,15 @@ void pa_sink_move_all_fail(pa_queue *q) {  void pa_sink_process_rewind(pa_sink *s, size_t nbytes) {      pa_sink_input *i;      void *state = NULL; +      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      /* If nobody requested this and this is actually no real rewind -     * then we can short cut this */ +     * then we can short cut this. Please note that this means that +     * not all rewind requests triggered upstream will always be +     * translated in actual requests! */      if (!s->thread_info.rewind_requested && nbytes <= 0)          return; @@ -682,7 +717,7 @@ void pa_sink_process_rewind(pa_sink *s, size_t nbytes) {      if (nbytes > 0)          pa_log_debug("Processing rewind..."); -    while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) { +    PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) {          pa_sink_input_assert_ref(i);          pa_sink_input_process_rewind(i, nbytes);      } @@ -700,6 +735,7 @@ static unsigned fill_mix_info(pa_sink *s, size_t *length, pa_mix_info *info, uns      size_t mixlength = *length;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(info);      while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)) && maxinfo > 0) { @@ -739,6 +775,7 @@ static void inputs_drop(pa_sink *s, pa_mix_info *info, unsigned n, pa_memchunk *      unsigned n_unreffed = 0;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(result);      pa_assert(result->memblock);      pa_assert(result->length > 0); @@ -834,6 +871,7 @@ void pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result) {      size_t block_size_max;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      pa_assert(pa_frame_aligned(length, &s->sample_spec));      pa_assert(result); @@ -920,6 +958,7 @@ void pa_sink_render_into(pa_sink*s, pa_memchunk *target) {      size_t length, block_size_max;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      pa_assert(target);      pa_assert(target->memblock); @@ -1003,6 +1042,7 @@ void pa_sink_render_into_full(pa_sink *s, pa_memchunk *target) {      size_t l, d;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      pa_assert(target);      pa_assert(target->memblock); @@ -1037,6 +1077,7 @@ void pa_sink_render_full(pa_sink *s, size_t length, pa_memchunk *result) {      unsigned n;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      pa_assert(length > 0);      pa_assert(pa_frame_aligned(length, &s->sample_spec)); @@ -1128,6 +1169,7 @@ pa_usec_t pa_sink_get_latency(pa_sink *s) {      pa_usec_t usec = 0;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      /* The returned value is supposed to be in the time domain of the sound card! */ @@ -1149,6 +1191,7 @@ pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s) {      pa_msgobject *o;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      /* The returned value is supposed to be in the time domain of the sound card! */ @@ -1161,7 +1204,7 @@ pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s) {      o = PA_MSGOBJECT(s); -    /* We probably should make this a proper vtable callback instead of going through process_msg() */ +    /* FIXME: We probably should make this a proper vtable callback instead of going through process_msg() */      if (o->process_msg(o, PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0)          return -1; @@ -1215,6 +1258,7 @@ void pa_sink_update_flat_volume(pa_sink *s, pa_cvolume *new_volume) {      uint32_t idx;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(new_volume);      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert(s->flags & PA_SINK_FLAT_VOLUME); @@ -1271,6 +1315,7 @@ void pa_sink_propagate_flat_volume(pa_sink *s) {      uint32_t idx;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert(s->flags & PA_SINK_FLAT_VOLUME); @@ -1319,6 +1364,7 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume, pa_bool_t propagat      pa_bool_t virtual_volume_changed;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert(volume);      pa_assert(pa_cvolume_valid(volume)); @@ -1360,6 +1406,7 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume, pa_bool_t propagat  /* Called from main thread. Only to be called by sink implementor */  void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(volume);      s->soft_volume = *volume; @@ -1373,6 +1420,8 @@ void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume) {  /* Called from main thread */  const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_bool_t reference) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SINK_IS_LINKED(s->state));      if (s->refresh_volume || force_refresh) {          struct pa_cvolume old_virtual_volume = s->virtual_volume; @@ -1386,6 +1435,12 @@ const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_boo              s->reference_volume = s->virtual_volume; +            /* Something got changed in the hardware. It probably +             * makes sense to save changed hw settings given that hw +             * volume changes not triggered by PA are almost certainly +             * done by the user. */ +            s->save_volume = TRUE; +              if (s->flags & PA_SINK_FLAT_VOLUME)                  pa_sink_propagate_flat_volume(s); @@ -1397,17 +1452,17 @@ const pa_cvolume *pa_sink_get_volume(pa_sink *s, pa_bool_t force_refresh, pa_boo  }  /* Called from main thread */ -void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume, pa_bool_t save) { +void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SINK_IS_LINKED(s->state));      /* The sink implementor may call this if the volume changed to make sure everyone is notified */ -    if (pa_cvolume_equal(&s->virtual_volume, new_volume)) { -        s->save_volume = s->save_volume || save; +    if (pa_cvolume_equal(&s->virtual_volume, new_volume))          return; -    }      s->reference_volume = s->virtual_volume = *new_volume; -    s->save_volume = save; +    s->save_volume = TRUE;      if (s->flags & PA_SINK_FLAT_VOLUME)          pa_sink_propagate_flat_volume(s); @@ -1420,6 +1475,7 @@ void pa_sink_set_mute(pa_sink *s, pa_bool_t mute, pa_bool_t save) {      pa_bool_t old_muted;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      old_muted = s->muted; @@ -1439,6 +1495,8 @@ void pa_sink_set_mute(pa_sink *s, pa_bool_t mute, pa_bool_t save) {  pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SINK_IS_LINKED(s->state));      if (s->refresh_muted || force_refresh) {          pa_bool_t old_muted = s->muted; @@ -1449,6 +1507,8 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_MUTE, NULL, 0, NULL) == 0);          if (old_muted != s->muted) { +            s->save_muted = TRUE; +              pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);              /* Make sure the soft mute status stays in sync */ @@ -1456,22 +1516,23 @@ pa_bool_t pa_sink_get_mute(pa_sink *s, pa_bool_t force_refresh) {          }      } +      return s->muted;  }  /* Called from main thread */ -void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save) { +void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SINK_IS_LINKED(s->state));      /* The sink implementor may call this if the volume changed to make sure everyone is notified */ -    if (s->muted == new_muted) { -        s->save_muted = s->save_muted || save; +    if (s->muted == new_muted)          return; -    }      s->muted = new_muted; -    s->save_muted = save; +    s->save_muted = TRUE;      pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);  } @@ -1479,6 +1540,7 @@ void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save) {  /* Called from main thread */  pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist *p) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (p)          pa_proplist_update(s->proplist, mode, p); @@ -1492,16 +1554,18 @@ pa_bool_t pa_sink_update_proplist(pa_sink *s, pa_update_mode_t mode, pa_proplist  }  /* Called from main thread */ +/* FIXME -- this should be dropped and be merged into pa_sink_update_proplist() */  void pa_sink_set_description(pa_sink *s, const char *description) {      const char *old;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))          return;      old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION); -    if (old && description && !strcmp(old, description)) +    if (old && description && pa_streq(old, description))          return;      if (description) @@ -1528,6 +1592,7 @@ unsigned pa_sink_linked_by(pa_sink *s) {      unsigned ret;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      ret = pa_idxset_size(s->inputs); @@ -1546,6 +1611,7 @@ unsigned pa_sink_used_by(pa_sink *s) {      unsigned ret;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      ret = pa_idxset_size(s->inputs); @@ -1564,6 +1630,7 @@ unsigned pa_sink_check_suspend(pa_sink *s) {      uint32_t idx;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (!PA_SINK_IS_LINKED(s->state))          return 0; @@ -1597,8 +1664,9 @@ static void sync_input_volumes_within_thread(pa_sink *s) {      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s); -    while ((i = PA_SINK_INPUT(pa_hashmap_iterate(s->thread_info.inputs, &state, NULL)))) { +    PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) {          if (pa_cvolume_equal(&i->thread_info.soft_volume, &i->soft_volume))              continue; @@ -1701,7 +1769,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse              if (pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index)))                  pa_sink_input_unref(i); -            pa_sink_invalidate_requested_latency(s); +            pa_sink_invalidate_requested_latency(s, TRUE);              pa_sink_request_rewind(s, (size_t) -1);              /* In flat volume mode we need to update the volume as @@ -1723,10 +1791,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse                  size_t sink_nbytes, total_nbytes;                  /* Get the latency of the sink */ -                if (!(s->flags & PA_SINK_LATENCY) || -                    PA_MSGOBJECT(s)->process_msg(PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0) -                    usec = 0; - +                usec = pa_sink_get_latency_within_thread(s);                  sink_nbytes = pa_usec_to_bytes(usec, &s->sample_spec);                  total_nbytes = sink_nbytes + pa_memblockq_get_length(i->thread_info.render_memblockq); @@ -1747,7 +1812,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse              if (pa_hashmap_remove(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index)))                  pa_sink_input_unref(i); -            pa_sink_invalidate_requested_latency(s); +            pa_sink_invalidate_requested_latency(s, TRUE);              pa_log_debug("Requesting rewind due to started move");              pa_sink_request_rewind(s, (size_t) -1); @@ -1785,10 +1850,7 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse                  size_t nbytes;                  /* Get the latency of the sink */ -                if (!(s->flags & PA_SINK_LATENCY) || -                    PA_MSGOBJECT(s)->process_msg(PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_LATENCY, &usec, 0, NULL) < 0) -                    usec = 0; - +                usec = pa_sink_get_latency_within_thread(s);                  nbytes = pa_usec_to_bytes(usec, &s->sample_spec);                  if (nbytes > 0) @@ -1876,6 +1938,9 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse              pa_usec_t *usec = userdata;              *usec = pa_sink_get_requested_latency_within_thread(s); +            /* Yes, that's right, the IO thread will see -1 when no +             * explicit requested latency is configured, the main +             * thread will see max_latency */              if (*usec == (pa_usec_t) -1)                  *usec = s->thread_info.max_latency; @@ -1899,6 +1964,16 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse              return 0;          } +        case PA_SINK_MESSAGE_GET_FIXED_LATENCY: + +            *((pa_usec_t*) userdata) = s->thread_info.fixed_latency; +            return 0; + +        case PA_SINK_MESSAGE_SET_FIXED_LATENCY: + +            pa_sink_set_fixed_latency_within_thread(s, (pa_usec_t) offset); +            return 0; +          case PA_SINK_MESSAGE_GET_MAX_REWIND:              *((size_t*) userdata) = s->thread_info.max_rewind; @@ -1934,9 +2009,10 @@ int pa_sink_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t cause)      int ret = 0;      pa_core_assert_ref(c); +    pa_assert_ctl_context();      pa_assert(cause != 0); -    for (sink = PA_SINK(pa_idxset_first(c->sinks, &idx)); sink; sink = PA_SINK(pa_idxset_next(c->sinks, &idx))) { +    PA_IDXSET_FOREACH(sink, c->sinks, idx) {          int r;          if ((r = pa_sink_suspend(sink, suspend, cause)) < 0) @@ -1949,6 +2025,7 @@ int pa_sink_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t cause)  /* Called from main thread */  void pa_sink_detach(pa_sink *s) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_DETACH, NULL, 0, NULL) == 0); @@ -1957,6 +2034,7 @@ void pa_sink_detach(pa_sink *s) {  /* Called from main thread */  void pa_sink_attach(pa_sink *s) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_ATTACH, NULL, 0, NULL) == 0); @@ -1968,9 +2046,10 @@ void pa_sink_detach_within_thread(pa_sink *s) {      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state)); -    while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +    PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)          if (i->detach)              i->detach(i); @@ -1984,9 +2063,10 @@ void pa_sink_attach_within_thread(pa_sink *s) {      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state)); -    while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +    PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)          if (i->attach)              i->attach(i); @@ -1997,6 +2077,7 @@ void pa_sink_attach_within_thread(pa_sink *s) {  /* Called from IO thread */  void pa_sink_request_rewind(pa_sink*s, size_t nbytes) {      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(PA_SINK_IS_LINKED(s->thread_info.state));      if (s->thread_info.state == PA_SINK_SUSPENDED) @@ -2026,15 +2107,15 @@ pa_usec_t pa_sink_get_requested_latency_within_thread(pa_sink *s) {      pa_usec_t monitor_latency;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      if (!(s->flags & PA_SINK_DYNAMIC_LATENCY)) -        return PA_CLAMP(s->fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency); +        return PA_CLAMP(s->thread_info.fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);      if (s->thread_info.requested_latency_valid)          return s->thread_info.requested_latency; -    while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) - +    PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)          if (i->thread_info.requested_sink_latency != (pa_usec_t) -1 &&              (result == (pa_usec_t) -1 || result > i->thread_info.requested_sink_latency))              result = i->thread_info.requested_sink_latency; @@ -2062,6 +2143,7 @@ pa_usec_t pa_sink_get_requested_latency(pa_sink *s) {      pa_usec_t usec = 0;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SINK_IS_LINKED(s->state));      if (s->state == PA_SINK_SUSPENDED) @@ -2077,16 +2159,16 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind) {      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      if (max_rewind == s->thread_info.max_rewind)          return;      s->thread_info.max_rewind = max_rewind; -    if (PA_SINK_IS_LINKED(s->thread_info.state)) { -        while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +    if (PA_SINK_IS_LINKED(s->thread_info.state)) +        PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)              pa_sink_input_update_max_rewind(i, s->thread_info.max_rewind); -    }      if (s->monitor_source)          pa_source_set_max_rewind_within_thread(s->monitor_source, s->thread_info.max_rewind); @@ -2095,6 +2177,7 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind) {  /* Called from main thread */  void pa_sink_set_max_rewind(pa_sink *s, size_t max_rewind) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (PA_SINK_IS_LINKED(s->state))          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_MAX_REWIND, NULL, max_rewind, NULL) == 0); @@ -2107,6 +2190,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      if (max_request == s->thread_info.max_request)          return; @@ -2116,7 +2200,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {      if (PA_SINK_IS_LINKED(s->thread_info.state)) {          pa_sink_input *i; -        while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +        PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)              pa_sink_input_update_max_request(i, s->thread_info.max_request);      }  } @@ -2124,6 +2208,7 @@ void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request) {  /* Called from main thread */  void pa_sink_set_max_request(pa_sink *s, size_t max_request) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (PA_SINK_IS_LINKED(s->state))          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_MAX_REQUEST, NULL, max_request, NULL) == 0); @@ -2132,23 +2217,24 @@ void pa_sink_set_max_request(pa_sink *s, size_t max_request) {  }  /* Called from IO thread */ -void pa_sink_invalidate_requested_latency(pa_sink *s) { +void pa_sink_invalidate_requested_latency(pa_sink *s, pa_bool_t dynamic) {      pa_sink_input *i;      void *state = NULL;      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s); -    if (!(s->flags & PA_SINK_DYNAMIC_LATENCY)) +    if ((s->flags & PA_SINK_DYNAMIC_LATENCY)) +        s->thread_info.requested_latency_valid = FALSE; +    else if (dynamic)          return; -    s->thread_info.requested_latency_valid = FALSE; -      if (PA_SINK_IS_LINKED(s->thread_info.state)) {          if (s->update_requested_latency)              s->update_requested_latency(s); -        while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +        PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)              if (i->update_sink_requested_latency)                  i->update_sink_requested_latency(i);      } @@ -2157,6 +2243,7 @@ void pa_sink_invalidate_requested_latency(pa_sink *s) {  /* Called from main thread */  void pa_sink_set_latency_range(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      /* min_latency == 0:           no limit       * min_latency anything else:  specified limit @@ -2191,6 +2278,7 @@ void pa_sink_set_latency_range(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_  /* Called from main thread */  void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *max_latency) {     pa_sink_assert_ref(s); +   pa_assert_ctl_context();     pa_assert(min_latency);     pa_assert(max_latency); @@ -2209,9 +2297,8 @@ void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *ma  /* Called from IO thread */  void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency) { -    void *state = NULL; -      pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s);      pa_assert(min_latency >= ABSOLUTE_MIN_LATENCY);      pa_assert(max_latency <= ABSOLUTE_MAX_LATENCY); @@ -2222,27 +2309,36 @@ void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency,                 max_latency == ABSOLUTE_MAX_LATENCY) ||                (s->flags & PA_SINK_DYNAMIC_LATENCY)); +    if (s->thread_info.min_latency == min_latency && +        s->thread_info.max_latency == max_latency) +        return; +      s->thread_info.min_latency = min_latency;      s->thread_info.max_latency = max_latency;      if (PA_SINK_IS_LINKED(s->thread_info.state)) {          pa_sink_input *i; +        void *state = NULL; -        while ((i = pa_hashmap_iterate(s->thread_info.inputs, &state, NULL))) +        PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state)              if (i->update_sink_latency_range)                  i->update_sink_latency_range(i);      } -    pa_sink_invalidate_requested_latency(s); +    pa_sink_invalidate_requested_latency(s, FALSE);      pa_source_set_latency_range_within_thread(s->monitor_source, min_latency, max_latency);  } -/* Called from main thread, before the sink is put */ +/* Called from main thread */  void pa_sink_set_fixed_latency(pa_sink *s, pa_usec_t latency) {      pa_sink_assert_ref(s); +    pa_assert_ctl_context(); -    pa_assert(pa_sink_get_state(s) == PA_SINK_INIT); +    if (s->flags & PA_SINK_DYNAMIC_LATENCY) { +        pa_assert(latency == 0); +        return; +    }      if (latency < ABSOLUTE_MIN_LATENCY)          latency = ABSOLUTE_MIN_LATENCY; @@ -2250,14 +2346,69 @@ void pa_sink_set_fixed_latency(pa_sink *s, pa_usec_t latency) {      if (latency > ABSOLUTE_MAX_LATENCY)          latency = ABSOLUTE_MAX_LATENCY; -    s->fixed_latency = latency; +    if (PA_SINK_IS_LINKED(s->state)) +        pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_FIXED_LATENCY, NULL, (int64_t) latency, NULL) == 0); +    else +        s->thread_info.fixed_latency = latency; +      pa_source_set_fixed_latency(s->monitor_source, latency);  } +/* Called from main thread */ +pa_usec_t pa_sink_get_fixed_latency(pa_sink *s) { +    pa_usec_t latency; + +    pa_sink_assert_ref(s); +    pa_assert_ctl_context(); + +    if (s->flags & PA_SINK_DYNAMIC_LATENCY) +        return 0; + +    if (PA_SINK_IS_LINKED(s->state)) +        pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_GET_FIXED_LATENCY, &latency, 0, NULL) == 0); +    else +        latency = s->thread_info.fixed_latency; + +    return latency; +} + +/* Called from IO thread */ +void pa_sink_set_fixed_latency_within_thread(pa_sink *s, pa_usec_t latency) { +    pa_sink_assert_ref(s); +    pa_sink_assert_io_context(s); + +    if (s->flags & PA_SINK_DYNAMIC_LATENCY) { +        pa_assert(latency == 0); +        return; +    } + +    pa_assert(latency >= ABSOLUTE_MIN_LATENCY); +    pa_assert(latency <= ABSOLUTE_MAX_LATENCY); + +    if (s->thread_info.fixed_latency == latency) +        return; + +    s->thread_info.fixed_latency = latency; + +    if (PA_SINK_IS_LINKED(s->thread_info.state)) { +        pa_sink_input *i; +        void *state = NULL; + +        PA_HASHMAP_FOREACH(i, s->thread_info.inputs, state) +            if (i->update_sink_fixed_latency) +                i->update_sink_fixed_latency(i); +    } + +    pa_sink_invalidate_requested_latency(s, FALSE); + +    pa_source_set_fixed_latency_within_thread(s->monitor_source, latency); +} +  /* Called from main context */  size_t pa_sink_get_max_rewind(pa_sink *s) {      size_t r;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (!PA_SINK_IS_LINKED(s->state))          return s->thread_info.max_rewind; @@ -2271,6 +2422,7 @@ size_t pa_sink_get_max_rewind(pa_sink *s) {  size_t pa_sink_get_max_request(pa_sink *s) {      size_t r;      pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (!PA_SINK_IS_LINKED(s->state))          return s->thread_info.max_request; @@ -2284,7 +2436,8 @@ size_t pa_sink_get_max_request(pa_sink *s) {  int pa_sink_set_port(pa_sink *s, const char *name, pa_bool_t save) {      pa_device_port *port; -    pa_assert(s); +    pa_sink_assert_ref(s); +    pa_assert_ctl_context();      if (!s->set_port) {          pa_log_debug("set_port() operation not implemented for sink %u \"%s\"", s->index, s->name); @@ -2315,7 +2468,6 @@ int pa_sink_set_port(pa_sink *s, const char *name, pa_bool_t save) {      return 0;  } -/* Called from main context */  pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink) {      const char *ff, *c, *t = NULL, *s = "", *profile, *bus; diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h index d16fcc01..3cd7e59d 100644 --- a/src/pulsecore/sink.h +++ b/src/pulsecore/sink.h @@ -42,6 +42,7 @@ typedef struct pa_device_port pa_device_port;  #include <pulsecore/rtpoll.h>  #include <pulsecore/card.h>  #include <pulsecore/queue.h> +#include <pulsecore/thread-mq.h>  #define PA_MAX_INPUTS_PER_SINK 32 @@ -101,12 +102,9 @@ struct pa_sink {      pa_bool_t save_muted:1;      pa_asyncmsgq *asyncmsgq; -    pa_rtpoll *rtpoll;      pa_memchunk silence; -    pa_usec_t fixed_latency; /* for sinks with PA_SINK_DYNAMIC_LATENCY this is 0 */ -      pa_hashmap *ports;      pa_device_port *active_port; @@ -155,9 +153,14 @@ struct pa_sink {          pa_sink_state_t state;          pa_hashmap *inputs; +        pa_rtpoll *rtpoll; +          pa_cvolume soft_volume;          pa_bool_t soft_muted:1; +        /* The requested latency is used for dynamic latency +         * sinks. For fixed latency sinks it is always identical to +         * the fixed_latency. See below. */          pa_bool_t requested_latency_valid:1;          pa_usec_t requested_latency; @@ -173,8 +176,15 @@ struct pa_sink {          size_t rewind_nbytes;          pa_bool_t rewind_requested; +        /* Both dynamic and fixed latencies will be clamped to this +         * range. */          pa_usec_t min_latency; /* we won't go below this latency */          pa_usec_t max_latency; /* An upper limit for the latencies */ + +        /* 'Fixed' simply means that the latency is exclusively +         * decided on by the sink, and the clients have no influence +         * in changing it */ +        pa_usec_t fixed_latency; /* for sinks with PA_SINK_DYNAMIC_LATENCY this is 0 */      } thread_info;      void *userdata; @@ -200,6 +210,8 @@ typedef enum pa_sink_message {      PA_SINK_MESSAGE_DETACH,      PA_SINK_MESSAGE_SET_LATENCY_RANGE,      PA_SINK_MESSAGE_GET_LATENCY_RANGE, +    PA_SINK_MESSAGE_SET_FIXED_LATENCY, +    PA_SINK_MESSAGE_GET_FIXED_LATENCY,      PA_SINK_MESSAGE_GET_MAX_REWIND,      PA_SINK_MESSAGE_GET_MAX_REQUEST,      PA_SINK_MESSAGE_SET_MAX_REWIND, @@ -267,8 +279,10 @@ void pa_sink_detach(pa_sink *s);  void pa_sink_attach(pa_sink *s);  void pa_sink_set_soft_volume(pa_sink *s, const pa_cvolume *volume); -void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume, pa_bool_t save); -void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted, pa_bool_t save); +void pa_sink_volume_changed(pa_sink *s, const pa_cvolume *new_volume); +void pa_sink_mute_changed(pa_sink *s, pa_bool_t new_muted); + +void pa_sink_update_flags(pa_sink *s, pa_sink_flags_t mask, pa_sink_flags_t value);  pa_bool_t pa_device_init_description(pa_proplist *p);  pa_bool_t pa_device_init_icon(pa_proplist *p, pa_bool_t is_sink); @@ -280,6 +294,7 @@ pa_bool_t pa_device_init_intended_roles(pa_proplist *p);  pa_usec_t pa_sink_get_latency(pa_sink *s);  pa_usec_t pa_sink_get_requested_latency(pa_sink *s);  void pa_sink_get_latency_range(pa_sink *s, pa_usec_t *min_latency, pa_usec_t *max_latency); +pa_usec_t pa_sink_get_fixed_latency(pa_sink *s);  size_t pa_sink_get_max_rewind(pa_sink *s);  size_t pa_sink_get_max_request(pa_sink *s); @@ -331,16 +346,23 @@ void pa_sink_set_max_rewind_within_thread(pa_sink *s, size_t max_rewind);  void pa_sink_set_max_request_within_thread(pa_sink *s, size_t max_request);  void pa_sink_set_latency_range_within_thread(pa_sink *s, pa_usec_t min_latency, pa_usec_t max_latency); +void pa_sink_set_fixed_latency_within_thread(pa_sink *s, pa_usec_t latency);  /*** To be called exclusively by sink input drivers, from IO context */  void pa_sink_request_rewind(pa_sink*s, size_t nbytes); -void pa_sink_invalidate_requested_latency(pa_sink *s); +void pa_sink_invalidate_requested_latency(pa_sink *s, pa_bool_t dynamic);  pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s);  pa_device_port *pa_device_port_new(const char *name, const char *description, size_t extra);  void pa_device_port_free(pa_device_port *p); +/* Verify that we called in IO context (aka 'thread context), or that + * the sink is not yet set up, i.e. the thread not set up yet. See + * pa_assert_io_context() in thread-mq.h for more information. */ +#define pa_sink_assert_io_context(s) \ +    pa_assert(pa_thread_mq_get() || !PA_SINK_IS_LINKED((s)->state)) +  #endif diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c index 4ba25ae4..3803a6cc 100644 --- a/src/pulsecore/source-output.c +++ b/src/pulsecore/source-output.c @@ -48,7 +48,7 @@ static void source_output_free(pa_object* mo);  pa_source_output_new_data* pa_source_output_new_data_init(pa_source_output_new_data *data) {      pa_assert(data); -    memset(data, 0, sizeof(*data)); +    pa_zero(*data);      data->resample_method = PA_RESAMPLER_INVALID;      data->proplist = pa_proplist_new(); @@ -84,6 +84,7 @@ static void reset_callbacks(pa_source_output *o) {      o->update_max_rewind = NULL;      o->update_source_requested_latency = NULL;      o->update_source_latency_range = NULL; +    o->update_source_fixed_latency = NULL;      o->attach = NULL;      o->detach = NULL;      o->suspend = NULL; @@ -111,6 +112,7 @@ int pa_source_output_new(      pa_assert(_o);      pa_assert(core);      pa_assert(data); +    pa_assert_ctl_context();      if (data->client)          pa_proplist_update(data->proplist, PA_UPDATE_MERGE, data->client->proplist); @@ -166,7 +168,7 @@ int pa_source_output_new(      if ((r = pa_hook_fire(&core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_FIXATE], data)) < 0)          return r; -    if ((flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND) && +    if ((flags & PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND) &&          pa_source_get_state(data->source) == PA_SOURCE_SUSPENDED) {          pa_log("Failed to create source output: source is suspended.");          return -PA_ERR_BADSTATE; @@ -262,6 +264,7 @@ int pa_source_output_new(  /* Called from main context */  static void update_n_corked(pa_source_output *o, pa_source_output_state_t state) {      pa_assert(o); +    pa_assert_ctl_context();      if (!o->source)          return; @@ -275,6 +278,7 @@ static void update_n_corked(pa_source_output *o, pa_source_output_state_t state)  /* Called from main context */  static void source_output_set_state(pa_source_output *o, pa_source_output_state_t state) {      pa_assert(o); +    pa_assert_ctl_context();      if (o->state == state)          return; @@ -294,6 +298,7 @@ static void source_output_set_state(pa_source_output *o, pa_source_output_state_  void pa_source_output_unlink(pa_source_output*o) {      pa_bool_t linked;      pa_assert(o); +    pa_assert_ctl_context();      /* See pa_sink_unlink() for a couple of comments how this function       * works */ @@ -346,6 +351,7 @@ static void source_output_free(pa_object* mo) {      pa_source_output *o = PA_SOURCE_OUTPUT(mo);      pa_assert(o); +    pa_assert_ctl_context();      pa_assert(pa_source_output_refcnt(o) == 0);      if (PA_SOURCE_OUTPUT_IS_LINKED(o->state)) @@ -371,7 +377,9 @@ static void source_output_free(pa_object* mo) {  /* Called from main context */  void pa_source_output_put(pa_source_output *o) {      pa_source_output_state_t state; +      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(o->state == PA_SOURCE_OUTPUT_INIT); @@ -395,6 +403,7 @@ void pa_source_output_put(pa_source_output *o) {  /* Called from main context */  void pa_source_output_kill(pa_source_output*o) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      o->kill(o); @@ -405,6 +414,7 @@ pa_usec_t pa_source_output_get_latency(pa_source_output *o, pa_usec_t *source_la      pa_usec_t r[2] = { 0, 0 };      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      pa_assert_se(pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o), PA_SOURCE_OUTPUT_MESSAGE_GET_LATENCY, r, 0, NULL) == 0); @@ -424,6 +434,7 @@ void pa_source_output_push(pa_source_output *o, const pa_memchunk *chunk) {      size_t limit, mbs = 0;      pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o);      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));      pa_assert(chunk);      pa_assert(pa_frame_aligned(chunk->length, &o->source->sample_spec)); @@ -499,8 +510,9 @@ void pa_source_output_push(pa_source_output *o, const pa_memchunk *chunk) {  /* Called from thread context */  void pa_source_output_process_rewind(pa_source_output *o, size_t nbytes /* in source sample spec */) { -    pa_source_output_assert_ref(o); +    pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o);      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &o->source->sample_spec)); @@ -526,8 +538,17 @@ void pa_source_output_process_rewind(pa_source_output *o, size_t nbytes /* in so  }  /* Called from thread context */ +size_t pa_source_output_get_max_rewind(pa_source_output *o) { +    pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o); + +    return o->thread_info.resampler ? pa_resampler_request(o->thread_info.resampler, o->source->thread_info.max_rewind) : o->source->thread_info.max_rewind; +} + +/* Called from thread context */  void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes  /* in the source's sample spec */) {      pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o);      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->thread_info.state));      pa_assert(pa_frame_aligned(nbytes, &o->source->sample_spec)); @@ -538,15 +559,16 @@ void pa_source_output_update_max_rewind(pa_source_output *o, size_t nbytes  /* i  /* Called from thread context */  pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output *o, pa_usec_t usec) {      pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o);      if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY)) -        usec = o->source->fixed_latency; +        usec = o->source->thread_info.fixed_latency;      if (usec != (pa_usec_t) -1)          usec = PA_CLAMP(usec, o->source->thread_info.min_latency, o->source->thread_info.max_latency);      o->thread_info.requested_source_latency = usec; -    pa_source_invalidate_requested_latency(o->source); +    pa_source_invalidate_requested_latency(o->source, TRUE);      return usec;  } @@ -554,6 +576,7 @@ pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output  /* Called from main context */  pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t usec) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      if (PA_SOURCE_OUTPUT_IS_LINKED(o->state) && o->source) {          pa_assert_se(pa_asyncmsgq_send(o->source->asyncmsgq, PA_MSGOBJECT(o), PA_SOURCE_OUTPUT_MESSAGE_SET_REQUESTED_LATENCY, &usec, 0, NULL) == 0); @@ -565,7 +588,7 @@ pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t      if (o->source) {          if (!(o->source->flags & PA_SOURCE_DYNAMIC_LATENCY)) -            usec = o->source->fixed_latency; +            usec = pa_source_get_fixed_latency(o->source);          if (usec != (pa_usec_t) -1) {              pa_usec_t min_latency, max_latency; @@ -582,6 +605,7 @@ pa_usec_t pa_source_output_set_requested_latency(pa_source_output *o, pa_usec_t  /* Called from main context */  pa_usec_t pa_source_output_get_requested_latency(pa_source_output *o) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      if (PA_SOURCE_OUTPUT_IS_LINKED(o->state) && o->source) {          pa_usec_t usec = 0; @@ -598,6 +622,7 @@ pa_usec_t pa_source_output_get_requested_latency(pa_source_output *o) {  /* Called from main context */  void pa_source_output_cork(pa_source_output *o, pa_bool_t b) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      source_output_set_state(o, b ? PA_SOURCE_OUTPUT_CORKED : PA_SOURCE_OUTPUT_RUNNING); @@ -606,6 +631,7 @@ void pa_source_output_cork(pa_source_output *o, pa_bool_t b) {  /* Called from main context */  int pa_source_output_set_rate(pa_source_output *o, uint32_t rate) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      pa_return_val_if_fail(o->thread_info.resampler, -PA_ERR_BADSTATE); @@ -623,6 +649,7 @@ int pa_source_output_set_rate(pa_source_output *o, uint32_t rate) {  /* Called from main context */  void pa_source_output_set_name(pa_source_output *o, const char *name) {      const char *old; +    pa_assert_ctl_context();      pa_source_output_assert_ref(o);      if (!name && !pa_proplist_contains(o->proplist, PA_PROP_MEDIA_NAME)) @@ -647,11 +674,12 @@ 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_ctl_context();      if (p)          pa_proplist_update(o->proplist, mode, p); -    if (PA_SINK_IS_LINKED(o->state)) { +    if (PA_SOURCE_OUTPUT_IS_LINKED(o->state)) {          pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_PROPLIST_CHANGED], o);          pa_subscription_post(o->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);      } @@ -660,6 +688,7 @@ void pa_source_output_update_proplist(pa_source_output *o, pa_update_mode_t mode  /* Called from main context */  pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      return o->actual_resample_method;  } @@ -667,6 +696,7 @@ pa_resample_method_t pa_source_output_get_resample_method(pa_source_output *o) {  /* Called from main context */  pa_bool_t pa_source_output_may_move(pa_source_output *o) {      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      if (o->flags & PA_SOURCE_OUTPUT_DONT_MOVE) @@ -708,6 +738,7 @@ int pa_source_output_start_move(pa_source_output *o) {      int r;      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      pa_assert(o->source); @@ -739,6 +770,7 @@ int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t      pa_resampler *new_resampler;      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      pa_assert(!o->source);      pa_source_assert_ref(dest); @@ -816,10 +848,29 @@ int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t  }  /* Called from main context */ +void pa_source_output_fail_move(pa_source_output *o) { + +    pa_source_output_assert_ref(o); +    pa_assert_ctl_context(); +    pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state)); +    pa_assert(!o->source); + +    /* Check if someone wants this source output? */ +    if (pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], o) == PA_HOOK_STOP) +        return; + +    if (o->moving) +        o->moving(o, NULL); + +    pa_source_output_kill(o); +} + +/* Called from main context */  int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t save) {      int r;      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_OUTPUT_IS_LINKED(o->state));      pa_assert(o->source);      pa_source_assert_ref(dest); @@ -838,6 +889,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav      }      if ((r = pa_source_output_finish_move(o, dest, save)) < 0) { +        pa_source_output_fail_move(o);          pa_source_output_unref(o);          return r;      } @@ -850,6 +902,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav  /* Called from IO thread context */  void pa_source_output_set_state_within_thread(pa_source_output *o, pa_source_output_state_t state) {      pa_source_output_assert_ref(o); +    pa_source_output_assert_io_context(o);      if (state == o->thread_info.state)          return; @@ -906,11 +959,13 @@ int pa_source_output_process_msg(pa_msgobject *mo, int code, void *userdata, int      return -PA_ERR_NOTIMPLEMENTED;  } +/* Called from main context */  void pa_source_output_send_event(pa_source_output *o, const char *event, pa_proplist *data) {      pa_proplist *pl = NULL;      pa_source_output_send_event_hook_data hook_data;      pa_source_output_assert_ref(o); +    pa_assert_ctl_context();      pa_assert(event);      if (!o->send_event) diff --git a/src/pulsecore/source-output.h b/src/pulsecore/source-output.h index 9824e160..a70a3fdb 100644 --- a/src/pulsecore/source-output.h +++ b/src/pulsecore/source-output.h @@ -55,7 +55,8 @@ typedef enum pa_source_output_flags {      PA_SOURCE_OUTPUT_FIX_RATE = 64,      PA_SOURCE_OUTPUT_FIX_CHANNELS = 128,      PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND = 256, -    PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND = 512 +    PA_SOURCE_OUTPUT_NO_CREATE_ON_SUSPEND = 512, +    PA_SOURCE_OUTPUT_KILL_ON_SUSPEND = 1024  } pa_source_output_flags_t;  struct pa_source_output { @@ -108,6 +109,10 @@ struct pa_source_output {       * from IO context. */      void (*update_source_latency_range) (pa_source_output *o); /* may be NULL */ +    /* Called whenver the fixed latency of the source changes, if there +     * is one. Called from IO context. */ +    void (*update_source_fixed_latency) (pa_source_output *i); /* may be NULL */ +      /* If non-NULL this function is called when the output is first       * connected to a source. Called from IO thread context */      void (*attach) (pa_source_output *o);           /* may be NULL */ @@ -127,7 +132,9 @@ struct pa_source_output {      /* If non-NULL called whenever the source output is moved to a new       * source. Called from main context after the stream was detached       * from the old source and before it is attached to the new -     * source. */ +     * source. If dest is NULL the move was executed in two +     * phases and the second one failed; the stream will be destroyed +     * after this call. */      void (*moving) (pa_source_output *o, pa_source *dest);   /* may be NULL */      /* Supposed to unlink and destroy this stream. Called from main @@ -238,6 +245,8 @@ void pa_source_output_cork(pa_source_output *o, pa_bool_t b);  int pa_source_output_set_rate(pa_source_output *o, uint32_t rate); +size_t pa_source_output_get_max_rewind(pa_source_output *o); +  /* Callable by everyone */  /* External code may request disconnection with this funcion */ @@ -260,6 +269,7 @@ int pa_source_output_move_to(pa_source_output *o, pa_source *dest, pa_bool_t sav   * new source */  int pa_source_output_start_move(pa_source_output *o);  int pa_source_output_finish_move(pa_source_output *o, pa_source *dest, pa_bool_t save); +void pa_source_output_fail_move(pa_source_output *o);  #define pa_source_output_get_state(o) ((o)->state) @@ -277,4 +287,7 @@ int pa_source_output_process_msg(pa_msgobject *mo, int code, void *userdata, int  pa_usec_t pa_source_output_set_requested_latency_within_thread(pa_source_output *o, pa_usec_t usec); +#define pa_source_output_assert_io_context(s) \ +    pa_assert(pa_thread_mq_get() || !PA_SOURCE_OUTPUT_IS_LINKED((s)->state)) +  #endif diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c index 74f38bc5..46f049ef 100644 --- a/src/pulsecore/source.c +++ b/src/pulsecore/source.c @@ -33,6 +33,7 @@  #include <pulse/timeval.h>  #include <pulse/util.h> +#include <pulsecore/core-util.h>  #include <pulsecore/source-output.h>  #include <pulsecore/namereg.h>  #include <pulsecore/core-subscribe.h> @@ -52,7 +53,7 @@ static void source_free(pa_object *o);  pa_source_new_data* pa_source_new_data_init(pa_source_new_data *data) {      pa_assert(data); -    memset(data, 0, sizeof(*data)); +    pa_zero(*data);      data->proplist = pa_proplist_new();      return data; @@ -145,6 +146,7 @@ pa_source* pa_source_new(      pa_assert(core);      pa_assert(data);      pa_assert(data->name); +    pa_assert_ctl_context();      s = pa_msgobject_new(pa_source); @@ -224,13 +226,10 @@ pa_source* pa_source_new(      s->muted = data->muted;      s->refresh_volume = s->refresh_muted = FALSE; -    s->fixed_latency = flags & PA_SOURCE_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY; -      reset_callbacks(s);      s->userdata = NULL;      s->asyncmsgq = NULL; -    s->rtpoll = NULL;      /* As a minor optimization we just steal the list instead of       * copying it here */ @@ -263,6 +262,7 @@ pa_source* pa_source_new(              &s->sample_spec,              0); +    s->thread_info.rtpoll = NULL;      s->thread_info.outputs = pa_hashmap_new(pa_idxset_trivial_hash_func, pa_idxset_trivial_compare_func);      s->thread_info.soft_volume = s->soft_volume;      s->thread_info.soft_muted = s->muted; @@ -272,6 +272,7 @@ pa_source* pa_source_new(      s->thread_info.requested_latency = 0;      s->thread_info.min_latency = ABSOLUTE_MIN_LATENCY;      s->thread_info.max_latency = ABSOLUTE_MAX_LATENCY; +    s->thread_info.fixed_latency = flags & PA_SOURCE_DYNAMIC_LATENCY ? 0 : DEFAULT_FIXED_LATENCY;      pa_assert_se(pa_idxset_put(core->sources, s, &s->index) >= 0); @@ -297,6 +298,7 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {      pa_source_state_t original_state;      pa_assert(s); +    pa_assert_ctl_context();      if (s->state == state)          return 0; @@ -333,27 +335,26 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {          /* We're suspending or resuming, tell everyone about it */ -        for (o = PA_SOURCE_OUTPUT(pa_idxset_first(s->outputs, &idx)); o; o = PA_SOURCE_OUTPUT(pa_idxset_next(s->outputs, &idx))) +        PA_IDXSET_FOREACH(o, s->outputs, idx)              if (s->state == PA_SOURCE_SUSPENDED && -                (o->flags & PA_SOURCE_OUTPUT_FAIL_ON_SUSPEND)) +                (o->flags & PA_SOURCE_OUTPUT_KILL_ON_SUSPEND))                  pa_source_output_kill(o);              else if (o->suspend)                  o->suspend(o, state == PA_SOURCE_SUSPENDED);      } -      return 0;  }  /* Called from main context */  void pa_source_put(pa_source *s) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(s->state == PA_SOURCE_INIT);      /* The following fields must be initialized properly when calling _put() */      pa_assert(s->asyncmsgq); -    pa_assert(s->rtpoll);      pa_assert(s->thread_info.min_latency <= s->thread_info.max_latency);      /* Generally, flags should be initialized via pa_source_new(). As @@ -368,7 +369,7 @@ void pa_source_put(pa_source *s) {      pa_assert((s->flags & PA_SOURCE_HW_VOLUME_CTRL) || (s->base_volume == PA_VOLUME_NORM && s->flags & PA_SOURCE_DECIBEL_VOLUME));      pa_assert(!(s->flags & PA_SOURCE_DECIBEL_VOLUME) || s->n_volume_steps == PA_VOLUME_NORM+1); -    pa_assert(!(s->flags & PA_SOURCE_DYNAMIC_LATENCY) == (s->fixed_latency != 0)); +    pa_assert(!(s->flags & PA_SOURCE_DYNAMIC_LATENCY) == (s->thread_info.fixed_latency != 0));      pa_assert_se(source_set_state(s, PA_SOURCE_IDLE) == 0); @@ -382,6 +383,7 @@ void pa_source_unlink(pa_source *s) {      pa_source_output *o, *j = NULL;      pa_assert(s); +    pa_assert_ctl_context();      /* See pa_sink_unlink() for a couple of comments how this function       * works. */ @@ -423,6 +425,7 @@ static void source_free(pa_object *o) {      pa_source *s = PA_SOURCE(o);      pa_assert(s); +    pa_assert_ctl_context();      pa_assert(pa_source_refcnt(s) == 0);      if (PA_SOURCE_IS_LINKED(s->state)) @@ -458,23 +461,40 @@ static void source_free(pa_object *o) {      pa_xfree(s);  } -/* Called from main context */ +/* Called from main context, and not while the IO thread is active, please */  void pa_source_set_asyncmsgq(pa_source *s, pa_asyncmsgq *q) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      s->asyncmsgq = q;  } -/* Called from main context */ +/* Called from main context, and not while the IO thread is active, please */ +void pa_source_update_flags(pa_source *s, pa_source_flags_t mask, pa_source_flags_t value) { +    pa_source_assert_ref(s); +    pa_assert_ctl_context(); + +    if (mask == 0) +        return; + +    /* For now, allow only a minimal set of flags to be changed. */ +    pa_assert((mask & ~(PA_SOURCE_DYNAMIC_LATENCY|PA_SOURCE_LATENCY)) == 0); + +    s->flags = (s->flags & ~mask) | (value & mask); +} + +/* Called from IO context, or before _put() from main context */  void pa_source_set_rtpoll(pa_source *s, pa_rtpoll *p) {      pa_source_assert_ref(s); +    pa_source_assert_io_context(s); -    s->rtpoll = p; +    s->thread_info.rtpoll = p;  }  /* Called from main context */  int pa_source_update_status(pa_source*s) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (s->state == PA_SOURCE_SUSPENDED) @@ -486,6 +506,7 @@ int pa_source_update_status(pa_source*s) {  /* Called from main context */  int pa_source_suspend(pa_source *s, pa_bool_t suspend, pa_suspend_cause_t cause) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert(cause != 0); @@ -513,6 +534,7 @@ int pa_source_sync_suspend(pa_source *s) {      pa_sink_state_t state;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert(s->monitor_of); @@ -532,6 +554,7 @@ pa_queue *pa_source_move_all_start(pa_source *s, pa_queue *q) {      uint32_t idx;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (!q) @@ -556,12 +579,13 @@ void pa_source_move_all_finish(pa_source *s, pa_queue *q, pa_bool_t save) {      pa_source_output *o;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert(q);      while ((o = PA_SOURCE_OUTPUT(pa_queue_pop(q)))) {          if (pa_source_output_finish_move(o, s, save) < 0) -            pa_source_output_kill(o); +            pa_source_output_fail_move(o);          pa_source_output_unref(o);      } @@ -572,13 +596,13 @@ void pa_source_move_all_finish(pa_source *s, pa_queue *q, pa_bool_t save) {  /* Called from main context */  void pa_source_move_all_fail(pa_queue *q) {      pa_source_output *o; + +    pa_assert_ctl_context();      pa_assert(q);      while ((o = PA_SOURCE_OUTPUT(pa_queue_pop(q)))) { -        if (pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_MOVE_FAIL], o) == PA_HOOK_OK) { -            pa_source_output_kill(o); -            pa_source_output_unref(o); -        } +        pa_source_output_fail_move(o); +        pa_source_output_unref(o);      }      pa_queue_free(q, NULL, NULL); @@ -590,17 +614,18 @@ void pa_source_process_rewind(pa_source *s, size_t nbytes) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state)); -    if (s->thread_info.state == PA_SOURCE_SUSPENDED) +    if (nbytes <= 0)          return; -    if (nbytes <= 0) +    if (s->thread_info.state == PA_SOURCE_SUSPENDED)          return;      pa_log_debug("Processing rewind..."); -    while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) { +    PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state) {          pa_source_output_assert_ref(o);          pa_source_output_process_rewind(o, nbytes);      } @@ -612,6 +637,7 @@ void pa_source_post(pa_source*s, const pa_memchunk *chunk) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));      pa_assert(chunk); @@ -651,6 +677,7 @@ void pa_source_post(pa_source*s, const pa_memchunk *chunk) {  /* Called from IO thread context */  void pa_source_post_direct(pa_source*s, pa_source_output *o, const pa_memchunk *chunk) {      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));      pa_source_output_assert_ref(o);      pa_assert(o->thread_info.direct_on_input); @@ -682,6 +709,7 @@ pa_usec_t pa_source_get_latency(pa_source *s) {      pa_usec_t usec;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (s->state == PA_SOURCE_SUSPENDED) @@ -701,6 +729,7 @@ pa_usec_t pa_source_get_latency_within_thread(pa_source *s) {      pa_msgobject *o;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));      /* The returned value is supposed to be in the time domain of the sound card! */ @@ -727,6 +756,7 @@ void pa_source_set_volume(pa_source *s, const pa_cvolume *volume, pa_bool_t save      pa_bool_t virtual_volume_changed;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert(volume);      pa_assert(pa_cvolume_valid(volume)); @@ -752,6 +782,7 @@ void pa_source_set_volume(pa_source *s, const pa_cvolume *volume, pa_bool_t save  /* Called from main thread. Only to be called by source implementor */  void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(volume);      if (PA_SOURCE_IS_LINKED(s->state)) @@ -763,6 +794,7 @@ void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume) {  /* Called from main thread */  const pa_cvolume *pa_source_get_volume(pa_source *s, pa_bool_t force_refresh) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (s->refresh_volume || force_refresh) { @@ -773,26 +805,28 @@ const pa_cvolume *pa_source_get_volume(pa_source *s, pa_bool_t force_refresh) {          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_VOLUME, NULL, 0, NULL) == 0); -        if (!pa_cvolume_equal(&old_virtual_volume, &s->virtual_volume)) +        if (!pa_cvolume_equal(&old_virtual_volume, &s->virtual_volume)) { +            s->save_volume = TRUE;              pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index); +        }      }      return &s->virtual_volume;  }  /* Called from main thread */ -void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume, pa_bool_t save) { +void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume) {      pa_source_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SOURCE_IS_LINKED(s->state));      /* The source implementor may call this if the volume changed to make sure everyone is notified */ -    if (pa_cvolume_equal(&s->virtual_volume, new_volume)) { -        s->save_volume = s->save_volume || save; +    if (pa_cvolume_equal(&s->virtual_volume, new_volume))          return; -    }      s->virtual_volume = *new_volume; -    s->save_volume = save; +    s->save_volume = TRUE;      pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);  } @@ -802,6 +836,7 @@ void pa_source_set_mute(pa_source *s, pa_bool_t mute, pa_bool_t save) {      pa_bool_t old_muted;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      old_muted = s->muted; @@ -820,6 +855,7 @@ void pa_source_set_mute(pa_source *s, pa_bool_t mute, pa_bool_t save) {  /* Called from main thread */  pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (s->refresh_muted || force_refresh) { @@ -831,6 +867,8 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_MUTE, NULL, 0, NULL) == 0);          if (old_muted != s->muted) { +            s->save_muted = TRUE; +              pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);              /* Make sure the soft mute status stays in sync */ @@ -842,18 +880,18 @@ pa_bool_t pa_source_get_mute(pa_source *s, pa_bool_t force_refresh) {  }  /* Called from main thread */ -void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save) { +void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted) {      pa_source_assert_ref(s); +    pa_assert_ctl_context(); +    pa_assert(PA_SOURCE_IS_LINKED(s->state));      /* The source implementor may call this if the mute state changed to make sure everyone is notified */ -    if (s->muted == new_muted) { -        s->save_muted = s->save_muted || save; +    if (s->muted == new_muted)          return; -    }      s->muted = new_muted; -    s->save_muted = save; +    s->save_muted = TRUE;      pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);  } @@ -861,6 +899,7 @@ void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save) {  /* Called from main thread */  pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_proplist *p) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      if (p)          pa_proplist_update(s->proplist, mode, p); @@ -874,16 +913,18 @@ pa_bool_t pa_source_update_proplist(pa_source *s, pa_update_mode_t mode, pa_prop  }  /* Called from main thread */ +/* FIXME -- this should be dropped and be merged into pa_source_update_proplist() */  void pa_source_set_description(pa_source *s, const char *description) {      const char *old;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      if (!description && !pa_proplist_contains(s->proplist, PA_PROP_DEVICE_DESCRIPTION))          return;      old = pa_proplist_gets(s->proplist, PA_PROP_DEVICE_DESCRIPTION); -    if (old && description && !strcmp(old, description)) +    if (old && description && pa_streq(old, description))          return;      if (description) @@ -901,6 +942,7 @@ void pa_source_set_description(pa_source *s, const char *description) {  unsigned pa_source_linked_by(pa_source *s) {      pa_source_assert_ref(s);      pa_assert(PA_SOURCE_IS_LINKED(s->state)); +    pa_assert_ctl_context();      return pa_idxset_size(s->outputs);  } @@ -911,6 +953,7 @@ unsigned pa_source_used_by(pa_source *s) {      pa_source_assert_ref(s);      pa_assert(PA_SOURCE_IS_LINKED(s->state)); +    pa_assert_ctl_context();      ret = pa_idxset_size(s->outputs);      pa_assert(ret >= s->n_corked); @@ -925,6 +968,7 @@ unsigned pa_source_check_suspend(pa_source *s) {      uint32_t idx;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      if (!PA_SOURCE_IS_LINKED(s->state))          return 0; @@ -1006,7 +1050,7 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_              if (pa_hashmap_remove(s->thread_info.outputs, PA_UINT32_TO_PTR(o->index)))                  pa_source_output_unref(o); -            pa_source_invalidate_requested_latency(s); +            pa_source_invalidate_requested_latency(s, TRUE);              return 0;          } @@ -1086,6 +1130,16 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_              return 0;          } +        case PA_SOURCE_MESSAGE_GET_FIXED_LATENCY: + +            *((pa_usec_t*) userdata) = s->thread_info.fixed_latency; +            return 0; + +        case PA_SOURCE_MESSAGE_SET_FIXED_LATENCY: + +            pa_source_set_fixed_latency_within_thread(s, (pa_usec_t) offset); +            return 0; +          case PA_SOURCE_MESSAGE_GET_MAX_REWIND:              *((size_t*) userdata) = s->thread_info.max_rewind; @@ -1120,6 +1174,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus      int ret = 0;      pa_core_assert_ref(c); +    pa_assert_ctl_context();      pa_assert(cause != 0);      for (source = PA_SOURCE(pa_idxset_first(c->sources, &idx)); source; source = PA_SOURCE(pa_idxset_next(c->sources, &idx))) { @@ -1138,6 +1193,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus  /* Called from main thread */  void pa_source_detach(pa_source *s) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_DETACH, NULL, 0, NULL) == 0); @@ -1146,6 +1202,7 @@ void pa_source_detach(pa_source *s) {  /* Called from main thread */  void pa_source_attach(pa_source *s) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_ATTACH, NULL, 0, NULL) == 0); @@ -1157,9 +1214,10 @@ void pa_source_detach_within_thread(pa_source *s) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state)); -    while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) +    PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)          if (o->detach)              o->detach(o);  } @@ -1170,9 +1228,10 @@ void pa_source_attach_within_thread(pa_source *s) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state)); -    while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) +    PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)          if (o->attach)              o->attach(o);  } @@ -1184,15 +1243,15 @@ pa_usec_t pa_source_get_requested_latency_within_thread(pa_source *s) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      if (!(s->flags & PA_SOURCE_DYNAMIC_LATENCY)) -        return PA_CLAMP(s->fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency); +        return PA_CLAMP(s->thread_info.fixed_latency, s->thread_info.min_latency, s->thread_info.max_latency);      if (s->thread_info.requested_latency_valid)          return s->thread_info.requested_latency; -    while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) - +    PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)          if (o->thread_info.requested_source_latency != (pa_usec_t) -1 &&              (result == (pa_usec_t) -1 || result > o->thread_info.requested_source_latency))              result = o->thread_info.requested_source_latency; @@ -1214,6 +1273,7 @@ pa_usec_t pa_source_get_requested_latency(pa_source *s) {      pa_usec_t usec = 0;      pa_source_assert_ref(s); +    pa_assert_ctl_context();      pa_assert(PA_SOURCE_IS_LINKED(s->state));      if (s->state == PA_SOURCE_SUSPENDED) @@ -1230,21 +1290,22 @@ void pa_source_set_max_rewind_within_thread(pa_source *s, size_t max_rewind) {      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      if (max_rewind == s->thread_info.max_rewind)          return;      s->thread_info.max_rewind = max_rewind; -    if (PA_SOURCE_IS_LINKED(s->thread_info.state)) { -        while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) +    if (PA_SOURCE_IS_LINKED(s->thread_info.state)) +        PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)              pa_source_output_update_max_rewind(o, s->thread_info.max_rewind); -    }  }  /* Called from main thread */  void pa_source_set_max_rewind(pa_source *s, size_t max_rewind) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      if (PA_SOURCE_IS_LINKED(s->state))          pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_MAX_REWIND, NULL, max_rewind, NULL) == 0); @@ -1253,17 +1314,18 @@ void pa_source_set_max_rewind(pa_source *s, size_t max_rewind) {  }  /* Called from IO thread */ -void pa_source_invalidate_requested_latency(pa_source *s) { +void pa_source_invalidate_requested_latency(pa_source *s, pa_bool_t dynamic) {      pa_source_output *o;      void *state = NULL;      pa_source_assert_ref(s); +    pa_source_assert_io_context(s); -    if (!(s->flags & PA_SOURCE_DYNAMIC_LATENCY)) +    if ((s->flags & PA_SOURCE_DYNAMIC_LATENCY)) +        s->thread_info.requested_latency_valid = FALSE; +    else if (dynamic)          return; -    s->thread_info.requested_latency_valid = FALSE; -      if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {          if (s->update_requested_latency) @@ -1275,12 +1337,13 @@ void pa_source_invalidate_requested_latency(pa_source *s) {      }      if (s->monitor_of) -        pa_sink_invalidate_requested_latency(s->monitor_of); +        pa_sink_invalidate_requested_latency(s->monitor_of, dynamic);  }  /* Called from main thread */  void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency) {      pa_source_assert_ref(s); +    pa_assert_ctl_context();      /* min_latency == 0:           no limit       * min_latency anything else:  specified limit @@ -1315,6 +1378,7 @@ void pa_source_set_latency_range(pa_source *s, pa_usec_t min_latency, pa_usec_t  /* Called from main thread */  void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t *max_latency) {     pa_source_assert_ref(s); +   pa_assert_ctl_context();     pa_assert(min_latency);     pa_assert(max_latency); @@ -1333,9 +1397,8 @@ void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t  /* Called from IO thread, and from main thread before pa_source_put() is called */  void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency) { -    void *state = NULL; -      pa_source_assert_ref(s); +    pa_source_assert_io_context(s);      pa_assert(min_latency >= ABSOLUTE_MIN_LATENCY);      pa_assert(max_latency <= ABSOLUTE_MAX_LATENCY); @@ -1347,25 +1410,34 @@ void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_laten                (s->flags & PA_SOURCE_DYNAMIC_LATENCY) ||                s->monitor_of); +    if (s->thread_info.min_latency == min_latency && +        s->thread_info.max_latency == max_latency) +        return; +      s->thread_info.min_latency = min_latency;      s->thread_info.max_latency = max_latency;      if (PA_SOURCE_IS_LINKED(s->thread_info.state)) {          pa_source_output *o; +        void *state = NULL; -        while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) +        PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state)              if (o->update_source_latency_range)                  o->update_source_latency_range(o);      } -    pa_source_invalidate_requested_latency(s); +    pa_source_invalidate_requested_latency(s, FALSE);  }  /* Called from main thread, before the source is put */  void pa_source_set_fixed_latency(pa_source *s, pa_usec_t latency) {      pa_source_assert_ref(s); +    pa_assert_ctl_context(); -    pa_assert(pa_source_get_state(s) == PA_SOURCE_INIT); +    if (s->flags & PA_SOURCE_DYNAMIC_LATENCY) { +        pa_assert(latency == 0); +        return; +    }      if (latency < ABSOLUTE_MIN_LATENCY)          latency = ABSOLUTE_MIN_LATENCY; @@ -1373,12 +1445,64 @@ void pa_source_set_fixed_latency(pa_source *s, pa_usec_t latency) {      if (latency > ABSOLUTE_MAX_LATENCY)          latency = ABSOLUTE_MAX_LATENCY; -    s->fixed_latency = latency; +    if (PA_SOURCE_IS_LINKED(s->state)) +        pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_FIXED_LATENCY, NULL, (int64_t) latency, NULL) == 0); +    else +        s->thread_info.fixed_latency = latency; +} + +/* Called from main thread */ +pa_usec_t pa_source_get_fixed_latency(pa_source *s) { +    pa_usec_t latency; + +    pa_source_assert_ref(s); +    pa_assert_ctl_context(); + +    if (s->flags & PA_SOURCE_DYNAMIC_LATENCY) +        return 0; + +    if (PA_SOURCE_IS_LINKED(s->state)) +        pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_GET_FIXED_LATENCY, &latency, 0, NULL) == 0); +    else +        latency = s->thread_info.fixed_latency; + +    return latency; +} + +/* Called from IO thread */ +void pa_source_set_fixed_latency_within_thread(pa_source *s, pa_usec_t latency) { +    pa_source_assert_ref(s); +    pa_source_assert_io_context(s); + +    if (s->flags & PA_SOURCE_DYNAMIC_LATENCY) { +        pa_assert(latency == 0); +        return; +    } + +    pa_assert(latency >= ABSOLUTE_MIN_LATENCY); +    pa_assert(latency <= ABSOLUTE_MAX_LATENCY); + +    if (s->thread_info.fixed_latency == latency) +        return; + +    s->thread_info.fixed_latency = latency; + +    if (PA_SOURCE_IS_LINKED(s->thread_info.state)) { +        pa_source_output *o; +        void *state = NULL; + +        PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state) +            if (o->update_source_fixed_latency) +                o->update_source_fixed_latency(o); +    } + +    pa_source_invalidate_requested_latency(s, FALSE);  }  /* Called from main thread */  size_t pa_source_get_max_rewind(pa_source *s) {      size_t r; +    pa_assert_ctl_context();      pa_source_assert_ref(s);      if (!PA_SOURCE_IS_LINKED(s->state)) @@ -1394,9 +1518,10 @@ int pa_source_set_port(pa_source *s, const char *name, pa_bool_t save) {      pa_device_port *port;      pa_assert(s); +    pa_assert_ctl_context();      if (!s->set_port) { -        pa_log_debug("set_port() operation not implemented for sink %u \"%s\"", s->index, s->name); +        pa_log_debug("set_port() operation not implemented for source %u \"%s\"", s->index, s->name);          return -PA_ERR_NOTIMPLEMENTED;      } diff --git a/src/pulsecore/source.h b/src/pulsecore/source.h index 7e9fd8b7..6f33de06 100644 --- a/src/pulsecore/source.h +++ b/src/pulsecore/source.h @@ -43,6 +43,7 @@ typedef struct pa_source pa_source;  #include <pulsecore/source-output.h>  #include <pulsecore/card.h>  #include <pulsecore/queue.h> +#include <pulsecore/thread-mq.h>  #define PA_MAX_OUTPUTS_PER_SOURCE 32 @@ -89,12 +90,9 @@ struct pa_source {      pa_bool_t save_muted:1;      pa_asyncmsgq *asyncmsgq; -    pa_rtpoll *rtpoll;      pa_memchunk silence; -    pa_usec_t fixed_latency; /* for sources with PA_SOURCE_DYNAMIC_LATENCY this is 0 */ -      pa_hashmap *ports;      pa_device_port *active_port; @@ -139,6 +137,8 @@ struct pa_source {          pa_source_state_t state;          pa_hashmap *outputs; +        pa_rtpoll *rtpoll; +          pa_cvolume soft_volume;          pa_bool_t soft_muted:1; @@ -151,7 +151,9 @@ struct pa_source {          pa_usec_t min_latency; /* we won't go below this latency */          pa_usec_t max_latency; /* An upper limit for the latencies */ -    } thread_info; + +        pa_usec_t fixed_latency; /* for sources with PA_SOURCE_DYNAMIC_LATENCY this is 0 */ + } thread_info;      void *userdata;  }; @@ -173,6 +175,8 @@ typedef enum pa_source_message {      PA_SOURCE_MESSAGE_DETACH,      PA_SOURCE_MESSAGE_SET_LATENCY_RANGE,      PA_SOURCE_MESSAGE_GET_LATENCY_RANGE, +    PA_SOURCE_MESSAGE_SET_FIXED_LATENCY, +    PA_SOURCE_MESSAGE_GET_FIXED_LATENCY,      PA_SOURCE_MESSAGE_GET_MAX_REWIND,      PA_SOURCE_MESSAGE_SET_MAX_REWIND,      PA_SOURCE_MESSAGE_MAX @@ -237,17 +241,20 @@ void pa_source_detach(pa_source *s);  void pa_source_attach(pa_source *s);  void pa_source_set_soft_volume(pa_source *s, const pa_cvolume *volume); -void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume, pa_bool_t save); -void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted, pa_bool_t save); +void pa_source_volume_changed(pa_source *s, const pa_cvolume *new_volume); +void pa_source_mute_changed(pa_source *s, pa_bool_t new_muted);  int pa_source_sync_suspend(pa_source *s); +void pa_source_update_flags(pa_source *s, pa_source_flags_t mask, pa_source_flags_t value); +  /*** May be called by everyone, from main context */  /* The returned value is supposed to be in the time domain of the sound card! */  pa_usec_t pa_source_get_latency(pa_source *s);  pa_usec_t pa_source_get_requested_latency(pa_source *s);  void pa_source_get_latency_range(pa_source *s, pa_usec_t *min_latency, pa_usec_t *max_latency); +pa_usec_t pa_source_get_fixed_latency(pa_source *s);  size_t pa_source_get_max_rewind(pa_source *s); @@ -257,6 +264,7 @@ int pa_source_suspend_all(pa_core *c, pa_bool_t suspend, pa_suspend_cause_t caus  void pa_source_set_volume(pa_source *source, const pa_cvolume *volume, pa_bool_t save);  const pa_cvolume *pa_source_get_volume(pa_source *source, pa_bool_t force_refresh); +  void pa_source_set_mute(pa_source *source, pa_bool_t mute, pa_bool_t save);  pa_bool_t pa_source_get_mute(pa_source *source, pa_bool_t force_refresh); @@ -288,11 +296,16 @@ void pa_source_detach_within_thread(pa_source *s);  pa_usec_t pa_source_get_requested_latency_within_thread(pa_source *s);  void pa_source_set_max_rewind_within_thread(pa_source *s, size_t max_rewind); +  void pa_source_set_latency_range_within_thread(pa_source *s, pa_usec_t min_latency, pa_usec_t max_latency); +void pa_source_set_fixed_latency_within_thread(pa_source *s, pa_usec_t latency);  /*** To be called exclusively by source output drivers, from IO context */ -void pa_source_invalidate_requested_latency(pa_source *s); +void pa_source_invalidate_requested_latency(pa_source *s, pa_bool_t dynamic);  pa_usec_t pa_source_get_latency_within_thread(pa_source *s); +#define pa_source_assert_io_context(s) \ +    pa_assert(pa_thread_mq_get() || !PA_SOURCE_IS_LINKED((s)->state)) +  #endif diff --git a/src/pulsecore/start-child.c b/src/pulsecore/start-child.c index 7774bde6..b3bce131 100644 --- a/src/pulsecore/start-child.c +++ b/src/pulsecore/start-child.c @@ -68,23 +68,24 @@ int pa_start_child_for_read(const char *name, const char *argv1, pid_t *pid) {      } else {          /* child */ -        pa_reset_priority(); +        pa_reset_personality();          pa_assert_se(pa_close(pipe_fds[0]) == 0); -        pa_assert_se(dup2(pipe_fds[1], 1) == 1); +        pa_assert_se(dup2(pipe_fds[1], STDOUT_FILENO) == STDOUT_FILENO); -        if (pipe_fds[1] != 1) +        if (pipe_fds[1] != STDOUT_FILENO)              pa_assert_se(pa_close(pipe_fds[1]) == 0); -        pa_close(0); -        pa_assert_se(open("/dev/null", O_RDONLY) == 0); +        pa_close(STDIN_FILENO); +        pa_assert_se(open("/dev/null", O_RDONLY) == STDIN_FILENO); -        pa_close(2); -        pa_assert_se(open("/dev/null", O_WRONLY) == 2); +        pa_close(STDERR_FILENO); +        pa_assert_se(open("/dev/null", O_WRONLY) == STDERR_FILENO);          pa_close_all(-1);          pa_reset_sigs(-1);          pa_unblock_sigs(-1); +        pa_reset_priority();  #ifdef PR_SET_PDEATHSIG          /* On Linux we can use PR_SET_PDEATHSIG to have the helper diff --git a/src/pulsecore/thread-mq.c b/src/pulsecore/thread-mq.c index 34f92a7e..73997a74 100644 --- a/src/pulsecore/thread-mq.c +++ b/src/pulsecore/thread-mq.c @@ -59,7 +59,7 @@ static void asyncmsgq_read_cb(pa_mainloop_api*api, pa_io_event* e, int fd, pa_io          pa_memchunk chunk;          /* Check whether there is a message for us to process */ -        while (pa_asyncmsgq_get(aq, &object, &code, &data, &offset, &chunk, 0) == 0) { +        while (pa_asyncmsgq_get(aq, &object, &code, &data, &offset, &chunk, 0) >= 0) {              int ret;              ret = pa_asyncmsgq_dispatch(object, code, data, offset, &chunk); @@ -104,6 +104,15 @@ void pa_thread_mq_init(pa_thread_mq *q, pa_mainloop_api *mainloop, pa_rtpoll *rt  void pa_thread_mq_done(pa_thread_mq *q) {      pa_assert(q); +    /* Since we are called from main context we can be sure that the +     * inq is empty. However, the outq might still contain messages +     * for the main loop, which we need to dispatch (e.g. release +     * msgs, other stuff). Hence do so if we aren't currently +     * dispatching anyway. */ + +    if (!pa_asyncmsgq_dispatching(q->outq)) +        pa_asyncmsgq_flush(q->outq, TRUE); +      q->mainloop->io_free(q->read_event);      q->mainloop->io_free(q->write_event);      q->read_event = q->write_event = NULL; diff --git a/src/pulsecore/thread-mq.h b/src/pulsecore/thread-mq.h index 3b5e0e78..96839d25 100644 --- a/src/pulsecore/thread-mq.h +++ b/src/pulsecore/thread-mq.h @@ -45,4 +45,12 @@ void pa_thread_mq_install(pa_thread_mq *q);  /* Return the pa_thread_mq object that is set for the current thread */  pa_thread_mq *pa_thread_mq_get(void); +/* Verify that we are in control context (aka 'main context'). */ +#define pa_assert_ctl_context(s) \ +    pa_assert(!pa_thread_mq_get()) + +/* Verify that we are in IO context (aka 'thread context'). */ +#define pa_assert_io_context(s) \ +    pa_assert(pa_thread_mq_get()) +  #endif diff --git a/src/pulsecore/time-smoother.c b/src/pulsecore/time-smoother.c index 9d5a0705..d6c37878 100644 --- a/src/pulsecore/time-smoother.c +++ b/src/pulsecore/time-smoother.c @@ -108,29 +108,11 @@ pa_smoother* pa_smoother_new(      s = pa_xnew(pa_smoother, 1);      s->adjust_time = adjust_time;      s->history_time = history_time; -    s->time_offset = 0; +    s->min_history = min_history;      s->monotonic = monotonic; - -    s->px = s->py = 0; -    s->dp = 1; - -    s->ex = s->ey = s->ry = 0; -    s->de = 1; - -    s->history_idx = 0; -    s->n_history = 0; - -    s->last_y = s->last_x = 0; - -    s->abc_valid = FALSE; - -    s->paused = FALSE;      s->smoothing = smoothing; -    s->min_history = min_history; - -    s->paused = paused; -    s->time_offset = s->pause_time = time_offset; +    pa_smoother_reset(s, time_offset, paused);      return s;  } @@ -514,9 +496,26 @@ pa_usec_t pa_smoother_translate(pa_smoother *s, pa_usec_t x, pa_usec_t y_delay)      return (pa_usec_t) llrint((double) y_delay / nde);  } -void pa_smoother_reset(pa_smoother *s) { +void pa_smoother_reset(pa_smoother *s, pa_usec_t time_offset, pa_bool_t paused) {      pa_assert(s); +    s->px = s->py = 0; +    s->dp = 1; + +    s->ex = s->ey = s->ry = 0; +    s->de = 1; + +    s->history_idx = 0;      s->n_history = 0; + +    s->last_y = s->last_x = 0; +      s->abc_valid = FALSE; + +    s->paused = paused; +    s->time_offset = s->pause_time = time_offset; + +#ifdef DEBUG_DATA +    pa_log_debug("reset()"); +#endif  } diff --git a/src/pulsecore/time-smoother.h b/src/pulsecore/time-smoother.h index 5244a7e7..63d33e48 100644 --- a/src/pulsecore/time-smoother.h +++ b/src/pulsecore/time-smoother.h @@ -52,7 +52,7 @@ void pa_smoother_set_time_offset(pa_smoother *s, pa_usec_t x_offset);  void pa_smoother_pause(pa_smoother *s, pa_usec_t x);  void pa_smoother_resume(pa_smoother *s, pa_usec_t x, pa_bool_t abrupt); -void pa_smoother_reset(pa_smoother *s); +void pa_smoother_reset(pa_smoother *s, pa_usec_t time_offset, pa_bool_t paused);  void pa_smoother_fix_now(pa_smoother *s); diff --git a/src/tests/get-binary-name-test.c b/src/tests/get-binary-name-test.c index a34e38fd..e49f2eff 100644 --- a/src/tests/get-binary-name-test.c +++ b/src/tests/get-binary-name-test.c @@ -23,12 +23,33 @@  #include <limits.h>  #include <stdio.h> +#include <string.h>  #include <pulse/util.h> +#include <pulse/xmalloc.h>  int main(int argc, char *argv[]) { -    char exename[PATH_MAX]; +    char *exename; +    size_t allocated = 128; + +    for (;;) { +        exename = pa_xmalloc(allocated); + +        if (!pa_get_binary_name(exename, allocated)) { +            printf("failed to read binary name\n"); +            pa_xfree(exename); +            break; +        } + +        if (strlen(exename) < allocated - 1) { +            printf("%s\n", exename); +            pa_xfree(exename); +            break; +        } + +        pa_xfree(exename); +        allocated *= 2; +    } -    printf("%s\n", pa_get_binary_name(exename, sizeof(exename)));      return 0;  } diff --git a/src/tests/interpol-test.c b/src/tests/interpol-test.c index 0c906d3e..007555c3 100644 --- a/src/tests/interpol-test.c +++ b/src/tests/interpol-test.c @@ -43,20 +43,37 @@ static pa_context *context = NULL;  static pa_stream *stream = NULL;  static pa_mainloop_api *mainloop_api = NULL;  static pa_bool_t playback = TRUE; +static pa_usec_t latency = 0;  static void stream_write_cb(pa_stream *p, size_t nbytes, void *userdata) {      /* Just some silence */ -    pa_assert_se(pa_stream_write(p, pa_xmalloc0(nbytes), nbytes, pa_xfree, 0, PA_SEEK_RELATIVE) == 0); + +    for (;;) { +        void *data; + +        pa_assert_se((nbytes = pa_stream_writable_size(p)) != (size_t) -1); + +        if (nbytes <= 0) +            break; + +        pa_assert_se(pa_stream_begin_write(p, &data, &nbytes) == 0); +        pa_memzero(data, nbytes); +        pa_assert_se(pa_stream_write(p, data, nbytes, NULL, 0, PA_SEEK_RELATIVE) == 0); +    }  }  static void stream_read_cb(pa_stream *p, size_t nbytes, void *userdata) { -    /* We don't care, just drop the data */ +    /* We don't care about the data, just drop it */ -    while (pa_stream_readable_size(p) > 0) { -        const void *d; -        size_t b; +    for (;;) { +        const void *data; -        pa_assert_se(pa_stream_peek(p, &d, &b) == 0); +        pa_assert_se((nbytes = pa_stream_readable_size(p)) != (size_t) -1); + +        if (nbytes <= 0) +            break; + +        pa_assert_se(pa_stream_peek(p, &data, &nbytes) == 0);          pa_assert_se(pa_stream_drop(p) == 0);      }  } @@ -82,27 +99,36 @@ static void context_state_callback(pa_context *c, void *userdata) {          case PA_CONTEXT_READY: {              pa_stream_flags_t flags = PA_STREAM_AUTO_TIMING_UPDATE; - +            pa_buffer_attr attr;              static const pa_sample_spec ss = {                  .format = PA_SAMPLE_S16LE,                  .rate = 44100,                  .channels = 2              }; +            pa_zero(attr); +            attr.maxlength = (uint32_t) -1; +            attr.tlength = latency > 0 ? (uint32_t) pa_usec_to_bytes(latency, &ss) : (uint32_t) -1; +            attr.prebuf = (uint32_t) -1; +            attr.minreq = (uint32_t) -1; +            attr.fragsize = (uint32_t) -1; +  #ifdef INTERPOLATE              flags |= PA_STREAM_INTERPOLATE_TIMING;  #endif +            if (latency > 0) +                flags |= PA_STREAM_ADJUST_LATENCY; +              fprintf(stderr, "Connection established.\n"); -            stream = pa_stream_new(c, "interpol-test", &ss, NULL); -            assert(stream); +            pa_assert_se(stream = pa_stream_new(c, "interpol-test", &ss, NULL));              if (playback) { -                pa_assert_se(pa_stream_connect_playback(stream, NULL, NULL, flags, NULL, NULL) == 0); +                pa_assert_se(pa_stream_connect_playback(stream, NULL, &attr, flags, NULL, NULL) == 0);                  pa_stream_set_write_callback(stream, stream_write_cb, NULL);              } else { -                pa_assert_se(pa_stream_connect_record(stream, NULL, NULL, flags) == 0); +                pa_assert_se(pa_stream_connect_record(stream, NULL, &attr, flags) == 0);                  pa_stream_set_read_callback(stream, stream_read_cb, NULL);              } @@ -123,7 +149,7 @@ static void context_state_callback(pa_context *c, void *userdata) {  int main(int argc, char *argv[]) {      pa_threaded_mainloop* m = NULL; -    int k, r; +    int k;      struct timeval start, last_info = { 0, 0 };      pa_usec_t old_t = 0, old_rtc = 0;  #ifdef CORK @@ -134,24 +160,22 @@ int main(int argc, char *argv[]) {      playback = argc <= 1 || !pa_streq(argv[1], "-r"); -    /* Set up a new main loop */ -    m = pa_threaded_mainloop_new(); -    assert(m); - -    mainloop_api = pa_threaded_mainloop_get_api(m); +    latency = +        (argc >= 2 && !pa_streq(argv[1], "-r")) ? atoi(argv[1]) : +        (argc >= 3 ? atoi(argv[2]) : 0); -    context = pa_context_new(mainloop_api, argv[0]); -    assert(context); +    /* Set up a new main loop */ +    pa_assert_se(m = pa_threaded_mainloop_new()); +    pa_assert_se(mainloop_api = pa_threaded_mainloop_get_api(m)); +    pa_assert_se(context = pa_context_new(mainloop_api, argv[0]));      pa_context_set_state_callback(context, context_state_callback, NULL); -    r = pa_context_connect(context, NULL, 0, NULL); -    assert(r >= 0); +    pa_assert_se(pa_context_connect(context, NULL, 0, NULL) >= 0);      pa_gettimeofday(&start); -    r = pa_threaded_mainloop_start(m); -    assert(r >= 0); +    pa_assert_se(pa_threaded_mainloop_start(m) >= 0);  /* #ifdef CORK */      for (k = 0; k < 20000; k++) @@ -160,7 +184,7 @@ int main(int argc, char *argv[]) {  /* #endif */      {          pa_bool_t success = FALSE, changed = FALSE; -        pa_usec_t t, rtc; +        pa_usec_t t, rtc, d;          struct timeval now, tv;          pa_bool_t playing = FALSE; @@ -169,7 +193,8 @@ int main(int argc, char *argv[]) {          if (stream) {              const pa_timing_info *info; -            if (pa_stream_get_time(stream, &t) >= 0) +            if (pa_stream_get_time(stream, &t) >= 0 && +                pa_stream_get_latency(stream, &d, NULL) >= 0)                  success = TRUE;              if ((info = pa_stream_get_timing_info(stream))) { @@ -191,14 +216,16 @@ int main(int argc, char *argv[]) {              pa_bool_t cork_now;  #endif              rtc = pa_timeval_diff(&now, &start); -            printf("%i\t%llu\t%llu\t%llu\t%llu\t%lli\t%u\t%u\n", k, +            printf("%i\t%llu\t%llu\t%llu\t%llu\t%lli\t%u\t%u\t%llu\t%llu\n", k,                     (unsigned long long) rtc,                     (unsigned long long) t,                     (unsigned long long) (rtc-old_rtc),                     (unsigned long long) (t-old_t),                     (signed long long) rtc - (signed long long) t,                     changed, -                   playing); +                   playing, +                   (unsigned long long) latency, +                   (unsigned long long) d);              fflush(stdout);              old_t = t; diff --git a/src/tests/mix-test.c b/src/tests/mix-test.c index c7a30d67..f9f76da3 100644 --- a/src/tests/mix-test.c +++ b/src/tests/mix-test.c @@ -69,6 +69,8 @@ static void dump_block(const pa_sample_spec *ss, const pa_memchunk *chunk) {              break;          } +        case PA_SAMPLE_S24_32NE: +        case PA_SAMPLE_S24_32RE:          case PA_SAMPLE_S32NE:          case PA_SAMPLE_S32RE: {              uint32_t *u = d; @@ -83,8 +85,10 @@ static void dump_block(const pa_sample_spec *ss, const pa_memchunk *chunk) {          case PA_SAMPLE_S24RE: {              uint8_t *u = d; -            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) -	        printf("0x%02x%02x%02xx ", *(u++), *(u++), *(u++)); +            for (i = 0; i < chunk->length / pa_frame_size(ss); i++) { +                printf("0x%02x%02x%02xx ", *u, *(u+1), *(u+2)); +                u += 3; +            }              break;          } @@ -123,66 +127,72 @@ static pa_memblock* generate_block(pa_mempool *pool, const pa_sample_spec *ss) {          case PA_SAMPLE_U8:          case PA_SAMPLE_ULAW:          case PA_SAMPLE_ALAW: { -	    static const uint8_t u8_samples[] = -	      { 0x00, 0xFF, 0x7F, 0x80, 0x9f, -		0x3f, 0x01, 0xF0, 0x20, 0x21 }; +            static const uint8_t u8_samples[] = { +                0x00, 0xFF, 0x7F, 0x80, 0x9f, +                0x3f, 0x01, 0xF0, 0x20, 0x21 +            }; -	    memcpy(d, &u8_samples[0], sizeof(u8_samples)); +            memcpy(d, u8_samples, sizeof(u8_samples));              break;          }          case PA_SAMPLE_S16NE:          case PA_SAMPLE_S16RE: { -	    static const uint16_t u16_samples[] = -	      { 0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff, -		0x3fff, 0x0001, 0xF000, 0x0020, 0x0021 }; +            static const uint16_t u16_samples[] = { +                0x0000, 0xFFFF, 0x7FFF, 0x8000, 0x9fff, +                0x3fff, 0x0001, 0xF000, 0x0020, 0x0021 +            }; -	    memcpy(d, &u16_samples[0], sizeof(u16_samples)); +            memcpy(d, u16_samples, sizeof(u16_samples));              break;          } +        case PA_SAMPLE_S24_32NE: +        case PA_SAMPLE_S24_32RE:          case PA_SAMPLE_S32NE:          case PA_SAMPLE_S32RE: { -	    static const uint32_t u32_samples[] = -	      { 0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005, -		0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A }; +            static const uint32_t u32_samples[] = { +                0x00000001, 0xFFFF0002, 0x7FFF0003, 0x80000004, 0x9fff0005, +                0x3fff0006, 0x00010007, 0xF0000008, 0x00200009, 0x0021000A +            }; -	    memcpy(d, &u32_samples[0], sizeof(u32_samples)); +            memcpy(d, u32_samples, sizeof(u32_samples));              break;          }          case PA_SAMPLE_S24NE:          case PA_SAMPLE_S24RE: { -	    /* Need to be on a byte array because they are not aligned */ -	    static const uint8_t u24_samples[] = -	      { 0x00, 0x00, 0x01, -		0xFF, 0xFF, 0x02, -		0x7F, 0xFF, 0x03, -		0x80, 0x00, 0x04, -		0x9f, 0xff, 0x05, -		0x3f, 0xff, 0x06, -		0x01, 0x00, 0x07, -		0xF0, 0x00, 0x08, -		0x20, 0x00, 0x09, -		0x21, 0x00, 0x0A }; - -	    memcpy(d, &u24_samples[0], sizeof(u24_samples)); +            /* Need to be on a byte array because they are not aligned */ +            static const uint8_t u24_samples[] = { +                0x00, 0x00, 0x01, +                0xFF, 0xFF, 0x02, +                0x7F, 0xFF, 0x03, +                0x80, 0x00, 0x04, +                0x9f, 0xff, 0x05, +                0x3f, 0xff, 0x06, +                0x01, 0x00, 0x07, +                0xF0, 0x00, 0x08, +                0x20, 0x00, 0x09, +                0x21, 0x00, 0x0A +            }; + +            memcpy(d, u24_samples, sizeof(u24_samples));              break;          }          case PA_SAMPLE_FLOAT32NE:          case PA_SAMPLE_FLOAT32RE: {              float *u = d; -	    static const float float_samples[] = -	      { 0.0f, -1.0f, 1.0f, 4711.0f, 0.222f, -		0.33f, -.3f, 99.0f, -0.555f, -.123f }; +            static const float float_samples[] = { +                0.0f, -1.0f, 1.0f, 4711.0f, 0.222f, +                0.33f, -.3f, 99.0f, -0.555f, -.123f +            };              if (ss->format == PA_SAMPLE_FLOAT32RE) {                  for (i = 0; i < 10; i++)                      u[i] = swap_float(float_samples[i]); -	    } else { -	      memcpy(d, &float_samples[0], sizeof(float_samples)); -	    } +            } else +              memcpy(d, float_samples, sizeof(float_samples));              break;          } diff --git a/src/tests/rtstutter.c b/src/tests/rtstutter.c index a4b5d596..c93fee93 100644 --- a/src/tests/rtstutter.c +++ b/src/tests/rtstutter.c @@ -67,7 +67,9 @@ static void* work(void *p) {          pa_log_notice("CPU%i: Sleeping for 1s", PA_PTR_TO_UINT(p));          sleep(1); +#ifdef CLOCK_REALTIME          pa_assert_se(clock_gettime(CLOCK_REALTIME, &end) == 0); +#endif          nsec =              (uint64_t) ((((double) rand())*(double)(msec_upper-msec_lower)*PA_NSEC_PER_MSEC)/RAND_MAX) + @@ -84,7 +86,9 @@ static void* work(void *p) {          }          do { +#ifdef CLOCK_REALTIME              pa_assert_se(clock_gettime(CLOCK_REALTIME, &now) == 0); +#endif          } while (now.tv_sec < end.tv_sec ||                   (now.tv_sec == end.tv_sec && now.tv_nsec < end.tv_nsec));      } diff --git a/src/tests/voltest.c b/src/tests/voltest.c index 2dcfa53c..64aec5c6 100644 --- a/src/tests/voltest.c +++ b/src/tests/voltest.c @@ -1,8 +1,33 @@ +/*** +  This file is part of PulseAudio. + +  PulseAudio is free software; you can redistribute it and/or modify +  it under the terms of the GNU Lesser General Public License as published +  by the Free Software Foundation; either version 2.1 of the License, +  or (at your option) any later version. + +  PulseAudio is distributed in the hope that it will be useful, but +  WITHOUT ANY WARRANTY; without even the implied warranty of +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +  General Public License for more details. + +  You should have received a copy of the GNU Lesser General Public License +  along with PulseAudio; if not, write to the Free Software +  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +  USA. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +  #include <stdio.h>  #include <pulse/volume.h>  #include <pulse/gccmacro.h> +#include <pulsecore/macro.h> +  int main(int argc, char *argv[]) {      pa_volume_t v;      pa_cvolume cv; @@ -60,5 +85,16 @@ int main(int argc, char *argv[]) {                  printf("After: volume: [%s]; balance: %2.1f (intended: %2.1f) %s\n", pa_cvolume_snprint(s, sizeof(s), &r), k, b, k < b-.05 || k > b+.5 ? "MISMATCH" : "");              } +    for (v = PA_VOLUME_MUTED; v <= PA_VOLUME_NORM*2; v += 1) { + +        double l = pa_sw_volume_to_linear(v); +        pa_volume_t k = pa_sw_volume_from_linear(l); +        double db = pa_sw_volume_to_dB(v); +        pa_volume_t r = pa_sw_volume_from_dB(db); + +        pa_assert(k == v); +        pa_assert(r == v); +    } +      return 0;  } diff --git a/src/utils/pacat.c b/src/utils/pacat.c index f00a32eb..9264a062 100644 --- a/src/utils/pacat.c +++ b/src/utils/pacat.c @@ -105,12 +105,12 @@ static void context_drain_complete(pa_context*c, void *userdata) {  static void stream_drain_complete(pa_stream*s, int success, void *userdata) {      if (!success) { -        pa_log(_("Failed to drain stream: %s\n"), pa_strerror(pa_context_errno(context))); +        pa_log(_("Failed to drain stream: %s"), pa_strerror(pa_context_errno(context)));          quit(1);      }      if (verbose) -        pa_log(_("Playback stream drained.\n")); +        pa_log(_("Playback stream drained."));      pa_stream_disconnect(stream);      pa_stream_unref(stream); @@ -120,7 +120,7 @@ static void stream_drain_complete(pa_stream*s, int success, void *userdata) {          pa_context_disconnect(context);      else {          if (verbose) -            pa_log(_("Draining connection to server.\n")); +            pa_log(_("Draining connection to server."));      }  } @@ -133,7 +133,7 @@ static void start_drain(void) {          pa_stream_set_write_callback(stream, NULL, NULL);          if (!(o = pa_stream_drain(stream, stream_drain_complete, NULL))) { -            pa_log(_("pa_stream_drain(): %s\n"), pa_strerror(pa_context_errno(context))); +            pa_log(_("pa_stream_drain(): %s"), pa_strerror(pa_context_errno(context)));              quit(1);              return;          } @@ -156,7 +156,7 @@ static void do_stream_write(size_t length) {          l = buffer_length;      if (pa_stream_write(stream, (uint8_t*) buffer + buffer_index, l, NULL, 0, PA_SEEK_RELATIVE) < 0) { -        pa_log(_("pa_stream_write() failed: %s\n"), pa_strerror(pa_context_errno(context))); +        pa_log(_("pa_stream_write() failed: %s"), pa_strerror(pa_context_errno(context)));          quit(1);          return;      } @@ -193,7 +193,11 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {          pa_assert(sndfile); -        data = pa_xmalloc(length); +        if (pa_stream_begin_write(s, &data, &length) < 0) { +            pa_log(_("pa_stream_begin_write() failed: %s"), pa_strerror(pa_context_errno(context))); +            quit(1); +            return; +        }          if (readf_function) {              size_t k = pa_frame_size(&sample_spec); @@ -205,9 +209,9 @@ static void stream_write_callback(pa_stream *s, size_t length, void *userdata) {              bytes = sf_read_raw(sndfile, data, (sf_count_t) length);          if (bytes > 0) -            pa_stream_write(s, data, (size_t) bytes, pa_xfree, 0, PA_SEEK_RELATIVE); +            pa_stream_write(s, data, (size_t) bytes, NULL, 0, PA_SEEK_RELATIVE);          else -            pa_xfree(data); +            pa_stream_cancel_write(s);          if (bytes < (sf_count_t) length)              start_drain(); @@ -226,12 +230,11 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {          if (stdio_event)              mainloop_api->io_enable(stdio_event, PA_IO_EVENT_OUTPUT); -          while (pa_stream_readable_size(s) > 0) {              const void *data;              if (pa_stream_peek(s, &data, &length) < 0) { -                pa_log(_("pa_stream_peek() failed: %s\n"), pa_strerror(pa_context_errno(context))); +                pa_log(_("pa_stream_peek() failed: %s"), pa_strerror(pa_context_errno(context)));                  quit(1);                  return;              } @@ -249,6 +252,7 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {                  buffer_length = length;                  buffer_index = 0;              } +              pa_stream_drop(s);          } @@ -260,7 +264,7 @@ static void stream_read_callback(pa_stream *s, size_t length, void *userdata) {              const void *data;              if (pa_stream_peek(s, &data, &length) < 0) { -                pa_log(_("pa_stream_peek() failed: %s\n"), pa_strerror(pa_context_errno(context))); +                pa_log(_("pa_stream_peek() failed: %s"), pa_strerror(pa_context_errno(context)));                  quit(1);                  return;              } @@ -300,25 +304,25 @@ static void stream_state_callback(pa_stream *s, void *userdata) {                  const pa_buffer_attr *a;                  char cmt[PA_CHANNEL_MAP_SNPRINT_MAX], sst[PA_SAMPLE_SPEC_SNPRINT_MAX]; -                pa_log(_("Stream successfully created.\n")); +                pa_log(_("Stream successfully created."));                  if (!(a = pa_stream_get_buffer_attr(s))) -                    pa_log(_("pa_stream_get_buffer_attr() failed: %s\n"), pa_strerror(pa_context_errno(pa_stream_get_context(s)))); +                    pa_log(_("pa_stream_get_buffer_attr() failed: %s"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));                  else {                      if (mode == PLAYBACK) -                        pa_log(_("Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u\n"), a->maxlength, a->tlength, a->prebuf, a->minreq); +                        pa_log(_("Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u"), a->maxlength, a->tlength, a->prebuf, a->minreq);                      else {                          pa_assert(mode == RECORD); -                        pa_log(_("Buffer metrics: maxlength=%u, fragsize=%u\n"), a->maxlength, a->fragsize); +                        pa_log(_("Buffer metrics: maxlength=%u, fragsize=%u"), a->maxlength, a->fragsize);                      }                  } -                pa_log(_("Using sample spec '%s', channel map '%s'.\n"), +                pa_log(_("Using sample spec '%s', channel map '%s'."),                          pa_sample_spec_snprint(sst, sizeof(sst), pa_stream_get_sample_spec(s)),                          pa_channel_map_snprint(cmt, sizeof(cmt), pa_stream_get_channel_map(s))); -                pa_log(_("Connected to device %s (%u, %ssuspended).\n"), +                pa_log(_("Connected to device %s (%u, %ssuspended)."),                          pa_stream_get_device_name(s),                          pa_stream_get_device_index(s),                          pa_stream_is_suspended(s) ? "" : "not "); @@ -328,7 +332,7 @@ static void stream_state_callback(pa_stream *s, void *userdata) {          case PA_STREAM_FAILED:          default: -            pa_log(_("Stream error: %s\n"), pa_strerror(pa_context_errno(pa_stream_get_context(s)))); +            pa_log(_("Stream error: %s"), pa_strerror(pa_context_errno(pa_stream_get_context(s))));              quit(1);      }  } @@ -338,9 +342,9 @@ static void stream_suspended_callback(pa_stream *s, void *userdata) {      if (verbose) {          if (pa_stream_is_suspended(s)) -            pa_log(_("Stream device suspended.%s \n"), CLEAR_LINE); +            pa_log(_("Stream device suspended.%s"), CLEAR_LINE);          else -            pa_log(_("Stream device resumed.%s \n"), CLEAR_LINE); +            pa_log(_("Stream device resumed.%s"), CLEAR_LINE);      }  } @@ -348,35 +352,35 @@ static void stream_underflow_callback(pa_stream *s, void *userdata) {      pa_assert(s);      if (verbose) -        pa_log(_("Stream underrun.%s \n"),  CLEAR_LINE); +        pa_log(_("Stream underrun.%s"),  CLEAR_LINE);  }  static void stream_overflow_callback(pa_stream *s, void *userdata) {      pa_assert(s);      if (verbose) -        pa_log(_("Stream overrun.%s \n"), CLEAR_LINE); +        pa_log(_("Stream overrun.%s"), CLEAR_LINE);  }  static void stream_started_callback(pa_stream *s, void *userdata) {      pa_assert(s);      if (verbose) -        pa_log(_("Stream started.%s \n"), CLEAR_LINE); +        pa_log(_("Stream started.%s"), CLEAR_LINE);  }  static void stream_moved_callback(pa_stream *s, void *userdata) {      pa_assert(s);      if (verbose) -        pa_log(_("Stream moved to device %s (%u, %ssuspended).%s \n"), pa_stream_get_device_name(s), pa_stream_get_device_index(s), pa_stream_is_suspended(s) ? "" : _("not "),  CLEAR_LINE); +        pa_log(_("Stream moved to device %s (%u, %ssuspended).%s"), pa_stream_get_device_name(s), pa_stream_get_device_index(s), pa_stream_is_suspended(s) ? "" : _("not "),  CLEAR_LINE);  }  static void stream_buffer_attr_callback(pa_stream *s, void *userdata) {      pa_assert(s);      if (verbose) -        pa_log(_("Stream buffer attributes changed.%s \n"),  CLEAR_LINE); +        pa_log(_("Stream buffer attributes changed.%s"),  CLEAR_LINE);  }  static void stream_event_callback(pa_stream *s, const char *name, pa_proplist *pl, void *userdata) { @@ -387,7 +391,7 @@ static void stream_event_callback(pa_stream *s, const char *name, pa_proplist *p      pa_assert(pl);      t = pa_proplist_to_string_sep(pl, ", "); -    pa_log("Got event '%s', properties '%s'\n", name, t); +    pa_log("Got event '%s', properties '%s'", name, t);      pa_xfree(t);  } @@ -409,10 +413,10 @@ static void context_state_callback(pa_context *c, void *userdata) {              pa_assert(!stream);              if (verbose) -                pa_log(_("Connection established.%s \n"), CLEAR_LINE); +                pa_log(_("Connection established.%s"), CLEAR_LINE);              if (!(stream = pa_stream_new_with_proplist(c, NULL, &sample_spec, &channel_map, proplist))) { -                pa_log(_("pa_stream_new() failed: %s\n"), pa_strerror(pa_context_errno(c))); +                pa_log(_("pa_stream_new() failed: %s"), pa_strerror(pa_context_errno(c)));                  goto fail;              } @@ -440,13 +444,13 @@ static void context_state_callback(pa_context *c, void *userdata) {              if (mode == PLAYBACK) {                  pa_cvolume cv;                  if ((r = pa_stream_connect_playback(stream, device, latency > 0 ? &buffer_attr : NULL, flags, volume_is_set ? pa_cvolume_set(&cv, sample_spec.channels, volume) : NULL, NULL)) < 0) { -                    pa_log(_("pa_stream_connect_playback() failed: %s\n"), pa_strerror(pa_context_errno(c))); +                    pa_log(_("pa_stream_connect_playback() failed: %s"), pa_strerror(pa_context_errno(c)));                      goto fail;                  }              } else {                  if ((r = pa_stream_connect_record(stream, device, latency > 0 ? &buffer_attr : NULL, flags)) < 0) { -                    pa_log(_("pa_stream_connect_record() failed: %s\n"), pa_strerror(pa_context_errno(c))); +                    pa_log(_("pa_stream_connect_record() failed: %s"), pa_strerror(pa_context_errno(c)));                      goto fail;                  }              } @@ -460,7 +464,7 @@ static void context_state_callback(pa_context *c, void *userdata) {          case PA_CONTEXT_FAILED:          default: -            pa_log(_("Connection failure: %s\n"), pa_strerror(pa_context_errno(c))); +            pa_log(_("Connection failure: %s"), pa_strerror(pa_context_errno(c)));              goto fail;      } @@ -493,12 +497,12 @@ static void stdin_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_even      if ((r = read(fd, buffer, l)) <= 0) {          if (r == 0) {              if (verbose) -                pa_log(_("Got EOF.\n")); +                pa_log(_("Got EOF."));              start_drain();          } else { -            pa_log(_("read() failed: %s\n"), strerror(errno)); +            pa_log(_("read() failed: %s"), strerror(errno));              quit(1);          } @@ -530,7 +534,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve      pa_assert(buffer_length);      if ((r = write(fd, (uint8_t*) buffer+buffer_index, buffer_length)) <= 0) { -        pa_log(_("write() failed: %s\n"), strerror(errno)); +        pa_log(_("write() failed: %s"), strerror(errno));          quit(1);          mainloop_api->io_free(stdio_event); @@ -551,7 +555,7 @@ static void stdout_callback(pa_mainloop_api*a, pa_io_event *e, int fd, pa_io_eve  /* UNIX signal to quit recieved */  static void exit_signal_callback(pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata) {      if (verbose) -        pa_log(_("Got signal, exiting.\n")); +        pa_log(_("Got signal, exiting."));      quit(0);  } @@ -565,7 +569,7 @@ static void stream_update_timing_callback(pa_stream *s, int success, void *userd      if (!success ||          pa_stream_get_time(s, &usec) < 0 ||          pa_stream_get_latency(s, &l, &negative) < 0) { -        pa_log(_("Failed to get latency: %s\n"), pa_strerror(pa_context_errno(context))); +        pa_log(_("Failed to get latency: %s"), pa_strerror(pa_context_errno(context)));          quit(1);          return;      } @@ -588,7 +592,7 @@ static void time_event_callback(pa_mainloop_api *m, pa_time_event *e, const stru      if (stream && pa_stream_get_state(stream) == PA_STREAM_READY) {          pa_operation *o;          if (!(o = pa_stream_update_timing_info(stream, stream_update_timing_callback, NULL))) -            pa_log(_("pa_stream_update_timing_info() failed: %s\n"), pa_strerror(pa_context_errno(context))); +            pa_log(_("pa_stream_update_timing_info() failed: %s"), pa_strerror(pa_context_errno(context)));          else              pa_operation_unref(o);      } @@ -753,7 +757,7 @@ int main(int argc, char *argv[]) {                  if (!(t = pa_locale_to_utf8(optarg)) ||                      pa_proplist_sets(proplist, PA_PROP_APPLICATION_NAME, t) < 0) { -                    pa_log(_("Invalid client name '%s'\n"), t ? t : optarg); +                    pa_log(_("Invalid client name '%s'"), t ? t : optarg);                      pa_xfree(t);                      goto quit;                  } @@ -769,7 +773,7 @@ int main(int argc, char *argv[]) {                  if (!(t = pa_locale_to_utf8(optarg)) ||                      pa_proplist_sets(proplist, PA_PROP_MEDIA_NAME, t) < 0) { -                    pa_log(_("Invalid stream name '%s'\n"), t ? t : optarg); +                    pa_log(_("Invalid stream name '%s'"), t ? t : optarg);                      pa_xfree(t);                      goto quit;                  } @@ -806,7 +810,7 @@ int main(int argc, char *argv[]) {              case ARG_CHANNELMAP:                  if (!pa_channel_map_parse(&channel_map, optarg)) { -                    pa_log(_("Invalid channel map '%s'\n"), optarg); +                    pa_log(_("Invalid channel map '%s'"), optarg);                      goto quit;                  } @@ -835,14 +839,14 @@ int main(int argc, char *argv[]) {              case ARG_LATENCY:                  if (((latency = (size_t) atoi(optarg))) <= 0) { -                    pa_log(_("Invalid latency specification '%s'\n"), optarg); +                    pa_log(_("Invalid latency specification '%s'"), optarg);                      goto quit;                  }                  break;              case ARG_PROCESS_TIME:                  if (((process_time = (size_t) atoi(optarg))) <= 0) { -                    pa_log(_("Invalid process time specification '%s'\n"), optarg); +                    pa_log(_("Invalid process time specification '%s'"), optarg);                      goto quit;                  }                  break; @@ -854,7 +858,7 @@ int main(int argc, char *argv[]) {                      pa_proplist_setp(proplist, t) < 0) {                      pa_xfree(t); -                    pa_log(_("Invalid property '%s'\n"), optarg); +                    pa_log(_("Invalid property '%s'"), optarg);                      goto quit;                  } @@ -890,7 +894,7 @@ int main(int argc, char *argv[]) {      }      if (!pa_sample_spec_valid(&sample_spec)) { -        pa_log(_("Invalid sample specification\n")); +        pa_log(_("Invalid sample specification"));          goto quit;      } @@ -900,19 +904,19 @@ int main(int argc, char *argv[]) {          filename = argv[optind];          if ((fd = open(argv[optind], mode == PLAYBACK ? O_RDONLY : O_WRONLY|O_TRUNC|O_CREAT, 0666)) < 0) { -            pa_log(_("open(): %s\n"), strerror(errno)); +            pa_log(_("open(): %s"), strerror(errno));              goto quit;          }          if (dup2(fd, mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO) < 0) { -            pa_log(_("dup2(): %s\n"), strerror(errno)); +            pa_log(_("dup2(): %s"), strerror(errno));              goto quit;          }          pa_close(fd);      } else if (optind+1 <= argc) { -        pa_log(_("Too many arguments.\n")); +        pa_log(_("Too many arguments."));          goto quit;      } @@ -923,7 +927,7 @@ int main(int argc, char *argv[]) {          if (mode == RECORD) {              /* This might patch up the sample spec */              if (pa_sndfile_write_sample_spec(&sfi, &sample_spec) < 0) { -                pa_log(_("Failed to generate sample specification for file.\n")); +                pa_log(_("Failed to generate sample specification for file."));                  goto quit;              } @@ -943,16 +947,16 @@ int main(int argc, char *argv[]) {          if (!(sndfile = sf_open_fd(mode == RECORD ? STDOUT_FILENO : STDIN_FILENO,                                     mode == RECORD ? SFM_WRITE : SFM_READ,                                     &sfi, 0))) { -            pa_log(_("Failed to open audio file.\n")); +            pa_log(_("Failed to open audio file."));              goto quit;          }          if (mode == PLAYBACK) {              if (sample_spec_set) -                pa_log(_("Warning: specified sample specification will be overwritten with specification from file.\n")); +                pa_log(_("Warning: specified sample specification will be overwritten with specification from file."));              if (pa_sndfile_read_sample_spec(sndfile, &sample_spec) < 0) { -                pa_log(_("Failed to determine sample specification from file.\n")); +                pa_log(_("Failed to determine sample specification from file."));                  goto quit;              }              sample_spec_set = TRUE; @@ -961,7 +965,7 @@ int main(int argc, char *argv[]) {                  /* Allow the user to overwrite the channel map on the command line */                  if (pa_sndfile_read_channel_map(sndfile, &channel_map) < 0) {                      if (sample_spec.channels > 2) -                        pa_log(_("Warning: Failed to determine channel map from file.\n")); +                        pa_log(_("Warning: Failed to determine channel map from file."));                  } else                      channel_map_set = TRUE;              } @@ -972,7 +976,7 @@ int main(int argc, char *argv[]) {          pa_channel_map_init_extend(&channel_map, sample_spec.channels, PA_CHANNEL_MAP_DEFAULT);      if (!pa_channel_map_compatible(&channel_map, &sample_spec)) { -        pa_log(_("Channel map doesn't match sample specification\n")); +        pa_log(_("Channel map doesn't match sample specification"));          goto quit;      } @@ -983,7 +987,7 @@ int main(int argc, char *argv[]) {              readf_function = pa_sndfile_readf_function(&sample_spec);          else {              if (pa_sndfile_write_channel_map(sndfile, &channel_map) < 0) -                pa_log(_("Warning: failed to write channel map to file.\n")); +                pa_log(_("Warning: failed to write channel map to file."));              writef_function = pa_sndfile_writef_function(&sample_spec);          } @@ -998,7 +1002,7 @@ int main(int argc, char *argv[]) {      if (verbose) {          char tss[PA_SAMPLE_SPEC_SNPRINT_MAX], tcm[PA_CHANNEL_MAP_SNPRINT_MAX]; -        pa_log(_("Opening a %s stream with sample specification '%s' and channel map '%s'.\n"), +        pa_log(_("Opening a %s stream with sample specification '%s' and channel map '%s'."),                  mode == RECORD ? _("recording") : _("playback"),                  pa_sample_spec_snprint(tss, sizeof(tss), &sample_spec),                  pa_channel_map_snprint(tcm, sizeof(tcm), &channel_map)); @@ -1025,7 +1029,7 @@ int main(int argc, char *argv[]) {      /* Set up a new main loop */      if (!(m = pa_mainloop_new())) { -        pa_log(_("pa_mainloop_new() failed.\n")); +        pa_log(_("pa_mainloop_new() failed."));          goto quit;      } @@ -1044,14 +1048,14 @@ int main(int argc, char *argv[]) {                                                   mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO,                                                   mode == PLAYBACK ? PA_IO_EVENT_INPUT : PA_IO_EVENT_OUTPUT,                                                   mode == PLAYBACK ? stdin_callback : stdout_callback, NULL))) { -            pa_log(_("io_new() failed.\n")); +            pa_log(_("io_new() failed."));              goto quit;          }      }      /* Create a new connection context */      if (!(context = pa_context_new_with_proplist(mainloop_api, NULL, proplist))) { -        pa_log(_("pa_context_new() failed.\n")); +        pa_log(_("pa_context_new() failed."));          goto quit;      } @@ -1059,20 +1063,20 @@ int main(int argc, char *argv[]) {      /* Connect the context */      if (pa_context_connect(context, server, 0, NULL) < 0) { -        pa_log(_("pa_context_connect() failed: %s\n"), pa_strerror(pa_context_errno(context))); +        pa_log(_("pa_context_connect() failed: %s"), pa_strerror(pa_context_errno(context)));          goto quit;      }      if (verbose) {          if (!(time_event = pa_context_rttime_new(context, pa_rtclock_now() + TIME_EVENT_USEC, time_event_callback, NULL))) { -            pa_log(_("pa_context_rttime_new() failed.\n")); +            pa_log(_("pa_context_rttime_new() failed."));              goto quit;          }      }      /* Run the main loop */      if (pa_mainloop_run(m, &ret) < 0) { -        pa_log(_("pa_mainloop_run() failed.\n")); +        pa_log(_("pa_mainloop_run() failed."));          goto quit;      } diff --git a/src/utils/pacmd.c b/src/utils/pacmd.c index ac60a0bc..5ef57e3b 100644 --- a/src/utils/pacmd.c +++ b/src/utils/pacmd.c @@ -25,7 +25,7 @@  #include <assert.h>  #include <signal.h> -#include <sys/select.h> +#include <sys/poll.h>  #include <sys/socket.h>  #include <unistd.h>  #include <errno.h> @@ -45,6 +45,13 @@  int main(int argc, char*argv[]) { +    enum { +        WATCH_STDIN, +        WATCH_STDOUT, +        WATCH_SOCKET, +        N_WATCH +    }; +      pid_t pid ;      int fd = -1;      int ret = 1, i; @@ -53,6 +60,7 @@ int main(int argc, char*argv[]) {      size_t ibuf_index, ibuf_length, obuf_index, obuf_length;      char *cli;      pa_bool_t ibuf_eof, obuf_eof, ibuf_closed, obuf_closed; +    struct pollfd pollfd[N_WATCH];      setlocale(LC_ALL, "");      bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); @@ -108,7 +116,7 @@ int main(int argc, char*argv[]) {              size_t k;              k = PA_MIN(sizeof(ibuf) - ibuf_length, strlen(argv[i])); -            memcpy(ibuf + ibuf_length, argv[1], k); +            memcpy(ibuf + ibuf_length, argv[i], k);              ibuf_length += k;              if (ibuf_length < sizeof(ibuf)) { @@ -120,38 +128,45 @@ int main(int argc, char*argv[]) {          ibuf_eof = TRUE;      } -    for (;;) { -        fd_set ifds, ofds; +    pa_zero(pollfd); +    pollfd[WATCH_STDIN].fd = STDIN_FILENO; +    pollfd[WATCH_STDOUT].fd = STDOUT_FILENO; +    pollfd[WATCH_SOCKET].fd = fd; + +    for (;;) {          if (ibuf_eof &&              obuf_eof &&              ibuf_length <= 0 &&              obuf_length <= 0)              break; -        FD_ZERO(&ifds); -        FD_ZERO(&ofds); +        pollfd[WATCH_STDIN].events = pollfd[WATCH_STDOUT].events = pollfd[WATCH_SOCKET].events = 0;          if (obuf_length > 0) -            FD_SET(1, &ofds); +            pollfd[WATCH_STDOUT].events |= POLLOUT;          else if (!obuf_eof) -            FD_SET(fd, &ifds); +            pollfd[WATCH_SOCKET].events |= POLLIN;          if (ibuf_length > 0) -            FD_SET(fd, &ofds); +            pollfd[WATCH_SOCKET].events |= POLLOUT;          else if (!ibuf_eof) -            FD_SET(0, &ifds); +            pollfd[WATCH_STDIN].events |= POLLIN; -        if (select(FD_SETSIZE, &ifds, &ofds, NULL, NULL) < 0) { -            pa_log(_("select(): %s"), strerror(errno)); +        if (poll(pollfd, N_WATCH, -1) < 0) { + +            if (errno == EINTR) +                continue; + +            pa_log(_("poll(): %s"), strerror(errno));              goto fail;          } -        if (FD_ISSET(0, &ifds)) { +        if (pollfd[WATCH_STDIN].revents & POLLIN) {              ssize_t r;              pa_assert(!ibuf_length); -            if ((r = pa_read(0, ibuf, sizeof(ibuf), NULL)) <= 0) { +            if ((r = pa_read(STDIN_FILENO, ibuf, sizeof(ibuf), NULL)) <= 0) {                  if (r < 0) {                      pa_log(_("read(): %s"), strerror(errno));                      goto fail; @@ -164,7 +179,7 @@ int main(int argc, char*argv[]) {              }          } -        if (FD_ISSET(fd, &ifds)) { +        if (pollfd[WATCH_SOCKET].revents & POLLIN) {              ssize_t r;              pa_assert(!obuf_length); @@ -181,21 +196,26 @@ int main(int argc, char*argv[]) {              }          } -        if (FD_ISSET(1, &ofds)) { +        if (pollfd[WATCH_STDOUT].revents & POLLHUP) { +            obuf_eof = TRUE; +            obuf_length = 0; +        } else if (pollfd[WATCH_STDOUT].revents & POLLOUT) {              ssize_t r;              pa_assert(obuf_length); -            if ((r = pa_write(1, obuf + obuf_index, obuf_length, NULL)) < 0) { +            if ((r = pa_write(STDOUT_FILENO, obuf + obuf_index, obuf_length, NULL)) < 0) {                  pa_log(_("write(): %s"), strerror(errno));                  goto fail;              }              obuf_length -= (size_t) r;              obuf_index += obuf_index; -          } -        if (FD_ISSET(fd, &ofds)) { +        if (pollfd[WATCH_SOCKET].revents & POLLHUP) { +            ibuf_eof = TRUE; +            ibuf_length = 0; +        } if (pollfd[WATCH_SOCKET].revents & POLLOUT) {              ssize_t r;              pa_assert(ibuf_length); @@ -209,14 +229,14 @@ int main(int argc, char*argv[]) {          }          if (ibuf_length <= 0 && ibuf_eof && !ibuf_closed) { -            pa_close(0); +            pa_close(STDIN_FILENO);              shutdown(fd, SHUT_WR);              ibuf_closed = TRUE;          }          if (obuf_length <= 0 && obuf_eof && !obuf_closed) {              shutdown(fd, SHUT_RD); -            pa_close(1); +            pa_close(STDOUT_FILENO);              obuf_closed = TRUE;          }      } diff --git a/src/utils/padsp.c b/src/utils/padsp.c index dfa5aac2..882522c4 100644 --- a/src/utils/padsp.c +++ b/src/utils/padsp.c @@ -53,6 +53,7 @@  #include <pulse/pulseaudio.h>  #include <pulse/gccmacro.h>  #include <pulsecore/llist.h> +#include <pulsecore/core-util.h>  /* On some systems SIOCINQ isn't defined, but FIONREAD is just an alias */  #if !defined(SIOCINQ) && defined(FIONREAD) @@ -459,15 +460,16 @@ static void reset_params(fd_info *i) {  }  static const char *client_name(char *buf, size_t n) { -    char p[PATH_MAX]; +    char *p;      const char *e;      if ((e = getenv("PADSP_CLIENT_NAME")))          return e; -    if (pa_get_binary_name(p, sizeof(p))) +    if ((p = pa_get_binary_name_malloc())) {          snprintf(buf, n, "OSS Emulation[%s]", p); -    else +        pa_xfree(p); +    } else          snprintf(buf, n, "OSS");      return buf;  | 
