diff options
280 files changed, 11883 insertions, 12343 deletions
@@ -71,6 +71,7 @@ m4/stdint_h.m4 m4/ulonglong.m4 m4/intl.m4 m4/intldir.m4 +m4/intlmacosx.m4 m4/lock.m4 m4/visibility.m4 m4/libtool.m4 @@ -79,6 +80,7 @@ m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 +misc/Makefile.plugins misc/SlackBuild misc/build_rpms.sh misc/libxine.pc @@ -87,12 +89,15 @@ misc/xine-config misc/xine-lib.spec misc/xine-list-* +po/Makevars.extra po/POTFILES po/*.gmo po/stamp-po po/insert-header.sed po/remove-potcdate.sed +src/combined/ffmpeg/avcodec_*.list +src/combined/ffmpeg/ff_*_list.h src/libffmpeg/ffmpeg_config.h src/video_out/libdha/pci_dev_ids.c src/video_out/libdha/pci_ids.h @@ -72,3 +72,7 @@ b6be674453e922114b55d4613cb197c77d19f094 xine-lib-1_1_9-release 492f87e6963a8d244df32c40d66a6349aabc4420 xine-lib-1_1_13-release 9b383441a18fb49ccd5a07465d3e3db8821cccf6 xine-lib-1_1_14-release 17f8ed16524ba779af42913e51667e89b83a1887 xine-lib-1_1_15-release +e33280bcaa3b1f3f5b93e633e2225e2440ecfd7c xine-lib-1_1_16-release +01fac0a015581bbdf7e38561ad2a95405e2ca785 xine-lib-1_1_16_1-release +ff19463729d8f9bbea35171d641c5f28cdacc7c8 xine-lib-1_1_16_2-release +fc1aecbb9d80a32d9c802a5208dfdc012f1ba9d5 xine-lib-1_1_16_3-release @@ -235,7 +235,7 @@ Marcelo Roberto Jimenez <mroberto@cetuc.puc-rio.br> George Staikos <staikos@0wned.org> xinerama bugfixes -Juan Manuel Garc? Molina <juanmagm@mail.com> +Juan Manuel García Molina <juanmagm@mail.com> spanish internationalization files. Jeffrey W. Baker <jwbaker@acm.org> @@ -293,7 +293,7 @@ Andrew Patrikalakis <anrp@irulethe.net> powerpc assembly memcpy() implementaions with assistance from Rogerio Brito <rbrito@iname.com> Benjamin Herrenschmidt <benh@kernel.crashing.org> - Michel Dzer <daenzer@debian.org> + Michel Dänzer <daenzer@debian.org> Others Giovanni Baronetti and Mauro Borghi <mauro.borghi@tilab.com> @@ -415,7 +415,7 @@ Conrad Parker <conrad@metadecks.org> Marcel Janssen <korgull@home.nl> libavcodec MPEG encoder for DXR3 -Dirk Meyer <dmeyer@tzi.de +Dirk Meyer <dmeyer@tzi.de> stdctl patches for xine-ui and fbxine. post filter support for fbxine. @@ -1,4 +1,80 @@ -xine-lib (1.1.16) 2008-??-?? +xine-lib (1.1.17) 2009-??-?? + * Add support for Matroska SIMPLEBLOCK. + * Add support for sndio (OpenBSD sound API). + * Correct invalid MIME info in the MOD demuxer. + * Fix a resource leak in libdvdnav. + * Properly NUL-terminate when reading ID3v2.2 tag content. + * Fix handling of the length of UTF-16 content sourced from, e.g., ID3 tags. + * Make ~/.xine/catalog.cache writing safer: write a new file & atomically + replace the old one. + * Initial parsing of Xing header LAME extension. + * Fixes for gapless playback. + * Added padding delay to the first and last frames (MPEG audio). + * Fixed buggy discontinuity handling when playing short streams and using the gapless switch. The current time should not be used here. + * Added audio padding handling. (New buffer flag for this.) + * Fix seeking in large raw DV files. + * Ported to new libmpcdec API (retaining build compat. with the old API). + * Cope with CDDB return code 211 (multiple entries). + * Allow reading of non-block-sized chunks from audio CDs. + * Add a user agent & protocol hack ("qthttp://...") to allow direct + viewing of Apple film trailers. + * Fixed int-to-float conversion in the JACK output plugin. + * Work around MOD files with reported length == 0. + * Reworked Matroska demuxer. Now reads files created by mkvmerge 2.7.0. + * Support BluRay/HDMV streams & subtitles. + * The XML parser & lexer code now has re-entrancy. + * Fixed a bug which prevented "dvb://" (no channel specified) working with + the default configuration. + * Handle VC1 extradata requirement (should fix playback). + +xine-lib (1.1.16.3) 2009-04-03 + * Security fixes: + - Fix another possible int overflow in the 4XM demuxer. + (ref. TKADV2009-004, CVE-2009-0698) + - Fix an integer overflow in the Quicktime demuxer. + (TKADV2009-005, CVE-2009-1274) + * Enable libmpeg2new (if configured with --enable-libmpeg2new). + This is not yet production code; the old mpeg2 decoder remains the default. + * Add support for OpenBSD. + * Fix a build failure on *BSD due to some rather useful GNUisms. + * Protect audio loop so it cannot write to a paused device (fix + pause/resume freeze with pulseaudio). + * Fix build with libavutil >= 50.0.0. + * Fix segfaults when playing VCDs. + * Fix calculation of frame duration for ffmpeg-decoded formats. + * Don't assume that ID3v2 tags with no content mean "end of ID3 data". + +xine-lib (1.1.16.2) 2009-02-10 + * Build fixes related to ImageMagick 6.4 & later. + * Fix an error in Matroska PTS calculation. + * Some front ends hang due to the hang fixes in 1.1.16. Fix this by + removing a break statement. + * Fix broken size checks in various input plugins (ref. CVE-2008-5239). + * More malloc checking (ref. CVE-2008-5240). + * Fix race conditions in gapless_switch (ref. kde bug #180339) + * Fix a possible integer overflow in the 4XM demuxer. + (TKADV2009-004, CVE-2009-0698) + +xine-lib (1.1.16.1) 2009-01-11 + * Fix build with older ffmpeg, both internal and in Debian 5.0. + * Add version check for CACA library and disable CACA plugin if needed + * Fix playback of some H.264 files (broken in 1.1.16). + * Various other build & bug fixes. + * Some FAQ list updates. + +xine-lib (1.1.16) 2009-01-07 + * Security fixes: + - Heap overflow in Quicktime atom parsing. (CVE-2008-5234) + - Multiple buffer overflows. (CVE-2008-5236) + - Multiple integer overflows. (CVE-2008-5237) + - Unchecked or incompletely-checked read function results. (CVE-2008-5239) + - Unchecked malloc using untrusted values. (CVE-2008-5240, CVE-2008-5242) + - Integer underflow in qt compressed atom handling. (CVE-2008-5241) + - Buffer indexing using untrusted or unchecked values. (CVE-2008-5243) + - Integer overflows in the ffmpeg audio decoder and the CDDA server. + - Heap buffer overflow in the ffmpeg video decoder. + - Avoid segfault on invalid track type in Matroska files. + - Avoid underflow (compressed atoms) in the Qt demuxer. * Fix reported compilation failures (with C++ programs). * Fix CDDB access in 64-bit builds. * Fix seeking FLV clips that don't specify the movie length in the headers. @@ -9,6 +85,17 @@ xine-lib (1.1.16) 2008-??-?? * Correct AAC channel ordering for multi-channel audio, at least for FLAC when using ALSA or PulseAudio. (Needs a proper fix.) * Add position-based seeking independent from seekpoints. + * Fix some XCB Xv attribute configuration breakage. + * Add a configuration option for Xv bicubic filtering, implemented in + xf86-video-ati 6.9.1. + * Recognise Xv "blitter" adaptors for port selection purposes. + NOTE: you will need to remove ~/.xine/catalog.cache when upgrading from + xine-lib 1.1.15 or older if you wish to use this extra option. + * Fix MMS media requests where the URI contains %-encoded characters. + * Fix two hangs related to stopping playback of broken audio streams where + no audio data is sent to the output thread. + * Fix WAV demuxer to send the last frames when they don't fit perfectly into + the buffer xine-lib (1.1.15) 2008-08-14 * Security fixes: @@ -16,10 +103,16 @@ xine-lib (1.1.15) 2008-08-14 (CVE-2008-3231) This includes a libfaad update from the 1.2 branch. - Delay V4L video frame preallocation until we know how large they'll be. + (CVE-2008-5245) - Fix an exploitable ID3 heap buffer overflow. + (CVE-2008-5234, vector 2) - Check for possible buffer overflow attempts in the Real demuxer. + (CVE-2008-5235) - Use size_t for data length variables where there may be int overflows. - Add some checks for memory allocation failures. + (CVE-2008-5233) + - Fix crashes with MP3 files with metadata consisting only of separators. + (CVE-2008-5248) * Use external ffmpeg and libfaad by default. * V4L: Don't segfault if asked for an input that doesn't exist. * Recognise AMR audio (normally found in 3GP files). @@ -29,7 +122,6 @@ xine-lib (1.1.15) 2008-08-14 others, there would be no problem. * V4L: only try and set the tuner if we're going to use it. Setting the tuner when using baseband video (CVBS, S-Video) breaks the input. - * Fix crashes with MP3 files with metadata consisting only of separators. xine-lib (1.1.14) 2008-06-29 * DVB changes: diff --git a/Makefile.am b/Makefile.am index 211f0e8cd..c585434d6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,6 +86,8 @@ uninstall-hook: install-data-hook: @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*.la @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*/*.la + @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*.dll.a + @rm -f $(DESTDIR)$(XINE_PLUGINDIR)/*/*.dll.a @if test -x "$(top_srcdir)/post-install.sh" ; then \ $(top_srcdir)/post-install.sh ; \ fi @@ -108,3 +110,6 @@ maintainer-clean-generic: maintainer-clean-generic-hook: rm -f config.status + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) && $(SED) -i -e '/gnu_ld/,/;;/ s/--rpath \$${wl}/--rpath,/' $@ @@ -19,7 +19,7 @@ Individual frontends (e.g. xine-ui, gxine, totem, ...) may provide additional documentation in their packages. For more information on xine features (supported multimedia formats etc.) -see the xine homepage, located at http://xinehq.de/ +see the xine homepage, located at http://www.xine-project.org/ The xine-lib XML parser (src/xine-utils/xmlparser.[ch] and src/xine-utils/xmllexer.[ch]) is released under the GNU LGPL, see COPYING.LIB diff --git a/autogen.sh b/autogen.sh index 13e663510..0ec876910 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -e # # Copyright (C) 2000-2003 the xine project # @@ -37,12 +37,13 @@ case `echo -n` in *) _echo_n=-n _echo_c=;; esac +srcdir="`dirname "$0"`" + detect_configure_ac() { - srcdir=`dirname $0` test -z "$srcdir" && srcdir=. - (test -f $srcdir/configure.ac) || { + (test -f "$srcdir"/configure.ac) || { echo $_echo_n "*** Error ***: Directory "\`$srcdir\`" does not look like the" echo " top-level directory" exit 1 @@ -106,6 +107,7 @@ run_autoconf () { echo $_echo_n " + Running autoconf: $_echo_c"; autoconf; + sed -i -e '/gnu_ld/,/;;/ s/--rpath \${wl}/--rpath,/' configure echo "done." } @@ -248,7 +250,11 @@ run_configure () { echo " ** If you wish to pass arguments to ./configure, please" echo " ** specify them on the command line." fi - ./configure "$@" + if test -f configure; then + ./configure "$@" + else + "$srcdir"/configure "$@" + fi } @@ -256,6 +262,7 @@ run_configure () { # MAIN #--------------- detect_configure_ac +cd "$srcdir" detect_autoconf detect_libtool detect_automake @@ -283,18 +290,20 @@ case "$1" in run_libtoolize ;; noconfig) - run_aclocal run_libtoolize + run_aclocal run_autoheader run_automake run_autoconf ;; *) - run_aclocal run_libtoolize + run_aclocal run_autoheader run_automake run_autoconf + # return to our original directory + cd - >/dev/null run_configure "$@" ;; esac diff --git a/configure.ac b/configure.ac index 65d635e40..88a019f44 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ XINE_MAJOR=1 XINE_MINOR=1 XINE_SUB=16 dnl XINE_PATCH should be left empty or set to ".1" or ".2" or something similar -XINE_PATCH= +XINE_PATCH=.3 dnl Release series number (usually $XINE_MAJOR.$XINE_MINOR) XINE_SERIES=1.1 @@ -54,9 +54,9 @@ dnl are platform dependent dnl * in Linux, the library will be named dnl libname.so.(XINE_LT_CURRENT - XINE_LT_AGE).XINE_LT_AGE.XINE_LT_REVISION -XINE_LT_CURRENT=26 -XINE_LT_REVISION=0 -XINE_LT_AGE=25 +XINE_LT_CURRENT=27 +XINE_LT_REVISION=1 +XINE_LT_AGE=26 dnl for a release tarball do "rm .cvsversion" before "make dist" if test -f "${srcdir-.}/.cvsversion"; then @@ -148,6 +148,12 @@ AC_PROG_LN_S AC_PROG_AWK AC_C_INLINE +AC_PATH_PROG([PERL], [perl], [no]) +if test "$PERL" = no; then + AC_MSG_ERROR([perl not found]) +fi +AC_SUBST([PERL]) + AC_CHECK_TOOL([STRINGS], [strings], [false]) dnl --------------------------------------------- @@ -201,7 +207,7 @@ if test "x$enable_iconvtest" != xno; then fi AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.16.1]) +AM_GNU_GETTEXT_VERSION([0.17]) AC_PROG_GMSGFMT_PLURAL AC_CHECK_FUNCS([nl_langinfo]) @@ -239,11 +245,20 @@ AC_CHECK_DECL(sysi86,[ AC_GETOPT_LONG + dnl --------------------------------------------- -dnl Windows ports checks +dnl Windows & Hurd ports checks dnl --------------------------------------------- +have_supported_dvb=yes +SYS=other + case "$host" in + *-gnu*.*) + have_supported_dvb=no + SYS=hurd + ;; *-*-mingw* | *-*-cygwin*) + have_supported_dvb=no dnl check if we are using the cygwin, mingw or cygwin with mno-cygwin mode dnl in which case we are actually dealing with a mingw32 compiler case "$host" in @@ -263,6 +278,7 @@ case "$host" in WIN32_CPPFLAGS='-I$(top_srcdir)/win32/include' LIBS="-lwinmm -lwsock32 $LIBS" GOOM_LIBS="-liberty" + LDFLAGS="-Wl,--enable-stdcall-fixup $LDFLAGS" fi LDFLAGS="-no-undefined $LDFLAGS" ;; @@ -270,6 +286,8 @@ esac AC_SUBST(GOOM_LIBS) AC_SUBST(WIN32_CPPFLAGS) AM_CONDITIONAL(WIN32, test "x$SYS" = "xmingw32") +AM_CONDITIONAL([HURD], [test "x$SYS" = "xhurd"]) +AM_CONDITIONAL([DVB], [test "$have_supported_dvb" = "yes"]) dnl --------------------------------------------- @@ -316,6 +334,10 @@ dnl --------------------------------------------- AC_SUBST(LIBMPEG2_CFLAGS) +AC_ARG_ENABLE([libmpeg2new], + AS_HELP_STRING([--enable-libmpeg2new], [build the newer MPEG2 decoder (buggy)])) +AM_CONDITIONAL(ENABLE_MPEG2NEW, test "x$enable_libmpeg2new" = "xyes") + AC_ARG_WITH([external-ffmpeg], AS_HELP_STRING([--with-external-ffmpeg], [use external ffmpeg library])) case "x$with_external_ffmpeg" in @@ -342,6 +364,10 @@ if test "x$with_external_ffmpeg" != "xno"; then dnl Check presence of ffmpeg/avutil.h to see if it's old or new dnl style for headers. The new style would be preferred actually... AC_CHECK_HEADERS([ffmpeg/avutil.h]) + AC_CHECK_HEADERS([libavutil/avutil.h]) + if test "$ac_cv_header_ffmpeg_avutil_h" = "yes" && test "$ac_cv_header_libavutil_avutil_h" = "yes"; then + AC_MSG_ERROR([old & new ffmpeg headers found - you need to clean up!]) + fi AC_MSG_RESULT([using external ffmpeg]) else @@ -729,7 +755,7 @@ if test "x$no_x" = "x" && test "x$enable_xvmc" != "xno"; then AC_ARG_WITH(xxmc-path, AS_HELP_STRING([--with-xxmc-path=path], [where libXvMC libraries for the xxmc plugin are installed. Defalts to the default X library path.]), - xxmc_path="$withval", xxmc_path="${x_libraries:-/usr/lib}") + xxmc_path="$withval", xxmc_path="$x_libraries") AC_ARG_WITH(xxmc-lib, AS_HELP_STRING([--with-xxmc-lib=XXXX], [The name of the XvMC library libXXXX.so for the xxmc plugin.]),xxmc_stub="$withval", xxmc_stub="XvMCW") @@ -740,7 +766,7 @@ if test "x$x_includes" != "x"; then CPPFLAGS="$CPPFLAGS -I$x_includes" fi -XXMC_LIBS="-L$xxmc_path -l$xxmc_stub" +XXMC_LIBS="${xxmc_path:+-L}$xxmc_path -l$xxmc_stub" AC_MSG_CHECKING(whether to enable the xxmc plugin with vld extensions) AC_MSG_RESULT() dnl Check if vld "extended" XvMC is available @@ -749,7 +775,7 @@ if test "x$xxmc_stub" == "xXvMCW" && test "x$ac_have_xv" == "xyes"; then ac_have_xxmc="yes", [ac_have_xxmc="no" AC_MSG_RESULT([*** Could not link with -l$xxmc_stub for vld extensions.])], - [-L$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xxmc_path:+-L}$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else if test "x$ac_have_xv" = "xyes"; then AC_CHECK_LIB($xxmc_stub, XvMCPutSlice, @@ -757,7 +783,7 @@ else XXMC_LIBS="$XXMC_LIBS -lXvMC"], [ac_have_xxmc="no" AC_MSG_RESULT([*** Could not link with -l$xxmc_stub -lXvMC for vld extensions.])], - [-L$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xxmc_path:+-L}$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else ac_have_xxmc="no", fi @@ -779,7 +805,7 @@ if test "x$ac_have_xxmc" = "xno"; then ac_have_xxmc="yes", [ac_have_xxmc="no" AC_MSG_RESULT([*** Could not link with -l$xxmc_stub for standard XvMC.])], - [-L$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xxmc_path:+-L}$xxmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else if test "x$ac_have_xv" = "xyes"; then AC_CHECK_LIB($xxmc_stub, XvMCCreateContext, @@ -787,7 +813,7 @@ if test "x$ac_have_xxmc" = "xno"; then XXMC_LIBS="$XXMC_LIBS -lXvMC"], [ac_have_xxmc="no" AC_MSG_RESULT([*** Could not link with -lXvMC for standard XvMC.])], - [-L$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xxmc_path:+-L}$xxmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else ac_have_xxmc="no", fi @@ -820,12 +846,12 @@ if test "x$no_x" = "x" && test "x$enable_xvmc" != "xno"; then AC_ARG_WITH(xvmc-path, AS_HELP_STRING([--with-xvmc-path=path], [where libXvMC libraries for the xvmc plugin are installed. Defalts to the default X library path.]), - xvmc_path="$withval", xvmc_path="${x_libraries:-/usr/lib}") + xvmc_path="$withval", xvmc_path="$x_libraries") AC_ARG_WITH(xvmc-lib, AS_HELP_STRING([--with-xvmc-lib=XXXX], [The name of the XvMC library libXXXX.so for the xvmc plugin.]),xvmc_stub="$withval", xvmc_stub="XvMCW") saved_libs="$LIBS" -XVMC_LIBS="-L$xvmc_path -l$xvmc_stub" +XVMC_LIBS="${xvmc_path:+-L}$xvmc_path -l$xvmc_stub" AC_MSG_CHECKING(whether to enable the xvmc plugin) AC_MSG_RESULT() if test "x$xvmc_stub" == "xXvMCW"; then @@ -833,7 +859,7 @@ if test "x$xvmc_stub" == "xXvMCW"; then ac_have_xvmc="yes", [ac_have_xvmc="no" AC_MSG_RESULT([*** Could not link with -l$xvmc_stub.])], - [-L$xvmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xvmc_path:+-L}$xvmc_path $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else if test "x$ac_have_xv" = "xyes"; then AC_CHECK_LIB($xvmc_stub, XvMCCreateContext, @@ -841,7 +867,7 @@ else XVMC_LIBS="$XVMC_LIBS -lXvMC"], [ac_have_xvmc="no" AC_MSG_RESULT([*** Could not link with -lXvMC.])], - [-L$xvmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) + [${xvmc_path:+-L}$xvmc_path -lXvMC $X_LIBS $X_PRE_LIBS $XV_LIBS -lXext $X_EXTRA_LIBS]) else ac_have_xvmc="no", fi @@ -965,7 +991,9 @@ AC_ARG_WITH([caca], AS_HELP_STRING([--without-caca], [Do not build CACA support])) if test "x$with_caca" != "xno"; then - PKG_CHECK_MODULES([CACA], [caca cucul], [have_caca="yes"], [have_caca="no"]) + have_caca=yes + PKG_CHECK_MODULES([CACA], [caca >= 0.99beta14 cucul >= 0.99beta14 ], + [], [AC_MSG_RESULT(no); have_caca="no"]) if test "x$with_caca" = "xyes" && test "x$have_caca" = "xno"; then AC_MSG_ERROR([CACA support requested, but libcaca 0.99 not found]) fi @@ -1338,8 +1366,10 @@ AC_ARG_WITH([external-libmpcdec], AS_HELP_STRING([--with-external-libmpcdec], [U if test "x$enable_musepack" = "xno"; then AC_MSG_RESULT([musepack support disabled]) elif test "x$with_external_libmpcdec" = "xyes"; then - AC_CHECK_LIB([mpcdec], [mpc_decoder_decode], [have_mpcdec=yes]) - AC_CHECK_HEADERS([mpcdec/mpcdec.h], , [have_mpcdec=no]) + AC_CHECK_LIB([mpcdec], [mpc_demux_decode], [have_mpcdec=yes], + [AC_CHECK_LIB([mpcdec], [mpc_decoder_decode], [have_mpcdec=yes])]) + AC_CHECK_HEADERS([mpc/mpcdec.h], [], + [AC_CHECK_HEADERS([mpcdec/mpcdec.h], [], [have_mpcdec=no])]) if test "x$have_mpcdec" != "xyes"; then AC_MSG_ERROR([Unable to find mpcdec]) fi @@ -1381,8 +1411,11 @@ AC_ARG_WITH([imagemagick], if test "x$with_imagemagick" != "xno"; then PKG_CHECK_MODULES([WAND], [Wand], [have_imagemagick=yes], [have_imagemagick=no]) + if test "x$with_imagemagick" = 'xno'; then + PKG_CHECK_MODULES([WAND], [MagickWand], [have_imagemagick=yes], [have_imagemagick=no]) + fi if test "x$with_imagemagick" = "xyes" && test "x$have_imagemagick" = "xno"; then - AC_MSG_ERROR([ImageMagick support requested, but Wand not found]) + AC_MSG_ERROR([ImageMagick support requested, but neither Wand nor MagickWand were found]) elif test "x$have_imagemagick" = "xyes"; then AC_DEFINE([HAVE_WAND], [1], [Define this if you have ImageMagick installed]) fi @@ -1558,6 +1591,28 @@ AM_CONDITIONAL([HAVE_JACK], [test "x$have_jack" = "xyes"]) dnl --------------------------------------------- +dnl sndio support +dnl --------------------------------------------- + +AC_ARG_WITH([sndio], + AS_HELP_STRING([--without-sndio], [Build without sndio support])) + +if test "x$with_sndio" != "xno"; then + AC_CHECK_LIB(sndio, sio_open, [SNDIO_LIBS=-lsndio; have_sndio=yes], + [have_sndio=no]) + + if test "x$with_sndio" = "xyes" && test "x$have_sndio" = "xno"; then + AC_MSG_ERROR([sndio support requested, but sndio not found]) + fi +fi + +AM_CONDITIONAL([HAVE_SNDIO], [test "x$have_sndio" = "xyes"]) + +AC_SUBST([SNDIO_CFLAGS]) +AC_SUBST([SNDIO_LIBS]) + + +dnl --------------------------------------------- dnl gnome-vfs support dnl --------------------------------------------- @@ -2456,30 +2511,18 @@ XINE_REL_PLUGINDIR="$XINE_REL_PLUGINROOT.$XINE_LT_AGE" XINE_REL_FONTDIR="`makeexpand "$XINE_FONTDIR" | sed -e "s,^${prefix}/,,"`" XINE_REL_LOCALEDIR="`makeexpand "$XINE_LOCALEDIR" | sed -e "s,^${prefix}/,,"`" XINE_PKGCONFIG_DIR="`makeexpand "$pkgconfigdir"`" +dnl platform specific runtime directories if test "x$SYS" = "xmingw32" -o "x$SYS" = "xcygwin"; then - dnl prefix in xine-config - XINE_CONFIG_PREFIX="\$(cd \$(dirname \$0)/..; pwd)" - dnl installation directories (in xine-config) - XINE_PLUGINROOTPATH="$XINE_CONFIG_PREFIX/$XINE_REL_PLUGINROOT" - XINE_PLUGINPATH="$XINE_PLUGINROOTPATH.$XINE_LT_AGE" - XINE_FONTPATH="$XINE_CONFIG_PREFIX/$XINE_REL_FONTDIR" - XINE_LOCALEPATH="$XINE_CONFIG_PREFIX/$XINE_REL_LOCALEDIR" - dnl runtime directories AC_DEFINE(XINE_PLUGINROOT,[xine_get_pluginroot()],[Define this to general plugins directory location]) AC_DEFINE(XINE_PLUGINDIR,[xine_get_plugindir()],[Define this to specific plugins directory location]) AC_DEFINE(XINE_FONTDIR,[xine_get_fontdir()],[Define this to osd fonts dir location]) AC_DEFINE(XINE_LOCALEDIR,[xine_get_localedir()],[Path where catalog files will be.]) else - dnl prefix in xine-config - XINE_CONFIG_PREFIX="`makeexpand "${prefix}"`" - dnl directories from xine-config and runtime directories XINE_PLUGINROOTPATH="`makeexpand "$XINE_PLUGINROOT"`" - XINE_PLUGINPATH="$XINE_PLUGINROOTPATH.$XINE_LT_AGE" XINE_FONTPATH="`makeexpand "$XINE_FONTDIR"`" XINE_LOCALEPATH="`makeexpand "$XINE_LOCALEDIR"`" - dnl defining runtime directories AC_DEFINE_UNQUOTED(XINE_PLUGINROOT,"$XINE_PLUGINROOTPATH",[Define this to general plugins directory location]) - AC_DEFINE_UNQUOTED(XINE_PLUGINDIR,"$XINE_PLUGINPATH",[Define this to specific plugins directory location]) + AC_DEFINE_UNQUOTED(XINE_PLUGINDIR,"$XINE_PLUGINROOTPATH.$XINE_LT_AGE",[Define this to specific plugins directory location]) AC_DEFINE_UNQUOTED(XINE_FONTDIR,"$XINE_FONTPATH",[Define this to osd fonts dir location]) AC_DEFINE_UNQUOTED(XINE_LOCALEDIR, "$XINE_LOCALEPATH",[Path where catalog files will be.]) fi @@ -2487,15 +2530,17 @@ AC_DEFINE_UNQUOTED(XINE_REL_PLUGINDIR,"$XINE_REL_PLUGINDIR",[Define this to spec AC_DEFINE_UNQUOTED(XINE_REL_PLUGINROOT,"$XINE_REL_PLUGINROOT",[Define this to general plugin directory relative to execution prefix]) AC_DEFINE_UNQUOTED(XINE_REL_FONTDIR,"$XINE_REL_FONTDIR",[Define this to font directory relative to prefix]) AC_DEFINE_UNQUOTED(XINE_REL_LOCALEDIR,"$XINE_REL_LOCALEDIR",[Define this to font directory relative to prefix]) -AC_SUBST(XINE_CONFIG_PREFIX) -AC_SUBST(XINE_PLUGINPATH) -AC_SUBST(XINE_FONTPATH) -AC_SUBST(XINE_LOCALEPATH) AC_SUBST(XINE_PLUGINDIR) AC_SUBST(XINE_FONTDIR) AC_SUBST(XINE_LOCALEDIR) AC_SUBST(XINE_PKGCONFIG_DIR) +LIBTOOL_DESTDIR_DEFAULT= +if test "x$SYS" != "xmingw32" -a "x$SYS" != "xcygwin"; then + LIBTOOL_DESTDIR_DEFAULT=/ +fi +AC_SUBST([LIBTOOL_DESTDIR_DEFAULT]) + dnl Where aclocal m4 files should be installed XINE_ACFLAGS="-I ${datarootdir}/aclocal" AC_DEFINE_UNQUOTED(XINE_ACFLAGS, "$XINE_ACFLAGS", [Path where aclocal m4 files will be.]) @@ -2516,7 +2561,7 @@ dnl --------------------------------------------- XINE_BUILD_CC="`$CC -v 2>&1 | tail -1 2>/dev/null`" XINE_BUILD_OS="`uname -s -r -m`" -XINE_BUILD_DATE="`date \"+%a %d %b %Y %T\"`" +XINE_BUILD_DATE="`date "+%a %d %b %Y %T"`" AC_SUBST(XINE_BUILD_CC) AC_SUBST(XINE_BUILD_OS) AC_SUBST(XINE_BUILD_DATE) @@ -2639,7 +2684,7 @@ dnl enough. CC_CHECK_CFLAGS_APPEND([-Wall -Wchar-subscripts dnl -Wnested-externs -Wcast-align dnl -Wmissing-declarations -Wmissing-prototypes dnl - -Wmissing-format-attribute]) + -Wmissing-format-attribute -Wno-pointer-sign]) CC_CHECK_CFLAGS_APPEND([-Wformat=2 -Wformat], [CC_CHECK_CFLAGS_APPEND([-Wno-format-zero-length]) @@ -2699,6 +2744,7 @@ include/xine.h lib/Makefile m4/Makefile misc/Makefile +misc/Makefile.plugins misc/SlackBuild misc/build_rpms.sh misc/fonts/Makefile @@ -2742,6 +2788,9 @@ src/libffmpeg/libavcodec/libpostproc/Makefile src/libffmpeg/libavutil/Makefile src/libmad/Makefile src/libmpeg2/Makefile +src/libmpeg2new/Makefile +src/libmpeg2new/libmpeg2/Makefile +src/libmpeg2new/include/Makefile src/libmusepack/Makefile src/libmusepack/musepack/Makefile src/libvdpau/Makefile @@ -2749,6 +2798,7 @@ src/libspudec/Makefile src/libspucc/Makefile src/libspucmml/Makefile src/libspudvb/Makefile +src/libspuhdmv/Makefile src/libsputext/Makefile src/libw32dll/Makefile src/libw32dll/wine/Makefile @@ -2822,7 +2872,9 @@ echo " - file - net" echo " - stdin_fifo - rtp" echo " - http - mms" echo " - pnm - rtsp" -echo " - dvb" +if test "$have_supported_dvb" = yes; then + echo " - dvb" +fi if test "x$external_dvdnav" = "xyes"; then echo " - dvd (external libs)" else @@ -3175,6 +3227,9 @@ fi if test "x$have_jack" = "xyes"; then echo " - Jack" fi +if test "x$have_sndio" = "xyes"; then + echo " - sndio" +fi echo "---" diff --git a/debian/changelog b/debian/changelog index 30769897d..7386ffb78 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xine-lib (1.1.16~hg-0) unstable; urgency=low +xine-lib (1.1.17~hg-0) unstable; urgency=low [ Darren Salt ] * Hg snapshot. @@ -7,7 +7,7 @@ xine-lib (1.1.16~hg-0) unstable; urgency=low * remove gs from build-dependencies * change the maintainer field to xine-devel@lists.sourceforge.net. - -- Darren Salt <linux@youmustbejoking.demon.co.uk> Fri, 15 Aug 2008 18:24:52 +0100 + -- Darren Salt <linux@youmustbejoking.demon.co.uk> Mon, 12 Jan 2009 19:36:45 +0000 xine-lib (1.1.5~cvs-0) unstable; urgency=low diff --git a/debian/control b/debian/control index 3bb868764..36260d233 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: libs Priority: optional Maintainer: xine Developers <xine-devel@lists.sourceforge.net> Build-Depends: debhelper (>= 5.0.1), binutils (>= 2.12.90.0.9), pkg-config, - automake1.9, autoconf, libtool, + automake1.9, autoconf, libtool, cvs, libavcodec-dev (>= 0.cvs20070307-3) | libavcodeccvs-dev, libavutil-dev (>= 0.cvs20070307-3) | libavutilcvs-dev, libavformat-dev (>= 0.cvs20070307-3) | libavformatcvs-dev, diff --git a/debian/dh_xine b/debian/dh_xine new file mode 100644 index 000000000..e6129624e --- /dev/null +++ b/debian/dh_xine @@ -0,0 +1,56 @@ +#! /usr/bin/perl -w + +=head1 NAME + +dh_xine - calculates xine-lib dependencies + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_xine> [S<I<debhelper options>>] + +=head1 DESCRIPTION + +dh_xine is a debhelper program that is responsible for generating the +${xine-x:Depends} and ${xine-console:Depends} substitutions and adding them +to substvars files. + +Each xine-lib front end is required to have one of these two substvars +listed in its Depends line in debian/control. Using package names directly +will, sooner or later, break. + +=head1 CONFORMS TO + +Debian policy, version 3.8.1 + +=cut + +init (); + +my $version; + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp = tmpdir ($package); + + delsubstvar($package, 'xine-x:Depends'); + addsubstvar ($package, 'xine-x:Depends', 'libxine1-x'); + + delsubstvar($package, 'xine-console:Depends'); + addsubstvar ($package, 'xine-console:Depends', 'libxine1-console'); +} + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is not a part of debhelper. + +=head1 AUTHOR + +Darren Salt <linux@youmustbejoking.demon.co.uk> + +=cut diff --git a/debian/dh_xine.1 b/debian/dh_xine.1 new file mode 100644 index 000000000..5116d750a --- /dev/null +++ b/debian/dh_xine.1 @@ -0,0 +1,21 @@ +.TH DH_XINE 1 "2009-03-25" "The xine project" +.SH "NAME" +dh_xine - calculates xine\-lib dependencies +.SH "SYNOPSIS" +\fBdh_xine\fR [\fIdebhelper\ options\fR] +.SH "DESCRIPTION" +dh_xine is a debhelper program that is responsible for generating the +${xine\-x:Depends} and ${xine\-console:Depends} substitutions and adding them +to substvars files. +.PP +Each xine-lib front end is required to have one of these two substvars +listed in its Depends line in debian/control. Using package names directly +will, sooner or later, break. +.SH "CONFORMS TO" +Debian policy, version 3.8.1 +.SH "SEE ALSO" +\fIdebhelper\fR(7) +.PP +This program is not a part of debhelper. +.SH "AUTHOR" +Darren Salt <linux@youmustbejoking.demon.co.uk> diff --git a/debian/rules b/debian/rules index b44bccd81..47f4a73e7 100755 --- a/debian/rules +++ b/debian/rules @@ -71,12 +71,16 @@ ifeq (,$(findstring optimize,$(DEB_BUILD_OPTIONS))) endif # --mandir - remove after etch released (autoconf >= 2.59c gets it right) -CONFIGURE_FLAGS := --prefix=/usr \ +CONFIGURE_FLAGS := \ + --build $(DEB_BUILD_GNU_TYPE) \ + --host $(DEB_HOST_GNU_TYPE) \ + --prefix=/usr \ --mandir=\$${prefix}/share/man \ --with-external-libmad \ --with-external-a52dec \ --with-external-libdts \ --with-external-ffmpeg \ + --with-external-libmpcdec \ --with-freetype \ --with-wavpack \ --enable-ipv6 \ @@ -98,7 +102,7 @@ endif touch configure-stamp build: configure-stamp build-stamp -build-stamp: +build-stamp: configure-stamp dh_testdir $(MAKE) -j $(NJOBS) touch build-stamp @@ -141,6 +145,8 @@ binary-arch: build install mv debian/tmp/usr/share/doc/xine-lib debian/tmp/usr/share/doc/libxine${major} # build libxine${major} package by moving files from libxine-dev dh_install --autodest --sourcedir=debian/tmp --list-missing + install -m755 debian/dh_xine debian/libxine-dev/usr/bin + dh_installman -plibxine-dev debian/dh_xine.1 dh_installdocs dh_installchangelogs -k ChangeLog dh_link diff --git a/debian/watch b/debian/watch index c82dbbc10..d3a4d7702 100644 --- a/debian/watch +++ b/debian/watch @@ -1,4 +1,4 @@ version=3 -http://xinehq.de/index.php/releases \ +http://www.xine-project.org/releases \ (?:.*/)?xine/xine-lib-([\d\.]*).tar.gz \ debian uupdate diff --git a/doc/faq/faq.sgml b/doc/faq/faq.sgml index 1a624aba0..48f9b2416 100644 --- a/doc/faq/faq.sgml +++ b/doc/faq/faq.sgml @@ -43,7 +43,7 @@ </sect2> <sect2 id="wheretogethelp"> - <title>My question is not yet covered here - where can I ask for help?</title> + <title>My question is not yet covered here – where can I ask for help?</title> <para> First of all be sure that your question is really not covered here and that you haven't just been a bit too lazy to read through all of this @@ -52,7 +52,7 @@ <command>totem</command>). </para> <para> - That said - you are welcome to mail to our user mailing list: + That said – you are welcome to mail to our user mailing list: <email>xine-user@lists.sourceforge.net</email> Please provide some info about your setup so people have a chance to help you, e.g. include information about your audio/video hardware @@ -75,7 +75,7 @@ </sect2> <sect2 id="modules"> - <title>What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?</title> + <title>What are those xine-lib, xine-ui, gnome-xine, … modules in cvs for?</title> <para> Some time ago xine just became too complex to be just one big program. Therefore it was split into two major parts. @@ -86,7 +86,7 @@ is covered in this FAQ.) </para> <para> - Then there are frontends - applications that use xine. The most + Then there are frontends – applications that use xine. The most common frontend is that of a media player. There are currently two frontends being developed in the xine project, xine-ui (skinned dvd-player style frontend directly based on xlib) and gxine, @@ -152,7 +152,7 @@ <para> First, make sure that you're using a current development version (see above) or at least the current release version. Then, once you're - ready to send the patch... + ready to send the patch… </para> <para> Generate your patch using either <command>cvs diff -u > @@ -162,17 +162,17 @@ patch. Your patch should be applicable using <command>patch -p0 -i my.patch</command> or, preferably, <command>patch -p1 -i my.patch</command> from the top-level directory in the source tree - (i.e. where configure.ac is) - this is fairly important for our + (i.e. where configure.ac is) – this is fairly important for our Mercurial-based repositories since it makes importing your patch that much easier (hg import defaults to -p1). </para> <para> Alternatively, if you've been hacking away at a module which is - maintained using mercurial, you can make them available as diffs - use + maintained using mercurial, you can make them available as diffs – use <command>hg export</command> or, if you have several patches, you could use <command>hg bundle</command> instead (both require extra parameters; <command>hg help export</command> and <command>hg help - bundle</command> for more details) - or via HTTP by using <command>hg + bundle</command> for more details) – or via HTTP by using <command>hg serve</command>. In the latter case, you'll need to post a URL from which a developer can pull the changes. </para> @@ -194,12 +194,12 @@ <para> The xine project does not provide pre-compiled binaries for legal reasons (some parts of xine may be covered by patents in some countries). - Some OS projects/vendors (e.g. debian, freebsd, ...) offer binaries - for their distributions - please contact them or use their package search + Some OS projects/vendors (e.g. Debian, FreeBSD, …) offer binaries + for their distributions – please contact them or use their package search tools for further info. You can also find links to third parties providing xine RPMs on the xine homepage at - <ulink url="http://xinehq.de/index.php/releases">http://xinehq.de/index.php/releases</ulink>. + <ulink url="http://www.xine-project.org/releases">http://www.xine-project.org/releases</ulink>. </para> <para> See the next section of this FAQ for instructions on how to build xine @@ -221,13 +221,13 @@ </para> <para> Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux - systems "make" is GNU make - on other platforms use "gmake" instead. + systems "make" is GNU make – on other platforms use "gmake" instead. Also, zlib is required (including the appropriate header files, which are often found in a package called zlib-devel or similar.) </para> <para> If you want to compile xine from CVS, you'll need to have the autobuild tools - installed (automake, autoconf and libtool - in recent versions). + installed (automake, autoconf and libtool – in recent versions). </para> <para> Frontends might need additional libraries, e.g. for gxine you'll need to have @@ -274,7 +274,7 @@ <screen> <command>ldconfig</command></screen> </para> <para> - Now unpack your frontend (gxine or xine-ui or ...), then: + Now unpack your frontend (gxine or xine-ui or …), then: <screen> <command>./configure</command> <command>make install</command></screen> @@ -292,7 +292,7 @@ <para> If you have installed xine-lib to a non-standard prefix, make sure that you have <filename>$prefix/bin</filename> in your PATH and that your linker finds - libs in <filename>$prefix/lib</filename> - otherwise trying to build modules that + libs in <filename>$prefix/lib</filename> – otherwise trying to build modules that rely on xine-lib will fail with configure complaining about not finding certain parts of libxine. Using bash you can do something like: <screen> @@ -304,7 +304,7 @@ Last but not least. Here the build instructions. As stated earlier, those are the same for every xine module. <screen> - <command>./autogen.sh</command> [-> *only* if you checked your sources out of CVS] + <command>./autogen.sh</command> [→ <emphasis>only</emphasis> if you checked your sources out of CVS] <command>./configure</command> <command>make</command> <command>make install</command></screen> @@ -331,7 +331,7 @@ In case that you have a fresh CVS checkout, you will need to do the following first in order to get a tarball release out of it which you can later use with the <command>rpmbuild -ta</command> command above: - <screen> <command>./autogen.sh && make clean && make dist</command></screen> + <screen> <command>./autogen.sh && make clean && make dist</command></screen> </para> <para> In any case, please keep in mind that you have to build and install @@ -362,7 +362,7 @@ <screen> <command>cd ..</command> <command>ls *.deb</command> - <command>su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>'</command> + <command>su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>'</command> </screen> Ubuntu users will probably want to use this instead of that <command>su</command>: <screen> @@ -477,7 +477,7 @@ </sect2> <sect2> - <title>Build problems in frontends (gxine/xine-ui/...)</title> + <title>Build problems in frontends (gxine/xine-ui/…)</title> <sect3 id="xinelibnotfound"> <title>I have installed xine-lib but the frontend complains about not finding it!</title> <para> @@ -504,7 +504,7 @@ <screen> <command>mkdir ~/xine</command></screen> </para> <para> - Then you have to set a few environment variables - it's probably a good + Then you have to set a few environment variables – it's probably a good idea to add this to your <filename>~/.bashrc</filename> (or somewhere similar): <screen> <command>export PATH="$HOME/xine/bin:$PATH"</command> @@ -561,7 +561,7 @@ check out you boot/kernel logs (or run <command>cdrecord -scanbus</command>) to find out which device it got mapped to and set the symlink accordingly (should be something like <filename>/dev/scd0</filename>, - <filename>/dev/scd1</filename>, ... in that case). + <filename>/dev/scd1</filename>, … in that case). Also make sure you (as a user) have sufficient (read and write) permissions on your DVD drive. This could mean you either have to change the device permissions or add your user to a special group @@ -866,8 +866,16 @@ xine. </para> <para> - Possibly the most convenient way to get the Real codecs is to download - them from the MPlayer website + Possibly the most convenient way to get the Real codecs is to install + RealPlayer 9 or RealPlayer 10 and set the + <parameter>decoder.external.real_codecs_path</parameter> in your xine + config file to the name of the directory which contains the codecs + (look for drvc.so); it's probably something like + <filename>/opt/real/RealPlayer/codecs/</filename>. Restart xine then + and you should be able to watch Real files/streams. + </para> + <para> + Another way to get the Real codecs is to download them from the MPlayer website <ulink url="http://www.mplayerhq.hu/design7/dload.html"> http://www.mplayerhq.hu/design7/dload.html </ulink>. @@ -959,7 +967,7 @@ <title>Running xine</title> <sect2 id="speedup"> - <title>I have a lot of dropped frames - what can I do?</title> + <title>I have a lot of dropped frames – what can I do?</title> <para> Your hardware might be too slow for xine. Make sure you turn on all speed optimizing options. A few things you should check (in order of @@ -1067,7 +1075,7 @@ be enough (use a recent kernel!). </para> <para> - Try a <command>cat /proc/mtrr</command> - if the file exists and you find an entry + Try a <command>cat /proc/mtrr</command> – if the file exists and you find an entry corresponding to the amount of graphics memory you have, everything should be fine. </para> @@ -1082,7 +1090,7 @@ <para> Use the "top" utility and verify under the "NI" column if the X process has a negative value, this indicates a higher priority. - See "The X Window User HOWTO - Performance considerations" for + See "The X Window User HOWTO – Performance considerations" for further instructions <ulink url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html"> http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html @@ -1199,7 +1207,7 @@ </sect2> <sect2 id="ports"> - <title>I have problems when using xine on FreeBSD, Solaris, ... !</title> + <title>I have problems when using xine on FreeBSD, Solaris, … !</title> <para> Check out the the corresponding README files in the directory <filename>xine-lib/doc</filename>. </para> @@ -1210,7 +1218,7 @@ <para> aalib is an ascii art library. xine comes with an aalib video output plugin so you can watch movies in your xterm, on the console or on your - old vt100 - very cool ;> ... another nice option is to preview movies + old vt100 – very cool ;> … another nice option is to preview movies on a remote server in your shell over ssh. </para> <para> @@ -1245,7 +1253,7 @@ <para> Currently xine support audio output via OSS (kernel audio drivers), ALSA 0.9.x (ALSA 0.5.x is no longer supported), arts (KDE's sound daemon) - and esound (esd, gnome's sound daemon - not recommended because it has + and esound (esd, gnome's sound daemon – not recommended because it has serious issues with a/v sync). </para> </sect2> @@ -1289,7 +1297,7 @@ <para> If this happens with any video, first try a different audio driver (<command>gxine -A oss</command>, <command>gxine -A arts</command>, - <command>xine -A alsa</command> ...). + <command>xine -A alsa</command> …). </para> <para> If this problem only occurs with one specific stream, maybe switching to @@ -1511,8 +1519,8 @@ </para> <para> Another, whole different possibility is that you have some background - process running which is messing with the clock (like some ntp client - - chronny, ntpd, ...). + process running which is messing with the clock (like some ntp client – + chrony, ntpd, …). </para> <para> Occasional messages of "fixing sound card drift" may happen on start and @@ -1550,9 +1558,9 @@ <title>Video related questions</title> <sect2 id="novideo"> - <title>I can hear the audio - but I don't see a picture!</title> + <title>I can hear the audio – but I don't see a picture!</title> <para> - Probably your hardware is simply too slow - see above for some + Probably your hardware is simply too slow – see above for some hints on how to speed things up. </para> <para> @@ -1706,12 +1714,45 @@ <para> Looks like some colours on your GUI match the colour key which Xv uses. You can change the colour key value to avoid this. There should be a line like: - <programlisting> video.XV_COLORKEY:2110</programlisting> + <programlisting> video.device.xv_colorkey:2110</programlisting> in your <filename>~/.xine/config</filename> file where you can change the colour that's used by xine for the video overlay. </para> </sect2> + <sect2 id="texturedvideo"> + <title>How do I get Xv working with compiz?</title> + <para> + Tell xine to prefer textured video. There should be a line like: + <programlisting> video.device.xv_preferred_method:Any</programlisting> + in your <filename>~/.xine/config</filename> file where you can change the preferred method + used by xine for the video overlay. + </para> + <para> + It may be that your graphics card or driver doesn't have the necessary + support for textured video, or the video is rendered too slowly. + </para> + <itemizedlist> + <listitem><para> + ATI: you are likely to need xf86-video-ati later than 6.8.0; 6.9.0.91 + or newer is recommended for slower/older hardware (< X1300) because + the rendering speed has been improved a lot. + </para></listitem> + <listitem><para> + Intel: 945 and later, at least, should be fine with xf86-video-intel + 2.0 or later. Certainly with 2.2 or later. + </para></listitem> + <listitem><para> + nVidia: will probably be fine. (FIXME) + </para></listitem> + </itemizedlist> + <para> + If you find that textured video is significantly slower or isn't + supported, you should either not use compiz or tell xine to use the + xshm video output driver. + </para> + </sect2> + <sect2 id="aspectratio"> <title>The aspect ratio of the video is wrong!</title> <para> @@ -1818,7 +1859,7 @@ </para> <para> Drivers that access hardware directly includes VIDIX (warning: requires - root priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox only). + root priviledges or kernel helper) and SyncFB (requires kernel helper – Matrox only). User may try one of those, but should be warned that with root access they can cause the system to crash hard. The support is also limited to a couple of graphics cards only. @@ -1967,7 +2008,7 @@ <para> The font for text subtitles is selected via config option <parameter>subtitles.separate.font</parameter>. You can specify xine font name - (<parameter>sans</parameter>, <parameter>serif</parameter>, ...) + (<parameter>sans</parameter>, <parameter>serif</parameter>, …) or file name of the TTF font. The directories <filename>$prefix/share/xine/libxine1/fonts</filename> and <filename>~/.xine/fonts</filename> are searched for the fonts, with @@ -2004,7 +2045,7 @@ </para> <para> Syntax is: - <screen> <command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]]</command></screen> + <screen> <command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 […]]]</command></screen> </para> <para> For example default font <filename>sans</filename> was generated with @@ -2101,9 +2142,9 @@ <title>"Unable to open dvd drive (/dev/dvd)"</title> <para> You probably don't have /dev/dvd (check that). If so, simply create a - link /dev/dvd that points to your DVD device. Something like... + link /dev/dvd that points to your DVD device. Something like… <screen> <command>ln -s hdc /dev/dvd</command></screen> - ...should do the job. Also make sure you have read and write access on + … should do the job. Also make sure you have read and write access on the device the symlink points to. See the <link linkend="dvdplayback">dvd playback section</link> for more information. @@ -2155,7 +2196,7 @@ standby" or just kill it. Then xine will use OSS audio output. The other method is to make xine use ESD for audio output with: <screen> <command>gxine -A esd</command></screen> - This may result in worse playback - exact syncronization is not possible + This may result in worse playback – exact syncronization is not possible with esd, so using oss should be preferred. </para> <para> @@ -2169,7 +2210,7 @@ your aRts control. (recommended) </para> <para> - Newer versions of arts have an auto-suspend mode - this can lead to + Newer versions of arts have an auto-suspend mode – this can lead to some nondeterministic behaviour of xine if it is set up to use the audio device directly. Using arts is recommended in that case; however, you will lose the ability to do four/five channel audio output. @@ -2208,7 +2249,7 @@ </sect2> <sect2 id="xinecrashed"> - <title>xine just crashed on me - i didn't get any error message</title> + <title>xine just crashed on me – i didn't get any error message</title> <para> OK, yes, that shouldn't happen and you're upset. We can understand that. But, to help you and of course to fix this, we need some information. @@ -2262,7 +2303,7 @@ If you write to the <ulink url="http://bugs.xine-project.org/">xine bug tracker</ulink> make sure you include a the above information (when applicable) and also some information about your machine (operating system, cpu type and - speed, gfx card, sound card, ...) and please use a meaningfull subject + speed, gfx card, sound card, …) and please use a meaningfull subject line ("xine bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode" ist much better). </para> diff --git a/doc/hackersguide/internals.sgml b/doc/hackersguide/internals.sgml index 9bd1ec684..8ffef06cd 100644 --- a/doc/hackersguide/internals.sgml +++ b/doc/hackersguide/internals.sgml @@ -64,7 +64,7 @@ <para> support for multiple plugin directories (<filename>$prefix/lib/xine/plugins</filename>, - <filename>$HOME/.xine/plugins</filename>, ...) + <filename>$HOME/.xine/plugins</filename>, …) </para> </listitem> <listitem> @@ -124,7 +124,7 @@ demux_mpeg_block.so decode_mpeg.so video_out_xv.so - ... + … xine-vcdnav-0.9.11 input_vcdnav.so xine-lib-1.2 @@ -135,21 +135,21 @@ demuxers fli.so avi.so - ... + … decoders ffmpeg.so mpeg.so (may contain mpeg 1/2 audio and video decoders) pcm.so - ... + … output video_xv.so audio_oss.so - ... + … xine-lib-3.0 avi.so (avi demuxer) mpeg.so (contains mpeg demuxers and audio/video decoders) video_out_xv.so (Xv video out) - ...</screen> + …</screen> </para> <para> As you can see, every package is free to organize plugins at will @@ -244,12 +244,12 @@ 13, found in xine-lib 2.13.7 would then define this plugin list: <programlisting> #include <xine/plugin.h> - ... + … plugin_t *init_api12(void) { input_plugin_t *this; this = malloc(sizeof(input_plugin_t)); - ... + … return (plugin_t *)this; } /* same thing, with different initialization for API 13 */ @@ -380,7 +380,7 @@ <para> Another problem xine must handle is the sound card clock drift. vpts are compared to the system clock (or even to a different clock provided by a scr plugin) - for presentation but sound card is sampling audio by it's own clocking + for presentation but sound card is sampling audio by its own clocking mechanism, so a small drift may occur. As the playback goes on this error will accumulate possibly resulting in audio gaps or audio drops. To avoid that annoying effect, two countermeasures are available (switchable with xine config @@ -396,7 +396,7 @@ * smoothing algorithms to correct sound card clock drifts. * obs: previously this error was added to xine scr. * - * audio buf ---> metronom --> audio fifo --> (buf->vpts - hw_vpts) + * audio buf ---> metronom --> audio fifo --> (buf->vpts - hw_vpts) * (vpts_offset + error) gap * <---------- control --------------| * @@ -448,7 +448,7 @@ In order to optimize to the most common case, xine's internal format for screen overlays is a similar representation to the 'spu' data. This brings not only performance benefit (since blending functions may skip large image areas due to RLE) but also - compatibility: it's possible to reencode any xine overlay to the original spu format + compatibility: it's possible to re-encode any xine overlay to the original spu format for displaying with mpeg hardware decoders like DXR3. </para> <para> @@ -486,38 +486,38 @@ <programlisting> video_overlay_event_t event; - event.object.handle = this->video_overlay->get_handle(this->video_overlay,0); + event.object.handle = this->video_overlay->get_handle(this->video_overlay,0); - memset(this->event.object.overlay, 0, sizeof(*this->event.object.overlay)); + memset(this->event.object.overlay, 0, sizeof(*this->event.object.overlay)); /* set position and size for this overlay */ - event.object.overlay->x = 0; - event.object.overlay->y = 0; - event.object.overlay->width = 100; - event.object.overlay->height = 100; + event.object.overlay->x = 0; + event.object.overlay->y = 0; + event.object.overlay->width = 100; + event.object.overlay->height = 100; /* clipping region is mostly used by dvd menus for highlighting buttons */ - event.object.overlay->clip_top = 0; - event.object.overlay->clip_bottom = image_height; - event.object.overlay->clip_left = 0; - event.object.overlay->clip_right = image_width; + event.object.overlay->clip_top = 0; + event.object.overlay->clip_bottom = image_height; + event.object.overlay->clip_left = 0; + event.object.overlay->clip_right = image_width; /* the hard part: provide a RLE image */ - event.object.overlay->rle = your_rle; - event.object.overlay->data_size = your_size; - event.object.overlay->num_rle = your_rle_count; + event.object.overlay->rle = your_rle; + event.object.overlay->data_size = your_size; + event.object.overlay->num_rle = your_rle_count; /* palette must contain YUV values for each color index */ - memcpy(event.object.overlay->clip_color, color, sizeof(color)); + memcpy(event.object.overlay->clip_color, color, sizeof(color)); /* this table contains transparency levels for each color index. 0 = completely transparent, 15 - completely opaque */ - memcpy(event.object.overlay->clip_trans, trans, sizeof(trans)); + memcpy(event.object.overlay->clip_trans, trans, sizeof(trans)); /* set the event type and time for displaying */ event.event_type = EVENT_SHOW_SPU; event.vpts = 0; /* zero is a special vpts value, it means 'now' */ - video_overlay->add_event(video_overlay, &event);</programlisting> + video_overlay->add_event(video_overlay, &event);</programlisting> </para> </sect2> <sect2> @@ -535,7 +535,7 @@ <programlisting> osd_object_t osd; - osd = this->osd_renderer->new_object(osd_renderer, 300, 200);</programlisting> + osd = this->osd_renderer->new_object(osd_renderer, 300, 200);</programlisting> <para> Now we may want to set font and color for text rendering. Although we will refer to fonts over this document, in fact the OSD can be any kind of bitmap. Font @@ -547,22 +547,22 @@ </para> <programlisting> /* set sans serif 24 font */ - osd_renderer->set_font(osd, "sans", 24); + osd_renderer->set_font(osd, "sans", 24); /* copy pre-defined colors for white, black border, transparent background to starting at the index used by the first text palette */ - osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1); + osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1); /* copy pre-defined colors for white, no border, translucid background to starting at the index used by the second text palette */ - osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting> + osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting> <para> Now render the text and show it: <programlisting> - osd_renderer->render_text(osd, 0, 0, "white text, black border", OSD_TEXT1); - osd_renderer->render_text(osd, 0, 30, "white text, no border", OSD_TEXT2); + osd_renderer->render_text(osd, 0, 0, "white text, black border", OSD_TEXT1); + osd_renderer->render_text(osd, 0, 30, "white text, no border", OSD_TEXT2); - osd_renderer->show(osd, 0); /* 0 stands for 'now' */</programlisting> + osd_renderer->show(osd, 0); /* 0 stands for 'now' */</programlisting> </para> <para> There's a 1:1 mapping between OSD objects and overlays, therefore the @@ -572,11 +572,11 @@ </para> <programlisting> for( i=0; i < 100; i+=10 ) { - osd_renderer->set_position(osd, i, i ); - osd_renderer->show(osd, 0); + osd_renderer->set_position(osd, i, i ); + osd_renderer->show(osd, 0); sleep(1); } - osd_renderer->hide(osd, 0);</programlisting> + osd_renderer->hide(osd, 0);</programlisting> <para> For additional functions please check osd.h or the public header. </para> @@ -618,13 +618,13 @@ </para> <programlisting> /* obtains size the text will occupy */ - renderer->get_text_size(osd, text, &width, &height); + renderer->get_text_size(osd, text, &width, &height); /* draws a box using font background color (translucid) */ - renderer->filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1); + renderer->filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1); /* render text */ - renderer->render_text(osd, x1, y1, text, OSD_TEXT2);</programlisting> + renderer->render_text(osd, x1, y1, text, OSD_TEXT2);</programlisting> </sect3> <sect3> <title>OSD text and palette FAQ</title> diff --git a/doc/hackersguide/intro.sgml b/doc/hackersguide/intro.sgml index c7dce6254..4e96d2de1 100644 --- a/doc/hackersguide/intro.sgml +++ b/doc/hackersguide/intro.sgml @@ -6,7 +6,7 @@ <para> You are currently looking at a piece of documentation for xine. xine is a free video player. It lives on - <ulink url="http://xinehq.de/">http://xinehq.de/</ulink>. Specifically + <ulink url="http://www.xine-project.org/">http://www.xine-project.org/</ulink>. Specifically this document goes under the moniker of the "xine Hackers' Guide". </para> </sect1> @@ -36,7 +36,7 @@ </para> <para> New versions of this document can also be obtained from the xine web site: - <ulink url="http://xinehq.de/">http://xinehq.de/</ulink>. + <ulink url="http://www.xine-project.org/">http://www.xine-project.org/</ulink>. </para> </sect1> diff --git a/doc/hackersguide/output.sgml b/doc/hackersguide/output.sgml index 806e89d0a..57781c05e 100644 --- a/doc/hackersguide/output.sgml +++ b/doc/hackersguide/output.sgml @@ -267,7 +267,7 @@ a deep copy of the frame, because the decoder might still use the frame as a reference frame for future decoding. The usual procedure is: <programlisting> - modified_frame = port->original_port->get_frame(port->original_port, ...); + modified_frame = port->original_port->get_frame(port->original_port, …); _x_post_frame_copy_down(frame, modified_frame); copy_and_modify(frame, modified_frame); skip = modified_frame->draw(modified_frame, stream); diff --git a/doc/hackersguide/overview.sgml b/doc/hackersguide/overview.sgml index d405ac18c..eb62e5bd3 100644 --- a/doc/hackersguide/overview.sgml +++ b/doc/hackersguide/overview.sgml @@ -460,7 +460,7 @@ <para> Contains various video output driver plugins. Video output drivers are thin abstraction layers over various video output platforms - (e.g. X11, directfb, directX,...). Video output driver plugins + (e.g. X11, directfb, directX, …). Video output driver plugins provide functions like frame allocation and drawing and handle stuff like hardware acceleration, scaling and colorspace conversion if necessary. They do not handle a/v sync since this is done @@ -497,7 +497,7 @@ <term><filename>xine-engine</filename></term> <listitem> <para> - The heart of xine - it's engine. Contains code to + The heart of xine – its engine. Contains code to load and handle all the plugins, the configuration repository as well as the generic decoding loops and code for synchronized output. A lot of helper functions for plugins to use live here as well. @@ -573,7 +573,7 @@ <programlisting> static void push (my_stack_t *this_gen, int i) { intstack_t *this = (intstack_t *)this_gen; - this->values[MAX_STACK_SIZE - ++this->stack_size] = i; + this->values[MAX_STACK_SIZE - ++this->stack_size] = i; }</programlisting> </para> <para> @@ -613,15 +613,15 @@ this = malloc(sizeof(intstack_t)); /* fill in methods */ - this->push = push; - this->add = add; - this->pop = pop; + this->push = push; + this->add = add; + this->pop = pop; /* init data fields */ - this->stack_size = 0; + this->stack_size = 0; /* return public part */ - return &this->stack; + return &this->stack; }</programlisting> </para> <sect2> @@ -686,7 +686,7 @@ <listitem> <para> use something like - <programlisting> printf("module: ..."[,...]);</programlisting> + <programlisting> printf("module: ..."[,…]);</programlisting> for console output. All console output goes to stdout and must be prefixed by the module name which generates the output (see example above). @@ -714,7 +714,7 @@ <para> Output which is done thru this function will be displayed for the end user by the frontend. - If <varname>xine->verbosity</varname> is not 0 the messages will also + If <varname>xine->verbosity</varname> is not 0 the messages will also be displayed on the console. Ideally these strings are translated. This function is for information which the user should @@ -727,7 +727,7 @@ <sect2> <title>xprintf</title> <para> - This macro uses the <varname>xine->verbosity</varname> value to decide + This macro uses the <varname>xine->verbosity</varname> value to decide if the string should be printed to the console. Possible values are XINE_VERBOSITY_NONE, XINE_VERBOSITY_LOG or XINE_VERBOSITY_DEBUG. By default nothing is printed. @@ -806,6 +806,32 @@ working on other parts of the code or are simply busy at the moment). </para> + <para> + We prefer to receive patches in a format which is immediately + committable. This normally means that we want your name and email address + (we're not keen on pseudonyms), a subject line which provides a + convenient summary of your changes, and body text which provides a longer + description (if needed). Patches must be generated using <command>hg + diff</command> or <command>cvs -z9 diff</command>, depending on which is + used for the repository, and always from within the top level of the + checked-out source. + </para> + <para> + If your patch is intended for a Mercurial-format repository, then + committing it locally and using + <command>hg export <parameter>.</parameter> ><filename>foo.patch</filename></command> + to create the file to be attached is acceptable (but note that the first + line – up to the first line feed – of the commit message is regarded as + the patch summary; if you're not sure, check with + <command>hg log -r<parameter>.</parameter></command>. + Alternatively, use <token>From:</token> and <token>Subject:</token> lines + in the patch file itself; this is useful when forwarding. + </para> + <para> + Patches should normally be included as attachments. Some mail clients and + webmail services are known to mangle whitespace or wrap lines, either of + which is enough to render a patch potentially useless. + </para> </sect1> </chapter> diff --git a/doc/hackersguide/stream.sgml b/doc/hackersguide/stream.sgml index d05bbba65..d9a5471bd 100644 --- a/doc/hackersguide/stream.sgml +++ b/doc/hackersguide/stream.sgml @@ -392,9 +392,9 @@ <programlisting> buf_element_t *buf; - buf = stream->video_fifo->buffer_pool_alloc(stream->video_fifo); - buf->type = BUF_CONTROL_START; - stream->video_fifo->put(stream->video_fifo, buf);</programlisting> + buf = stream->video_fifo->buffer_pool_alloc(stream->video_fifo); + buf->type = BUF_CONTROL_START; + stream->video_fifo->put(stream->video_fifo, buf);</programlisting> <para> Buffers must have set the <varname>type</varname> field as shown. All buffer types are defined in <filename>xine-engine/buffer.h</filename>. @@ -410,7 +410,7 @@ To help finding out buffer types for known codecs, functions from <filename>buffer_types.c</filename> may be used to convert "FOURCC" codes or audio format tags (as used in AVI files) to the xine byffer type: - <programlisting> buf->type = fourcc_to_buf_video((void*)this->avi->bih.biCompression);</programlisting> + <programlisting> buf->type = fourcc_to_buf_video((void*)this->avi->bih.biCompression);</programlisting> </para> </sect2> </sect1> @@ -620,7 +620,7 @@ video, subtitles do not form a continuous stream. The decoder will therefore only be called once in a while. The metronom call for timestamping, which for audio and video is done by the engine, has to be done manually for SPU: - <programlisting> vpts = metronom->got_spu_packet(metronom, buf->pts);</programlisting> + <programlisting> vpts = metronom->got_spu_packet(metronom, buf->pts);</programlisting> </para> <para> Another difference is that while both audio and video decoders are automatically diff --git a/doc/internal/HOWTO.release b/doc/internal/HOWTO.release index 2128ca391..38532aac0 100644 --- a/doc/internal/HOWTO.release +++ b/doc/internal/HOWTO.release @@ -127,15 +127,19 @@ hands. (also make sure it gets immediately approved by the xine-announce moderator!) -12) write the announcement for xinehq: - You need to login on xinehq and use your admin privileges to create a - news article in the "New Releases" section. Include a link to the - SourceForge Release notes/Changelog page and one to the download page. - - Warning: triple-check that you get the HTML correct! If you have - unmatched quotes, you might break the whole website so that it - can only be repaired by manually fiddling with mysql to get the - HTML right! +12) write the announcement for xine-project.org: + You need to have an account on alioth.debian.org and a checked-out copy + of ssh://hg.debian.org//hg/xine-lib/xine-project-www/ (using Mercurial). + Add the new news item near the top of pages/news/items.xml (use the + provided template), run update.sh (requires xsltproc; if this fails, + re-edit), check that it looks fine in a convenient browser, then commit + and push the change. At present, you will need to request a web site + update via #xine on irc.oftc.net or by contacting a site admin. + + You should include a link to the SourceForge Release notes/Changelog + page and one to the download page. + + Warning: triple-check that you get the XML correct! 13) write the Freshmeat announcement: use your freshmeat account to log into their website, if you aren't diff --git a/doc/man/en/Makefile.am b/doc/man/en/Makefile.am index 9fe87cc11..c8d616c35 100644 --- a/doc/man/en/Makefile.am +++ b/doc/man/en/Makefile.am @@ -10,4 +10,4 @@ DISTCLEANFILES = $(DYNAMICMANS) EXTRA_DIST = $(STATICMANS) xine-list.1.in xine-list-@XINE_SERIES@.1: xine-list.1.in - (echo '.ds xl xine\-list\-@XINE_SERIES@'; cat $<) >$@ + $(SED) -e 's/@XL@/xine\-list\-@XINE_SERIES@/' $< >$@ diff --git a/doc/man/en/xine-config.1 b/doc/man/en/xine-config.1 index 207dc2dea..3fe828166 100644 --- a/doc/man/en/xine-config.1 +++ b/doc/man/en/xine-config.1 @@ -21,7 +21,6 @@ Finally, it's also used internally by the .m4 macros for GNU autoconf that are included with \fIxine-lib\fP. . .SH OPTIONS -.l \fIxine\-config\fP accepts the following options: .TP 8 .B \-\-version diff --git a/doc/man/en/xine-list.1.in b/doc/man/en/xine-list.1.in index e159852c8..558b44df0 100644 --- a/doc/man/en/xine-list.1.in +++ b/doc/man/en/xine-list.1.in @@ -1,18 +1,17 @@ .TH XINE 1 2001-08-28 "The xine project" .SH NAME -\*(xl - get supported filetype information from xine-lib +@XL@ - get supported filetype information from xine-lib .SH SYNOPSIS -.B \*(xl +.B @XL@ [\fPoptions...\fI] .SH DESCRIPTION .PP -\fI\*(xl\fP is a tool that is used to list the MIME type and filename +\fI@XL@\fP is a tool that is used to list the MIME type and filename extension information known and supported by the installed \fIxine-lib\fP. It is of use in filling in MIME information in front ends' desktop files. . .SH OPTIONS -.l -\fIxine\-list\fP accepts the following options: +\fI@XL@\fP accepts the following options: .TP 8 .B \-m .B \-\-mime\-types diff --git a/doc/man/en/xine.5 b/doc/man/en/xine.5 index 895e3068a..195fb1596 100644 --- a/doc/man/en/xine.5 +++ b/doc/man/en/xine.5 @@ -32,60 +32,73 @@ to read from. Valid MRLs may be plain file names or one of the following .TP \(bu CD and DVD: .br -.BI dvd:/[<device_name>][/<title>.<part>] +.BI dvd:/[ device_name ][/ title [. part ]] .br -.BI dvd:/<DVD_image_file_or_directory>[/<title>.<part>] +.BI dvd:/ DVD_image_file [/ title [. part ]] .br -.BI vcd://[<CD_image>|<device_name>][@[letter]<number>] +.BI dvd:/ DVD_directory [/ title [. part ]] .br -.BI vcdo://<track_number> + (use the path of the directory which contains VIDEO_TS) .br -.BI cdda:/[<device>][/<track-number>] +.BI vcd://[ CD_image_or_device_name ][@[ letter ] number ] +.br +.BI vcdo:// track_number +.br +.BI cdda:/[ device ][/ track_number ] .LP .TP \(bu Video devices: .br -.BI v4l://[<tuner_device>/<frequency>] +.BI v4l://[ tuner_device / frequency ] +.br +.BI dvb:// channel_number .br -.BI dvb://<number_or_channel_name> + (nth channel in your channels.conf) .br -.BI dvbc://<channel_name>:<tuning_parameters> +.BI dvb:// channel_name .br -.BI dvbs://<channel_name>:<tuning_parameters> +.BI dvbc:// channel_name : tuning_parameters .br -.BI dvbt://<channel_name>:<tuning_parameters> +.BI dvbs:// channel_name : tuning_parameters .br -.BI dvba://<channel_name>:<tuning_parameters> +.BI dvbt:// channel_name : tuning_parameters .br -.BR pvr:/<tmp_files_path>!<saved_files_path>!<max_page_age> " (for WinTV PVR 250 and 350)" +.BI dvba:// channel_name : tuning_parameters +.br +.BI pvr:/ tmp_files_path ! saved_files_path ! max_page_age +.br + (for WinTV PVR 250 and 350) .LP .TP \(bu Network: .br -.BI http://<host>... +.BI http:// host... +.br +.BI tcp:// host [: port ] .br -.BR tcp://<host>[:<port>] " (default port is 7658)" +.BI udp:// host [: port [?iface= interface ]] .br -.BR udp://<host>[:<port>[?iface=<interface>]] " (default port is 7658)" +.BI rtp:// host [: port [?iface= interface ]] .br -.BR rtp://<host>[:<port>[?iface=<interface>]] " (default port is 7658)" + (default port for tcp, udp and rtp is 7658) .br .BI smb://... .br -.BI mms://<host>... +.BI mms:// host... .br -.BI pnm://<host>... +.BI pnm:// host... .br -.BR rtsp://<host>... " (requires Real codecs)" +.BI rtsp:// host... "\fR (requires Real codecs)" .br .LP Additional input plugins will provide additional MRL types. The ones listed above are available with stock libxine. \fBNOTE:\fP where a file name is required, the \fIfull path must be -provided\fP - from a shell, you can use \fB"$PWD/file"\fP or +provided\fP - from a shell, you can normally use \fB"$PWD/file"\fP or \fB"$(pwd)/file"\fP or \fB"\`pwd\`/file"\fP if the file is in the current -directory. (Which one depends on your shell; all three work in bash.) +directory. (Which one depends on your shell; all three work in bash. Also, +normal URL encoding rules apply; `%', in particular, must be encoded as `%25'.) As of xine-lib 1.1.3, the DVD title number may be 0 (select navigation) and the chapter number may be 0 (full title). @@ -333,8 +346,8 @@ stream. .br The programs are documented fully on the xine home page: -.UR http://xinehq.de/ -.IR "http://xinehq.de/" +.UR http://www.xine-project.org/ +.IR "http://www.xine-project.org/" .UE .SH AUTHOR This text was extracted from the xine man page by Darren Salt diff --git a/include/xine.h.in b/include/xine.h.in index 854474de3..01fd7fbc5 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -1791,6 +1791,7 @@ void xine_config_reset (xine_t *self) XINE_PROTECTED; #define XINE_EVENT_VDR_SELECTAUDIO 352 #define XINE_EVENT_VDR_TRICKSPEEDMODE 353 #define XINE_EVENT_VDR_PLUGINSTARTED 354 +#define XINE_EVENT_VDR_DISCONTINUITY 355 /* events generated from post plugins */ #define XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE 400 @@ -1919,7 +1920,7 @@ typedef struct { typedef struct { int alternative; /* alternative playlist number, usually 0 */ char mrl[1]; /* might (will) be longer */ -} xine_mrl_reference_data_t; +} xine_mrl_reference_data_t XINE_DEPRECATED; typedef struct { int alternative; /* as above */ diff --git a/m4/Makefile.am b/m4/Makefile.am index bcaa78a49..0149ed648 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -8,29 +8,4 @@ endif m4data_DATA = xine.m4 -EXTRA_DIST = glibc2.m4 intdiv0.m4 intmax.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 signed.m4 size_max.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 wchar_t.m4 wint_t.m4 xsize.m4 \ - aa.m4 \ - arts.m4 \ - attributes.m4 \ - codeset.m4 \ - directx.m4 \ - dl.m4 \ - dvdnav.m4 \ - gettext.m4 \ - glibc21.m4 \ - iconv.m4 \ - irixal.m4 \ - isc-posix.m4 \ - lcmessage.m4 \ - libFLAC.m4 \ - libfame.m4 \ - misc.m4 \ - opengl.m4 \ - optimizations.m4 \ - pkg.m4 \ - progtest.m4 \ - xine.m4 \ - _xine.m4 \ - xv.m4 \ - pthreads.m4 \ - gas.m4 +EXTRA_DIST = $(wildcard *.m4) diff --git a/m4/attributes.m4 b/m4/attributes.m4 index ed52ba6d7..4863b6bfe 100644 --- a/m4/attributes.m4 +++ b/m4/attributes.m4 @@ -109,7 +109,7 @@ AC_DEFUN([CC_NOUNDEFINED], [ dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads dnl are requested, as different implementations are present; to avoid problems dnl use -Wl,-z,defs only for those platform not behaving this way. - *-freebsd*) ;; + *-freebsd* | *-openbsd*) ;; *) dnl First of all check for the --no-undefined variant of GNU ld. This allows dnl for a much more readable commandline, so that people can understand what diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4 index b8d78176a..8c8a67084 100644 --- a/m4/intdiv0.m4 +++ b/m4/intdiv0.m4 @@ -1,5 +1,5 @@ -# intdiv0.m4 serial 1 (gettext-0.11.3) -dnl Copyright (C) 2002 Free Software Foundation, Inc. +# intdiv0.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,16 +14,27 @@ AC_DEFUN([gt_INTDIV0], AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ - AC_TRY_RUN([ + gt_cv_int_divbyzero_sigfpe= +changequote(,)dnl + case "$host_os" in + macos* | darwin[6-9]* | darwin[1-9][0-9]*) + # On MacOS X 10.2 or newer, just assume the same as when cross- + # compiling. If we were to perform the real test, 1 Crash Report + # dialog window would pop up. + case "$host_cpu" in + i[34567]86 | x86_64) + gt_cv_int_divbyzero_sigfpe="guessing yes" ;; + esac + ;; + esac +changequote([,])dnl + if test -z "$gt_cv_int_divbyzero_sigfpe"; then + AC_TRY_RUN([ #include <stdlib.h> #include <signal.h> static void -#ifdef __cplusplus sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); @@ -51,15 +62,18 @@ int main () exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, - [ - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i[34567]86 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac - ]) + [ + # Guess based on the CPU. +changequote(,)dnl + case "$host_cpu" in + alpha* | i[34567]86 | x86_64 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac +changequote([,])dnl + ]) + fi ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; diff --git a/m4/printf-posix.m4 b/m4/printf-posix.m4 index af10170af..14ba61283 100644 --- a/m4/printf-posix.m4 +++ b/m4/printf-posix.m4 @@ -1,5 +1,5 @@ -# printf-posix.m4 serial 2 (gettext-0.13.1) -dnl Copyright (C) 2003 Free Software Foundation, Inc. +# printf-posix.m4 serial 3 (gettext-0.17) +dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -28,7 +28,7 @@ int main () }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, [ AC_EGREP_CPP(notposix, [ -#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ +#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif ], gt_cv_func_printf_posix="guessing no", diff --git a/m4/pthreads.m4 b/m4/pthreads.m4 index d1d1c0a62..6cbed9255 100644 --- a/m4/pthreads.m4 +++ b/m4/pthreads.m4 @@ -18,6 +18,7 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ dnl if PTHREAD_* are not set, default to -pthread (GCC) if test "${PTHREAD_CFLAGS-unset}" = "unset"; then case $host in + *-mingw*) PTHREAD_CFLAGS="" ;; *-hpux11*) PTHREAD_CFLAGS="" ;; *-darwin*) PTHREAD_CFLAGS="" ;; *-solaris*|*-linux-gnu) @@ -29,6 +30,7 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ fi if test "${PTHREAD_LIBS-unset}" = "unset"; then case $host in + *-mingw*) PTHREAD_LIBS="-lpthreadGC2" ;; *-hpux11*) PTHREAD_LIBS="-lpthread" ;; *-darwin*) PTHREAD_LIBS="" ;; *-solaris*) diff --git a/m4/uintmax_t.m4 b/m4/uintmax_t.m4 index bf83ed746..641c4898d 100644 --- a/m4/uintmax_t.m4 +++ b/m4/uintmax_t.m4 @@ -1,5 +1,5 @@ -# uintmax_t.m4 serial 9 -dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. +# uintmax_t.m4 serial 10 +dnl Copyright (C) 1997-2004, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,8 +16,8 @@ AC_DEFUN([gl_AC_TYPE_UINTMAX_T], AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) - test $ac_cv_type_unsigned_long_long = yes \ + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + test $ac_cv_type_unsigned_long_long_int = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 index b8fff9c86..af5ed936c 100644 --- a/m4/wint_t.m4 +++ b/m4/wint_t.m4 @@ -1,5 +1,5 @@ -# wint_t.m4 serial 1 (gettext-0.12) -dnl Copyright (C) 2003 Free Software Foundation, Inc. +# wint_t.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,7 +11,15 @@ dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, - [AC_TRY_COMPILE([#include <wchar.h> + [AC_TRY_COMPILE([ +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before + <wchar.h>. + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included + before <wchar.h>. */ +#include <stddef.h> +#include <stdio.h> +#include <time.h> +#include <wchar.h> wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then diff --git a/misc/Makefile.am b/misc/Makefile.am index 1ab4097c5..7f7e8db7c 100644 --- a/misc/Makefile.am +++ b/misc/Makefile.am @@ -13,6 +13,7 @@ EXTRA_DIST = build_rpms.sh \ xine-lib.spec \ libxine.pc.in \ libdvdcss-1.2.6-network.patch \ + Makefile.plugins.in \ Makefile.common bin_SCRIPTS = xine-config diff --git a/misc/Makefile.plugins.in b/misc/Makefile.plugins.in new file mode 100644 index 000000000..adee79479 --- /dev/null +++ b/misc/Makefile.plugins.in @@ -0,0 +1 @@ +DESTDIR:=$(if $(DESTDIR),$(DESTDIR),@LIBTOOL_DESTDIR_DEFAULT@) diff --git a/misc/cdda_server.c b/misc/cdda_server.c index 553ec0a8a..0e2817db3 100644 --- a/misc/cdda_server.c +++ b/misc/cdda_server.c @@ -480,6 +480,12 @@ static int process_commands( int socket ) sscanf(cmd,"%*s %d %d", &start_frame, &num_frames); + if (num_frames > INT_MAX / CD_RAW_FRAME_SIZE) + { + printf ("fatal error: integer overflow\n"); + exit (1); + } + n = num_frames * CD_RAW_FRAME_SIZE; buf = malloc( n ); if( !buf ) @@ -556,6 +562,11 @@ static int process_commands( int socket ) char *buf; sscanf(cmd,"%*s %d %d", &blocks, &flags); + if (blocks > INT_MAX / DVD_BLOCK_SIZE) + { + printf ("fatal error: integer overflow\n"); + exit (1); + } n = blocks * DVD_BLOCK_SIZE; buf = malloc( n ); diff --git a/misc/fonts/Makefile.am b/misc/fonts/Makefile.am index ae22beefa..f5b131886 100644 --- a/misc/fonts/Makefile.am +++ b/misc/fonts/Makefile.am @@ -1,6 +1,6 @@ include $(top_srcdir)/misc/Makefile.common -fontdir = $(XINE_FONTPATH) +fontdir = $(XINE_FONTDIR) font_DATA = \ cetus-16.xinefont.gz \ cetus-20.xinefont.gz \ diff --git a/misc/xine-lib.spec.in b/misc/xine-lib.spec.in index 453ffa306..952c5e0d2 100644 --- a/misc/xine-lib.spec.in +++ b/misc/xine-lib.spec.in @@ -79,8 +79,8 @@ Version: %{version} Release: %{release} License: GPL Group: Development/Libraries -URL: http://xinehq.de -Source: http://xinehq.de/files/@PACKAGE@-@VERSION@.tar.bz2 +URL: http://www.xine-project.org +Source: http://prdownloads.sourceforge.net/xine/@PACKAGE@-@VERSION@.tar.bz2 Packager: Manfred Tremmel <Manfred.Tremmel@iiv.de> Obsoletes: xine Obsoletes: xine-lib diff --git a/po/LINGUAS b/po/LINGUAS index 87a156243..d6f194aea 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,5 +1,7 @@ cs de +# en_GB not needed +en_US eo es eu diff --git a/po/Makefile.format b/po/Makefile.format deleted file mode 100644 index dfbdf1ec1..000000000 --- a/po/Makefile.format +++ /dev/null @@ -1,21 +0,0 @@ -# Source: -# grep 'attribute.*format.*printf' src include -rI -B3 -C3 - -# Internal usage -XGETTEXT_FORMAT_FLAGS_PRIVATE = \ - --flag=xine_log_msg:1:c-format \ - --flag=xine_log_err:1:c-format \ - --flag=set_hc_result:3:c-format \ - --flag=log_printf:1:c-format \ - --flag=error_message:1:c-format \ - --flag=error_callback:5:c-format \ - --flag=dbgprintf:1:c-format \ - --flag=dbg_printf:1:c-format \ - --flag=sock_string_write:3:c-format \ - --flag=broadcaster_string_write:3:c-format \ - --flag=scratch_printf:3:c-format - -# External usage (installed include files) -XGETTEXT_FORMAT_FLAGS = \ - --flag=xine_log:3:c-format \ - --flag=xine_vlog:3:c-format diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 5022b8b18..fecf500f3 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,5 +1,5 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu> +# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu> # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public @@ -8,7 +8,8 @@ # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # -# Origin: gettext-0.16 +# Origin: gettext-0.17 +GETTEXT_MACRO_VERSION = 0.17 PACKAGE = @PACKAGE@ VERSION = @VERSION@ @@ -95,11 +96,18 @@ CATALOGS = @CATALOGS@ mv t-$@ $@ -all: all-@USE_NLS@ +all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: +# Ensure that the gettext macros and this Makefile.in.in are in sync. +check-macro-version: + @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ + || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ + exit 1; \ + } + # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that @@ -130,16 +138,34 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed + if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ + else \ + package_gnu=''; \ + fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" + case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + *) \ + $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ + --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ + --files-from=$(srcdir)/POTFILES.in \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$${package_gnu}@PACKAGE@" \ + --package-version='@VERSION@' \ + --msgid-bugs-address="$$msgid_bugs_address" \ + ;; \ + esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ diff --git a/po/Makevars b/po/Makevars index 6c59427c9..25b1c7332 100644 --- a/po/Makevars +++ b/po/Makevars @@ -15,6 +15,8 @@ top_builddir = .. XGETTEXT_FORMAT_FLAGS_PRIVATE = \ --flag=xine_log_msg:1:c-format \ --flag=xine_log_err:1:c-format \ + --flag=xprintf:3:c-format \ + --flag=xine_printf:3:c-format \ --flag=set_hc_result:3:c-format \ --flag=log_printf:1:c-format \ --flag=error_message:1:c-format \ @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 1.0.1\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-08 20:10+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2008-11-10 16:33+0200\n" "Last-Translator: František Dvořák <valtri@civ.zcu.cz>\n" "Language-Team: Czech <cs@li.org>\n" @@ -55,6 +55,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() na %s selhalo: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> zkontrolujte, jestli už jiný program nepoužívá PCM <<<\n" @@ -328,187 +329,188 @@ msgstr "modul zvukového výstupu xine použije artsd" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "modul zvukového výstupu xine pro Coreaudio/Mac OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Chyba" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "úspěch" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "přístup odepřen" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "zdroj je již používán" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "objekt již byl inicializován" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "uvedený wave formát není podporován" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "paměťový buffer byl ztracen a musí být obnoven" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "požadované řízení bufferu není k dispozici" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "neurčená chyba uvnitř subsystému DirectSound" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "hardwarové zařízení DirectSound není k dispozici" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "pro stávající stav objektu není funkce platná" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "byl předán neplatný parametr" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "objekt nepodporuje agregaci" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "není k dispozici žádný zvukový ovladač k použití" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "požadované COM rozhraní není k dispozici" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "jiná aplikace má vyšší úroveň priority" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "nedostatek paměti" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "pro tuto funkci nízká úroveň priority" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound nebyl inicializován" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "funkce není podporována" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "neznámá chyba" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Nepodařilo se vytvořit objekt direct sound." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "Nelze nastavit kooperativní úroveň direct sound." -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Nepodařilo se vytvořit sekundární buffer direct sound" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Nelze přehrát zvukový buffer" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Nelze zastavit zvukový buffer" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Nelze získat pozici bufferu" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Nelze nastavit pozici bufferu" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Nelze nastavit hlasitost zvuku" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": buffer ztracen, zkusí se obnovit\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Nešlo zamknou buffer direct sound" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Nešlo odemknout buffer direct sound" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Nepodařilo se vytvořit primární buffer direct sound." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" -msgstr ": kurzor přehrávání se předběhl (data %u, min %u), resetování bufferů\n" +msgstr "" +": kurzor přehrávání se předběhl (data %u, min %u), resetování bufferů\n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": nelze vytvořit pthread condition: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": nelze vytvořit pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": nelze vytvořit vlákno bufferu: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": nelze zlikvidovat vlákno bufferu: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": nelze zlikvidovat pthread condition: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": nelze zlikvidovat pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": neznámý řídicí příkaz: %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "druhý modul zvukového výstupu xine používající DirectX" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "modul zvukového výstupu xine pro win32 používající directx" @@ -518,6 +520,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: připojuje se k serveru ESD %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: připojuje se k serveru ESD...\n" @@ -575,7 +578,9 @@ msgstr "jméno zvukového zařízení JACK" msgid "" "Specifies the jack audio device name, leave blank for the default physical " "output port." -msgstr "Specifikuje jméno zvukového zařízení jack, na výchozí fyzické ponechte prázdné" +msgstr "" +"Specifikuje jméno zvukového zařízení jack, na výchozí fyzické ponechte " +"prázdné" #: src/audio_out/audio_jack_out.c:921 msgid "xine output plugin for JACK Audio Connection Kit" @@ -640,11 +645,13 @@ msgstr "" "jméno zvukového zařízení nastaveno na \"auto\"." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" "audio_oss_out: audio.device.oss_device_name = auto, zkouší se zařízení\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: automatická zkouška zvukového zařízení selhala\n" @@ -727,6 +734,7 @@ msgstr "" "dlouhém přehrávání špatná synchronizace" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -846,11 +854,13 @@ msgstr "ffmpeg_audio_dec: zvětšení bufferu na %d, aby se předešlo přeteče msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_audio_dec: nelze nalézt dekodér ffmpeg pro buffer typu 0x%X\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: pokus o otevření kodeku null\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: nelze otevřít dekodér\n" @@ -859,37 +869,41 @@ msgstr "ffmpeg_audio_dec: nelze otevřít dekodér\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: zvětšení bufferu na %d, aby se předešlo přetečení.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: nepodporovaný formát, DR1 zakázáno.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "ffmpeg_video_dec: nepodporované rozměry snímku, DR1 zakázáno.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_video_dec: nelze nalézt dekodér ffmpeg pro buffer typu 0x%X\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: nelze otevřít dekodér\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: přímé renderování povoleno\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: zvětšení bufferu na %d, aby se předešlo přetečení.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1634 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "kvalita dodatečného zpracování MPEG-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1635 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -904,11 +918,11 @@ msgstr "" "Pro vysokou kvalitu videa může příliš silné dodatečné zpracování způsobit " "horší obraz tím, že ho více rozmaže." -#: src/combined/ffmpeg/ff_video_decoder.c:1643 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "Počet vláken na dekódování videa FFmpegem" -#: src/combined/ffmpeg/ff_video_decoder.c:1644 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -916,13 +930,17 @@ msgid "" "decoding thread per logical CPU (typically 1 to 4).\n" "A change of this setting will take effect with playing the next stream." msgstr "" -"Můžete upravit počet vláken dekódující video, které má FFmpeg používat.\nVyšší hodnoty by měly urychlit dekódování, ale záleží také na tom, jestli daný kodek podporuje paralelní dekódování. Zpravidla je dobré mít jedno dekódovací vlákno na jeden logický procesor (typicky od 1 do 4).\nZměna tohoto nastavení se projeví při přehrávání následujícího videa." +"Můžete upravit počet vláken dekódující video, které má FFmpeg používat.\n" +"Vyšší hodnoty by měly urychlit dekódování, ale záleží také na tom, jestli " +"daný kodek podporuje paralelní dekódování. Zpravidla je dobré mít jedno " +"dekódovací vlákno na jeden logický procesor (typicky od 1 do 4).\n" +"Změna tohoto nastavení se projeví při přehrávání následujícího videa." -#: src/combined/ffmpeg/ff_video_decoder.c:1653 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "Přeskakování filtru ve smyčce" -#: src/combined/ffmpeg/ff_video_decoder.c:1654 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -931,17 +949,19 @@ msgid "" "The default value leaves the decision up to the implementation.\n" "A change of this setting will take effect with playing the next stream." msgstr "" -"Můžete řídit, pro které snímky by měl být po dekódování přeskočen filtr ve smyčce.\n" -"Přeskakování filtru ve smyčce urychlí dekódování, ale může vést k artefaktům. Počet přeskočených snímků je od 'none' (žádné) po 'all' (všechny)." -"Výchozí hodnota ponechává rozhodnutí na implementaci.\n" +"Můžete řídit, pro které snímky by měl být po dekódování přeskočen filtr ve " +"smyčce.\n" +"Přeskakování filtru ve smyčce urychlí dekódování, ale může vést k " +"artefaktům. Počet přeskočených snímků je od 'none' (žádné) po " +"'all' (všechny).Výchozí hodnota ponechává rozhodnutí na implementaci.\n" "Změna tohoto nastavení se projeví při přehrávání následujícího videa." -#: src/combined/ffmpeg/ff_video_decoder.c:1663 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "Upřednostnit rychlost před vyhověním specifikacím" # "zneuctívají specifikace kodeku" ;-) -#: src/combined/ffmpeg/ff_video_decoder.c:1664 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1052,6 +1072,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "nepodporovaná verze FLV (%d).\n" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "v tomto souboru žádné video ani zvuk\n" @@ -1076,6 +1097,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: neznámý datový blok: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: snímek příliš velký do bufferu" @@ -1089,6 +1111,7 @@ msgstr "" "vývojářům xine.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1109,7 +1132,7 @@ msgstr "" "demux_mpeg_block: varování: hlavička PES indikuje, že tyto data mohou být " "zašifrována (šifrovací mód: %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1118,18 +1141,18 @@ msgstr "" "xine-lib:demux_mpeg_pes: Nerozpoznané stream_id 0x%02x. Prosím oznamte to " "vývojářům xine.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "demux_mpeg_pes: varování: selhalo dekódování sekvence PACK id=0x%x.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: varování: 10 rezervovaných bitů hlavičky PES nenalezeno\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1138,7 +1161,7 @@ msgstr "" "demux_mpeg_pes: varování: hlavička PES indikuje, že tyto data mohou být " "zašifrována (šifrovací mód: %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1165,6 +1188,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: nepodporovaný typ zvuku: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "demux_tta: celkový počet snímků příliš velký\n" @@ -1208,6 +1232,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Selhalo otevření zařízení titulků %s (%s)\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "požadované tlačítko není k dispozici\n" @@ -1296,6 +1321,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Selhalo otevření video zařízení %s (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: zápis do zařízení by blokoval. okamžité zapsání\n" @@ -1310,16 +1336,19 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: VAROVÁNÍ: neznámý kód rychlosti snímků %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" "dxr3_decode_video: VAROVÁNÍ: oprava kódu rychlosti snímků z PAL na NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: selhala inicializace librte\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1327,10 +1356,12 @@ msgstr "" "dxr3_mpeg_encoder: rte pracuje pouze s rozměry videa, které jsou násobky 16\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: selhalo získání kontextu rte.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: nešlo vytvořit kodek.\n" @@ -1357,6 +1388,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: nelze začít s kódováním: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: Nešlo spustit knihovnu FAME\n" @@ -1461,18 +1493,22 @@ msgstr "" "takže tyto by nemusely fungovat." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "video_out_dxr3: Selhala inicializace Mpeg kodéru.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: Selhala inicializace Mpeg kodéru rte.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: Selhala inicializace Mpeg kodéru fame.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1489,6 +1525,7 @@ msgstr "" "video_out_dxr3: viz README.dxr3.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1612,6 +1649,7 @@ msgstr "" "povolte, pokud vidíte nahoře a dole zelené řádky." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: spusťte prosím autocal, překrývání zakázáno\n" @@ -1636,10 +1674,12 @@ msgstr "" "default: zachovat nastavení karty" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: selhalo nastavení režimu videa.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1648,6 +1688,7 @@ msgstr "" "video_out_dxr3: Detaily viz README.dxr3.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: CHYBA čtení souboru inicializace překrývání. Spusťte " @@ -1773,56 +1814,61 @@ msgstr "input_dvb: selhalo otevření souboru kanálu dvb '%s': %s\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: soubor kanálu dvb '%s' není běžný soubor\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: selhalo nastavení kanálu\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "input_dvb: DVB rozhraní %s\n" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: nelze otevřít zařízení dvb\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: kanál %d mimo rozsah, použije se výchozí 0\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: hledání kanálu %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "input_dvb: přesná shoda pro %s nenalezena: zkusí se částečné shody\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: nalezen odpovídající kanál %s\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "input_dvb: kanál %s nenalezen v channels.conf, použije se výchozí.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" "input_dvb: neplatná specifikace kanálu, použije se naposledy sledovaný\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "input_dvb: neplatná specifikace kanálu, použije se výchozí kanál 0\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1830,7 +1876,8 @@ msgstr "" "input_dvb: bylo uvedeno MRL DVBS, ale nezdá se, že by tuner byl QPSK (DVB-" "S)\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1838,34 +1885,38 @@ msgstr "" "input_dvb: bylo uvedeno MRL DVBT, ale nezdá se, že by byl tuner OFDM (DVB-" "T)\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" "input_dvb: bylo uvedeno MRL DVBC, ale nezdá se, že by byl tuner QAM (DVB-C)\n" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -"input_dvb: bylo uvedeno MRL DVBA, ale nezdá se, že by byl tuner ATSC (DVB-A)\n" +"input_dvb: bylo uvedeno MRL DVBA, ale nezdá se, že by byl tuner ATSC (DVB-" +"A)\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: nelze otevřít zařízení dvr '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: nelze vytvořit vlákno na aktualizace EPG\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "použít 'středový výsek' DVB (zvětšení)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1873,15 +1924,15 @@ msgstr "" "Toto dovolí přehrát obsah 4:3 na celé obrazovce, který byl přenášen ve " "formátu 16:9." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "vstupní modul DVB (digitální TV)" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Pamatovat si naposledy sledovaný kanál DVB" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " @@ -1889,56 +1940,59 @@ msgstr "" "Při automatickém přehrávání xine přepne na poslední kanál uvedený v media." "dvb.last_channel." -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Naposledy sledovaný kanál DVB" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" "Pokud je povoleno, xine si bude pamatovat tento kanál a bude se na něj " "automaticky přepínat." -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "Počet sekund, než nechat ukončit ladění." -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -"Ponechání na 0 znamená zkoušet bez přestání. Více než 0 znamená čekat na získání zámku uvedený počet sekund. Minimum je 5 sekund." +"Ponechání na 0 znamená zkoušet bez přestání. Více než 0 znamená čekat na " +"získání zámku uvedený počet sekund. Minimum je 5 sekund." -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Počet karet DVB, které se mají použít." -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" "Nechte to na nule, pokud opravdu nechcete ve vašem systému více než jednu " "kartu." -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "Povolit rozhraní DVB" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "Povolí rozhraní DVB - nahrávání a přepínání kanálů řízené myší." -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "Konfigurační soubor kanálů DVB" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." -msgstr "Konfigurační soubor kanálů DVB, který použít, místo ~/.xine/channels.conf." +msgstr "" +"Konfigurační soubor kanálů DVB, který použít, místo ~/.xine/channels.conf." #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" "input_dvd: values of \\beta will give rise to dom! (pět korun za překlad)\n" @@ -1948,15 +2002,16 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Chyba získání bloku z DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: chyba otevírání zařízení DVD\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "zařízení použité pro přehrávání DVD" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -1964,11 +2019,11 @@ msgstr "" "Cesta k zařízení, obvykle DVD mechanice, které chcete používat pro " "přehrávání DVD." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "cesta k raw zařízení nastavenému pro přístup k DVD" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1986,11 +2041,11 @@ msgstr "" "použita pouze jednou.\n" "Další informace viz dokumentace o raw zařízeních (man raw)." -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "metoda dešifrování CSS" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -2000,11 +2055,11 @@ msgstr "" "chráněních proti kopírování. Pokud máte problémy s přehráváním zakódovaných " "DVD, vyzkoušejte různé metody." -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "cesta ke cache klíčů titulů" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -2018,11 +2073,11 @@ msgstr "" "tomto adresáři vytvářeny soubory s nekontrolovatelnými jmény. Ujistěte se, " "že daný adresář není kromě cachování DVD klíčů používán na nic jiného." -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "DVD přehrávač tvrdí, že je v oblasti (1 až 8)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -2032,11 +2087,11 @@ msgstr "" "na špatný kód oblasti. Nemá to nic dělat s kódem oblasti nastaveným v DVD " "mechanikách, je to čistě softwarové." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "výchozí jazyk pro přehrávání DVD" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -2046,11 +2101,11 @@ msgstr "" "bude podporovat, volby a zvukové stopy budou prezentovány v tomto jazyce.\n" "Hodnotou musí být dva znaky jazykového kódu ISO639." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "read-ahead cachování" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " @@ -2060,11 +2115,11 @@ msgstr "" "To může vést na pomalých mechanikách ke škubavému přehrávání, ale na " "rychlejších mechanikách to zlepší výsledek změny vrstvy DVD." -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "jednotka pro akci skoku" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2096,11 +2151,11 @@ msgstr "" "skip title\n" "přeskočí DVD titul, což je stavební jednotka reprezentující celé DVD" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "jednotka pro nastavení pozice" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2124,11 +2179,11 @@ msgstr "" "nastavování pozice se týká programu DVD, což je navigační jednotka " "reprezentující kapitolu současného dějství" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "režim přehrávání, když je zadán titul nebo kapitola" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2148,43 +2203,43 @@ msgstr "" "one chapter\n" "přehrát pouze uvedený titul nebo kapitolu a zastavit" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: chyba čtení (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Přístup odepřen: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Soubor nenalezen >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Soubor prázdný: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "modul pro vstup ze souboru" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "počáteční umístění při procházení souborů" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "Prohlížeč vybírající soubor k přehrání začne na tomto umístění." -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "ukazovat skryté soubory" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -2192,7 +2247,7 @@ msgstr "" "Pokud je povoleno, bude prohlížeč vybírající soubor k přehrání ukazovat také " "skryté soubory." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "vstupní modul gnome-vfs dodaný se xine" @@ -2201,82 +2256,82 @@ msgstr "vstupní modul gnome-vfs dodaný se xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: selhalo gethostbyname(%s): %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: chyba čtení %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Připojuje se k HTTP serveru..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: neplatná odpověď http\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: přesměrování 3xx: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: stav http není 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: délka obsahu = %<PRIdMAX> bytů\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: buffer vyčerpán po %d bytech" -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "vstupní modul http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "HTTP proxy host" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "Hostitelské jméno HTTP proxy." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "HTTP proxy port" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "Číslo portu HTTP proxy." -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "Uživatelské jméno HTTP proxy" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "Uživatelské jméno pro HTTP proxy." -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "Heslo HTTP proxy" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "Heslo pro HTTP proxy." -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "Domény, pro které ignorovat HTTP proxy" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2287,15 +2342,15 @@ msgstr "" "Pokud bude doménové jméno začínat na '=', pak bude zpracováno pouze jako " "hostitelské jméno (bude vyžadována rovnost celého jména)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "vstupní modul mms pro streamovaná data" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "šířka pásma sítě" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2305,11 +2360,11 @@ msgstr "" "případě, že streamovací servery poskytnou různé verze stejných dat s " "rozdílnými požadavky na šířku pásma." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "protokol MMS" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2337,51 +2392,53 @@ msgstr "input_net: nelze zjistit adresu '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: nelze se připojit k '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "vstupní modul pro síť dodaný se xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "vstupní modul pnm pro streamovaná data" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: chyba vytváření souboru pvr (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: chyba otevírání souboru pvr (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: chyba čtení (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: chyba otevírání zařízení %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: selhalo IVTV_IOC_G_CODEC, možná se změnilo API?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: selhalo IVTV_IOC_S_CODEC, možná se změnilo API?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "Vstupní modul WinTV-PVR 250/350" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "zařízení použité pro WinTV-PVR 250/350 (modul pvr)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "Cesta k zařízení vaší karty WinTV." @@ -2434,111 +2491,114 @@ msgstr "nelze se připojit k '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: ukončuje se čtecí vlákno...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: čtecí vlákno ukončeno\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Otevírání >soubor:%s port:%d rozhraní:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: nelze vytvořit nové vlákno (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "vstupní modul pro RTP a UDP dodaný se xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "vstupní modul rtsp pro streamovaná data" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "Vstupní modul CIFS/SMB založený na libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: nelze se posunout zpět! (%<PRIdMAX> < %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: selhalo otevření '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "vstupní modul pro data ze standardního vstupu" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Buffer podtekl..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Buffer přetekl..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Přizpůsobuje se..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Jméno tuneru nenalezeno\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "vstupní modul v4l tv" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "vstupní modul v4l rádio" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "zařízení videa v4l" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Cesta k vašemu zařízení videa Video4Linux." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 msgid "v4l ALSA audio input device" msgstr "vstupní zvukové zařízení v4l ALSA" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Název zvukového zařízení, které koresponduje s vaším Video4Linux." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "TV standard v4l" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " -msgstr "Vybírá televizní standard vstupního signálu. Buď AUTO, PAL, NTSC nebo SECAM." +msgstr "" +"Vybírá televizní standard vstupního signálu. Buď AUTO, PAL, NTSC nebo SECAM." -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "zařízení rádia v4l" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Cesta k vašemu zařízení rádia Video4Linux." #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: Neplatné MRL. Použijte vcdo:/<stopa #>\n" @@ -2551,21 +2611,21 @@ msgstr "input_vcd: neplatná stopa %d (platný rozsah: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Vstupní modul pro video CD" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "nelze otevřít %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: nelze otevřít %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "zařízení použité pro přehrávání VCD" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2589,14 +2649,18 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: nelze se připojit k serveru %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: nelze zavést relaci.\n" #: src/input/librtsp/rtsp_session.c:153 +#, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" -msgstr "rtsp_session: rtsp server vrátil příliš velké hlavičky, nemůže být zřízeno sezení.\n" +msgstr "" +"rtsp_session: rtsp server vrátil příliš velké hlavičky, nemůže být zřízeno " +"sezení.\n" #: src/input/librtsp/rtsp_session.c:164 #, c-format @@ -2613,6 +2677,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Připojuje se k MMS serveru (přes TCP)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: chyba při posílání\n" @@ -2669,6 +2734,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: nelze se připojit k '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: selhalo nastavení proudu dat\n" @@ -2906,6 +2972,7 @@ msgstr "" "2048: debugování z VCDINFO\n" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "POMÓC! Zvukový ovladač pouze mono?!\n" @@ -2955,14 +3022,17 @@ msgstr "" "budou dodatečné kanály přimixovávány do stereo signálu." #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: selhala funkce NeAACDecOpen().\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: selhala funkce NeAACDecInit2.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: selhala funkce NeAACDecInit.\n" @@ -2972,10 +3042,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: mpc_streaminfo_read selhalo: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: data po posledním snímku ignorována\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: selhalo mpc_decoder_initialise\n" @@ -3004,6 +3076,7 @@ msgstr "" "nainstalovat kodeky, získáte z xine FAQ." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "libreal: Chyba hledání symbolů! (nekompatibilita verzí?)\n" @@ -3023,56 +3096,57 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "libareal: nastavení esence dekodéru selhalo, chybový kód: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: jejda, real může mít více než 2 kanály?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "zobrazovat skryté titulky v sekvencích MPEG-2" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "Skryté titulky jsou titulky určené hlavně na pomoc sluchově postiženým." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "podoba skrytých titulků (popředí/pozadí)" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Vyberte váš oblíbený způsob vykreslování skrytých titulků." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "standardní font skrytých titulků" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Vyberte font pro normální text u skrytých titulků." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "font kurzívy skrytých titulků" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Vyberte font pro text kurzívy u skrytých titulků." -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "velikost fontu skrytých titulků" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Vyberte velikost fontu pro text skrytých titulků." -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "přizpůsobení centrování skrytých titulků" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3144,7 +3218,8 @@ msgstr "Font z adresáře fontů xine, který se použije na text s titulky." #: src/libsputext/xine_sputext_decoder.c:1164 msgid "An outline font file (e.g. a .ttf) to be used for the subtitle text." -msgstr "Vnější font jako soubor (např. .ttf), který se použije na text s titulky." +msgstr "" +"Vnější font jako soubor (např. .ttf), který se použije na text s titulky." #: src/libsputext/xine_sputext_decoder.c:1170 msgid "whether to use a freetype font" @@ -3327,6 +3402,7 @@ msgstr "" "použít tento modul, aby poslouchal v daných datech pouze jeden kanál.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": namixování Mono na Stereo.\n" @@ -3339,6 +3415,7 @@ msgstr[1] ": namixování jednoho kanálu z %d kanálů v původních datech.\n" msgstr[2] ": namixování jednoho kanálu z %d kanálů v původních datech.\n" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": zvukové zařízení nemá schopnost AO_CAP_MODE_STEREO.\n" @@ -3354,9 +3431,13 @@ msgstr "" "Normalizuje audio na maximální úroveň bez zkreslení zvuku.\n" "\n" "Parametry:\n" -" metoda 1: použít jeden vzorek na vyhlazení variací využitím standardního váženého průměru přes předchozí vzorky (výchozí); 2: použít několik vzorků na vyhlazení variací využitím standardního váženého průměru přes předchozí vzorky.\n" +" metoda 1: použít jeden vzorek na vyhlazení variací využitím standardního " +"váženého průměru přes předchozí vzorky (výchozí); 2: použít několik vzorků " +"na vyhlazení variací využitím standardního váženého průměru přes předchozí " +"vzorky.\n" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 +#, fuzzy msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3370,6 +3451,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3461,7 +3545,8 @@ msgstr "" "platformy)\n" "\n" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Nejsou k dispozici žádné metody korekce prokládání, konec.\n" @@ -3665,8 +3750,8 @@ msgid "" " Centre_cut_out_mode: extracts 4:3 image contained in 16:9 frame\n" "\n" msgstr "" -"Modul expand je určen k tomu, aby bral snímky s libovolnými poměry stran " -"a konvertoval je na jiný poměr (výchozí je 4:3) přidáním černých pruhů nahoru " +"Modul expand je určen k tomu, aby bral snímky s libovolnými poměry stran a " +"konvertoval je na jiný poměr (výchozí je 4:3) přidáním černých pruhů nahoru " "a dolů. To dovolí posunovat OSD nebo titulky tak, že nezasahují do obrazu.\n" "\n" "Parametry (FIXME: lepší nápověda)\n" @@ -3696,11 +3781,13 @@ msgstr "" "Přidává do videa náhodný šum.\n" "\n" "Parametry:\n" -" luma_strength: intenzita šumu přidaného ke kanálu luma (0-100, výchozí: 8)\n" -" chroma_strength: intenzita šumu přidaného ke kanálu chroma (0-100, výchozí 5)\n" -" quality: úroveň kvality šumu. fixed: konstantní vzorek šumu; " -"temporal: vzorek šumu se mezi snímky mění; averaged temporal: " -"vzorek šumu, který se mění mezi snímky plynule. (výchozí: averaged temporal)\n" +" luma_strength: intenzita šumu přidaného ke kanálu luma (0-100, výchozí: " +"8)\n" +" chroma_strength: intenzita šumu přidaného ke kanálu chroma (0-100, výchozí " +"5)\n" +" quality: úroveň kvality šumu. fixed: konstantní vzorek šumu; temporal: " +"vzorek šumu se mezi snímky mění; averaged temporal: vzorek šumu, který se " +"mění mezi snímky plynule. (výchozí: averaged temporal)\n" " type: typ šumu: uniform nebo gaussian. (výchozí: gaussian)\n" " pattern: míchat náhodný šum s polopravidelným vzorkem. (výchozí: False)\n" "\n" @@ -3782,7 +3869,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "výstupní modul videa xine použije knihovnu ascii-art" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "výstupní modul videa xine použije knihovnu Color AsCii Art" @@ -3859,26 +3946,33 @@ msgstr "" "zakázáno)." #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" "video_out_directfb: použije se hardwarově urychlované renderování titulků.\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_directfb: vrstva podporuje výstup videa.\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_directfb: vrstva nepodporuje YV12!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: vrstva nepodporuje YUY2!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" -msgstr "video_out_directfb: k přehrávání na této vrstvě potřeba minimálně DirectFB 0.9.25!\n" +msgstr "" +"video_out_directfb: k přehrávání na této vrstvě potřeba minimálně DirectFB " +"0.9.25!\n" #: src/video_out/video_out_directfb.c:1588 #, c-format @@ -3891,11 +3985,13 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: vrstva nepodporuje volby 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" "video_out_directfb: použije se hardwarově urychlované škálování obrazu.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3922,14 +4018,16 @@ msgid "xine video output plugin using DirectFB." msgstr "výstupní modul videa xine použije DirectFB." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" -msgstr "video_out_directfb: žádná použitelná obrazová vrstva nebyla nalezena!\n" +msgstr "" +"video_out_directfb: žádná použitelná obrazová vrstva nebyla nalezena!\n" #: src/video_out/video_out_directfb.c:2092 msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "výstupní modul videa xine použije DirectFB pod XDirectFB." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "výstupní modul videa xine pro win32 používající directx" @@ -3961,6 +4059,7 @@ msgstr "" "skutečně je náležité zařízení framebufferu." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Váš videorežim nebyl rozpoznán, bohužel.\n" @@ -3983,6 +4082,7 @@ msgstr "" " Mohlo by pomoci snížení rozlišení bufferu.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -4099,6 +4199,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "výstupní modul videa xine používající OpenGL 3D grafické API" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "video_out_pgx32: Chyba: nelze použít DGA drawable okno videa\n" @@ -4113,6 +4214,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "video_out_pgx32: Chyba: '%s' není zařízení framebufferu pgx32\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx64: Chyba: nelze použít DGA drawable pro okno videa\n" @@ -4139,29 +4241,35 @@ msgstr "" "video_out_pgx64: Chyba: '%s' není zařízení framebufferu xvr100/pgx64/pgx24\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" "video_out_pgx64: Chyba: překrývání videa je na této obrazovce již používáno\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Chyba: nelze nastavit vlastnosti okna\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "video_out_pgx64: Varování: málo videopaměti, multi-buffering zakázán\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Chyba: nedostatek videopaměti\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Varování: málo videopaměti, double-buffering zakázán\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Chyba: selhalo ioctl (FBIOGATTR)\n" @@ -4216,10 +4324,12 @@ msgstr "" "zakázat, pokud by to fungovalo chybně." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "SDL musí emulovat 16bitové povrchy, to vše zpomalí.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: celoobrazovkový režim NENÍ podporován\n" @@ -4233,40 +4343,48 @@ msgstr "" "výstupní modul videa xine použije knihovnu Libstk Surface Set-top Toolkit" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: chyba. (formát YUY2 není podporován vaší grafickou " "kartou)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: chyba. (formát YV12 není podporován vaší grafickou " "kartou)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: info. (modul SyncFB podporuje YUV 4:2:0 (3 roviny))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: info. (modul SyncFB podporuje YUV 4:2:0 (2 roviny))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: info. (modul SyncFB podporuje YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: info. (modul SyncFB podporuje YUY2)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: info. (modul SyncFB podporuje RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -4274,6 +4392,7 @@ msgstr "" "video_out_syncfb: ruší se. (modul SyncFB nepodporuje YV12, YUY2 ani RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4351,18 +4470,22 @@ msgstr "" "a trhané artefakty, ale bude použito více grafické paměti." #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: adaptér podporuje formát yuy2\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: adaptér podporuje formát yv12\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: Máte špatnou verzi knihovny VIDIX\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: Nelze nalézt fungující ovladač VIDIX\n" @@ -4401,15 +4524,18 @@ msgstr "" "video_out_xcbshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" msgstr "" -"video_out_xcbshm: chyba sdílené paměti (chyba adresy) během alokování obrázku\n" +"video_out_xcbshm: chyba sdílené paměti (chyba adresy) během alokování " +"obrázku\n" "video_out_xcbshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4433,11 +4559,13 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xcbshm: Rozšíření MIT shared memory není na displeji přítomno.\n" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xcbshm: váš videorežim nebyl rozpoznán, bohužel :-(\n" @@ -4445,7 +4573,8 @@ msgstr "video_out_xcbshm: váš videorežim nebyl rozpoznán, bohužel :-(\n" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "výstupní modul videa xine použije rozšíření MIT X shared memory" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4453,7 +4582,7 @@ msgstr "" "video_out_xcbxv: funkce XvShmCreateImage vrátila nulovou velikost\n" "video_out_xcbxv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4462,7 +4591,8 @@ msgstr "" "video_out_xcbxv: chyba sdílené paměti v shmget: %s\n" "video_out_xcbxv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4470,29 +4600,36 @@ msgstr "" "video_out_xcbxv: chyba x11 během vytváření XImage\n" "video_out_xcbxv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: Rozšíření Xv není přítomno.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1438 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "%s: nepodařilo se otevřít Xv port %d - najde se automaticky\n" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support " "Xv?!\n" msgstr "" -"video_out_xcbxv: Rozšíření Xv je přítomno, ale nepodařilo se nalézt použitelný " -"port yuv12.\n" +"video_out_xcbxv: Rozšíření Xv je přítomno, ale nepodařilo se nalézt " +"použitelný port yuv12.\n" " Vypadá to, jako by váš grafický hardwarový ovladač " "nepodporoval Xv?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4501,36 +4638,40 @@ msgstr "" "video_out_xcbxv: pro hardwarovou konverzi barevného prostoru a škálování se " "použije Xv port %d z adaptéru %s.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1590 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "povolit synchronizaci s vblank" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1591 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " "tearing artifacts. On nvidia cards one may also need to run \"nvidia-settings" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -"Tato volba synchronizuje aktualizaci obrazu videa s překreslováním " -"úplné obrazovky (\"vertikální zpětný běh paprsku\"). To eliminuje blikání " -"a trhané artefakty. Na kartách nVidia může být ještě třeba spustit \"nvidia-settings\" a v kartě XVideo Settings vybrat, se kterým zařízením obrazovky synchronizovat." +"Tato volba synchronizuje aktualizaci obrazu videa s překreslováním úplné " +"obrazovky (\"vertikální zpětný běh paprsku\"). To eliminuje blikání a trhané " +"artefakty. Na kartách nVidia může být ještě třeba spustit \"nvidia-settings" +"\" a v kartě XVideo Settings vybrat, se kterým zařízením obrazovky " +"synchronizovat." -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xcbxv: tento adaptér podporuje formát yv12.\n" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: tento adaptér podporuje formát yuy2.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1659 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "metoda korekce prokládání (zavrženo)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1660 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4603,12 +4744,13 @@ msgstr "" "K odstranění hřebenových artefaktů použije lehké rozmazání. Dobré výsledky " "se střední zátěží CPU." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1733 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "výstupní modul videa xine použije rozšíření MIT X video" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4626,6 +4768,7 @@ msgstr "" "video_out_xshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4634,6 +4777,7 @@ msgstr "" "video_out_xshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4642,15 +4786,18 @@ msgstr "" "video_out_xshm: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: Rozšíření MIT shared memory není na displeji přítomno.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: váš videorežim nebyl rozpoznán, bohužel :-(\n" -#: src/video_out/video_out_xv.c:294 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4658,7 +4805,8 @@ msgstr "" "video_out_xv: selhalo XvShmCreateImage\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:320 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4666,7 +4814,7 @@ msgstr "" "video_out_xv: funkce XvShmCreateImage vrátila nulovou velikost\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:328 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4675,7 +4823,8 @@ msgstr "" "video_out_xv: chyba sdílené paměti v shmget: %s\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:360 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4683,11 +4832,18 @@ msgstr "" "video_out_xv: chyba x11 během vytváření XImage\n" "video_out_xv: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xv.c:1413 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Rozšíření Xv není přítomno.\n" -#: src/video_out/video_out_xv.c:1451 +#: src/video_out/video_out_xv.c:1428 +#, fuzzy, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "%s: nepodařilo se otevřít Xv port %d - najde se automaticky\n" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4698,7 +4854,7 @@ msgstr "" " Vypadá to, jako by váš grafický hardwarový ovladač " "nepodporoval Xv?!\n" -#: src/video_out/video_out_xv.c:1460 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4707,23 +4863,27 @@ msgstr "" "video_out_xv: pro hardwarovou konverzi barevného prostoru a škálování se " "použije Xv port %ld z adaptéru %s.\n" -#: src/video_out/video_out_xv.c:1626 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tento adaptér podporuje formát yv12.\n" -#: src/video_out/video_out_xv.c:1631 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tento adaptér podporuje formát yuy2.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "výstupní modul videa xine použije X video rozšíření XvMC" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: rozšíření XvMC není přítomno.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4731,7 +4891,7 @@ msgstr "" "video_out_xvmc: rozšíření Xv je přítomno, ale nebyl nalezen použitelný port " "yuv12\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4740,24 +4900,28 @@ msgstr "" "video_out_xvmc: pro hardwarovou konverzi barevného prostoru a škálování\n" " se použije Xv port %ld z adaptéru %s\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " idct a akcelerace kompenzace pohybu\n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " pouze akcelerace kompenzace pohybu\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " žádná podpora XvMC\n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " S Overlay = %d; UnsignedIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4766,6 +4930,7 @@ msgstr "" "video_out_xxmc: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4783,6 +4948,7 @@ msgstr "" "video_out_xxmc: => rozšíření MIT Shared Memory se nepoužije.\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4790,11 +4956,13 @@ msgstr "" "video_out_xxmc: chyba x11 během vytváření XImage ve sdílené paměti\n" "video_out_xxmc: => rozšíření MIT Shared Memory se nepoužije.\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: rozšíření Xv není přítomno.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4806,7 +4974,7 @@ msgstr "" " Vypadá to, jako by váš grafický hardwarový ovladač\n" " nepodporoval Xv?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4815,19 +4983,21 @@ msgstr "" "video_out_xxmc: pro hardwarovou konverzi barevného prostoru a škálování se " "použije Xv port %ld z adaptéru %s.\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: tento adaptér podporuje formát yv12.\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: tento adaptér podporuje formát yuy2.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "Přimět XvMC alokovat více snímků za účelem lepšího bufferování." -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" @@ -4837,11 +5007,11 @@ msgstr "" "Tato volba, pokud je zapnuta, přiměje ovladač zkusit alokovat 15 snímků. " "Nutnost pro unichrome a live VDR.\n" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Šetření procesoru unichrome" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" @@ -4851,11 +5021,11 @@ msgstr "" "Pouze pro jádra Linuxu řady 2.6 nebo 2.4 s multimediálním patchem.\n" "Experimentální.\n" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Opravovat chybné barvy elementů XvMC" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" @@ -4863,11 +5033,11 @@ msgstr "" "V knihovně XvMC od NVidie je chyba, která způsobuje, že červené barvy OSD " "vypadají modře a naopak. Tato volba umožňuje chybu obejít.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Použít 'bob' jako akcelerovanou metodu korekce prokládání." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" @@ -4877,40 +5047,45 @@ msgstr "" "snímků.\n" # TODO -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "Nepoužívat korekci prokládání bob pro postupné snímky." -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -"Postupné snímky nepotřebují korekci prokládání, takže zakázat ji podle potřeby by mělo vést k lepšímu zobrazení.\n" +"Postupné snímky nepotřebují korekci prokládání, takže zakázat ji podle " +"potřeby by mělo vést k lepšímu zobrazení.\n" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "Nepoužívat korekci prokládání bob, pokud je aktivní škálované OSD" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" -"Korekce prokládání bob přidává k vodorovným linkám šum, takže zakázat ji podle potřeby by mělo vést k lepšímu zobrazení OSD.\n" +"Korekce prokládání bob přidává k vodorovným linkám šum, takže zakázat ji " +"podle potřeby by mělo vést k lepšímu zobrazení OSD.\n" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: rozšíření XShape není k dispozici. Overlay bez změn měřítka " "zakázán.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "x11osd: chyba vytvoření okna. Overlay bez změn měřítka zakázán.\n" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "x11osd: chyba vytváření mapy bodů. Overlay bez změn měřítka zakázán.\n" @@ -4974,19 +5149,31 @@ msgid "Some buggy video drivers need a workaround to function properly." msgstr "" "Některé chybové ovladače videa potřebují ke správně funkci tento workaround." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "Upřednostněná metoda zobrazení videa" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" -"Vybírá, která metoda zobrazení videa je upřednostňována. Detekce se provádí použitím oznámených jmen adaptérů Xv.\n" +"Vybírá, která metoda zobrazení videa je upřednostňována. Detekce se provádí " +"použitím oznámených jmen adaptérů Xv.\n" "(Platí jen při použití autodetekce portů Xv.)" +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "filtr mihotání" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "zakázat přesné alfa míchání overlayů" @@ -5029,6 +5216,7 @@ msgstr "" "vstupů, ale také zvýšené zpoždění a spotřebu paměti." #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" @@ -5036,18 +5224,22 @@ msgstr "" "zařízení\n" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "Zápis do zvukové karty selhal. Zařízení považováno za odpojené.\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "8 bitů není ovladačem podporováno, konvertuje se na 16 bitů.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "mono není ovladačem podporováno, konvertuje se na stereo.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "stereo není ovladačem podporováno, konvertuje se na mono.\n" @@ -5174,6 +5366,7 @@ msgstr "" "Pokud je zakázáno, xine nebude při spuštění měnit žádná nastavení mixeru." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: Litujeme, toto by se nemělo přihodit. Prosím restartujte xine.\n" @@ -5184,44 +5377,46 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "xine-lib: buffer.c: Došlo k fatální chybě: PŘÍLIŠ MNOHO FREE\n" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "Stávající konfigurační soubor byl upraven novější verzí xine." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: VAROVÁNÍ: zálohování konfiguračního souboru do %s selhalo\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: VAROVÁNÍ: vaše konfigurace nebude uložena\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: VAROVÁNÍ: zápis konfigurace do %s selhal\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: VAROVÁNÍ: odstraní se pravděpodobně poškozený konfigurační " "soubor %s\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: VAROVÁNÍ: měli byste zkontrolovat záložní soubor %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: údaj '%s' nesmí být modifikován z MRL\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "info_helper: nelze zjistit aktuální kódovou stránku\n" @@ -5486,6 +5681,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: nelze načíst zvukový modul <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5502,50 +5698,52 @@ msgstr "" "load_plugins: nelze uvolnit knihovnu modulu %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "font '%s-%d' je již nahrán, divné.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "načítání fontu '%s' selhalo (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "nesprávná verze u fontu '%s'. očekávána %d, nalezena %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: nelze inicializovat knihovnu ft2\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: chyba přiřazení fontu %s pomocí FontConfig" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: chyba načítání fontu %s pomocí FontConfig" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: chyba hledání fontu %s pomocí FontConfig" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: chyba načítání fontu %s pomocí ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "osd: chyba při nastavování velikosti fontu (font není škálovatelný?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5554,41 +5752,46 @@ msgstr "" "osd: neznámá sekvence začínající bytem 0x%02X v kódování \"%s\", přeskočí " "se\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: nelze zjistit aktuální kódovou stránku\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: nepodporovaná konverze %s -> %s, nebude prováděna\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: font není definován\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: chyba načítaní glyfu\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: chyba v renderování glyfu\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: chyba načítání glyfu %i\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: chyba při renderování\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "paleta (popředí-okraj-pozadí) použitá na titulky a OSD" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5646,7 +5849,8 @@ msgid "" "The default number of video frames to request from xine video out driver. " "Some drivers will override this setting with their own values." msgstr "" -"Výchozí počet videosnímků, který se bude žádat z videovýstupního ovladače xine. Některé ovladače použijí své vlastní hodnoty místo této." +"Výchozí počet videosnímků, který se bude žádat z videovýstupního ovladače " +"xine. Některé ovladače použijí své vlastní hodnoty místo této." #: src/xine-engine/video_out.c:1875 msgid "percentage of skipped frames to tolerate" @@ -5673,6 +5877,7 @@ msgstr "" "naplánovány k zobrazení, pošle xine hlášení." #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: Litujeme, toto by se nemělo přihodit. Prosím restartujte xine.\n" @@ -5726,10 +5931,10 @@ msgstr "" "Pokud chcete, aby se zobrazoval obraz videa vždy v jeho původním rozlišení, " "můžete zakázat veškeré změny měřítka.\n" "Toto samozřejmě znamená, že se obraz nebude dále přizpůsobovat velikosti " -"okna videa a videa s poměrem stran bodu jiným než je 1:1 (např. anamorfotické " -"DVD) se budou zobrazovat deformovaně. Ale na druhou stranu, s některými " -"videovýstupy jako je XShm, kde není škálování obrazu hardwarově urychlováno, " -"může toto dramaticky snížit využití CPU." +"okna videa a videa s poměrem stran bodu jiným než je 1:1 (např. " +"anamorfotické DVD) se budou zobrazovat deformovaně. Ale na druhou stranu, s " +"některými videovýstupy jako je XShm, kde není škálování obrazu hardwarově " +"urychlováno, může toto dramaticky snížit využití CPU." #: src/xine-engine/xine.c:805 src/xine-engine/xine.c:926 #: src/xine-engine/xine.c:966 src/xine-engine/xine.c:1002 @@ -5737,6 +5942,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: chyba během zpracování MRL\n" @@ -5766,6 +5972,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: připojen ripovací vstupní modul\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: chyba otevírání instance ripovacího vstupního modulu\n" @@ -5775,18 +5982,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: selhalo spuštění posledního vyzkoušeného demultiplexoru %s\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "ignoruje se video\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "ignoruje se zvuk\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "ignorují se titulky\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "vstupní modul cache zakázán\n" @@ -5796,6 +6007,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "otevřeno MRL titulků '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: chyba otevírání MRL titulků\n" @@ -5812,7 +6024,9 @@ msgstr "xine: změna volby '%s' z MRL není povolena\n" #: src/xine-engine/xine.c:1205 #, c-format msgid "xine: couldn't load plugin-specified demux %s for >%s<\n" -msgstr "xine: nepodařilo se načíst demultiplexor %s požadovaný vstupním modulem pro >%s<\n" +msgstr "" +"xine: nepodařilo se načíst demultiplexor %s požadovaný vstupním modulem pro >" +"%s<\n" #: src/xine-engine/xine.c:1215 #, c-format @@ -5856,6 +6070,7 @@ msgid "The specified save_dir might be a security risk." msgstr "Uvedený adresář pro ukládání by mohl znamenat bezpečnostní riziko." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: locale není podporováno knihovnou C\n" @@ -5945,7 +6160,9 @@ msgid "" "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -"Specifikuje timeout při čtení dat ze sítě v sekundách. Příliš nízké hodnoty by mohly přerušovat přehrávání, pokud je zdroj pomalý nebo je zabrané pásmo, příliš vysoké hodnoty zablokují přehrávač, pokud se ztratí spojení." +"Specifikuje timeout při čtení dat ze sítě v sekundách. Příliš nízké hodnoty " +"by mohly přerušovat přehrávání, pokud je zdroj pomalý nebo je zabrané pásmo, " +"příliš vysoké hodnoty zablokují přehrávač, pokud se ztratí spojení." #: src/xine-engine/xine.c:2217 msgid "messages" @@ -6027,1434 +6244,6 @@ msgstr "" "provádějí toto kopírování. Obvykle je nejlepší metoda zjišťována automaticky." #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Výkonnostní testování metod memcpy (menší je lepší):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Nepodařilo se vytvořit poziční události bufferu." - -#~ msgid "Unable to get notification interface" -#~ msgstr "" -#~ "Nepodařilo se získat rozhraní na upozorňování (notification interface)" - -#~ msgid "Unable to set notification positions" -#~ msgstr "Nepodařilo se nastavit pozice upozorňování" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": zpožděno o %ld ms\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: Špatná verze ASX: %s\n" - -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "dvbsub: nelze vytvořit časovací vlákno\n" - -#~ msgid "make the overlay behave like a fixed layer (for debugging)" -#~ msgstr "chování overlay jako pevná vrstva (pro ladění)" - -#~ msgid "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) failed.\n" -#~ msgstr "Selhala funkce avcodec_find_decoder (CODEC_ID_MPEG1VIDEO)\n" - -#~ msgid "video brightness" -#~ msgstr "jas videa" - -#~ msgid "The brightness of the video image." -#~ msgstr "Jas videoobrazu." - -#~ msgid "The saturation of the video image." -#~ msgstr "Sytost videoobrazu." - -#~ msgid "brightness correction" -#~ msgstr "korekce jasu" - -#~ msgid "" -#~ "The brightness correction can be used to lighten or darken the image. It " -#~ "changes the blacklevel without modifying the contrast, but it limits the " -#~ "tonal range." -#~ msgstr "" -#~ "Korekce jasu může být použita na světlejší nebo tmavší obraz. Změní se " -#~ "úroveň černé bez úpravy kontrastu, ale omezí se tím tónový rozsah." - -#~ msgid "Do we use read-ahead caching?" -#~ msgstr "Mělo by se používat cachování read-ahead?" - -#~ msgid "This integer is a debugging mask when interpreted in binary." -#~ msgstr "Toto celé číslo v binární reprezentaci je debugovací maska." - -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "audio_oss_out: open() %s selhalo: %s\n" - -#~ msgid "display DVB channel name" -#~ msgstr "zobrazovat jméno kanálu DVB" - -#~ msgid "" -#~ "This will display the current channel name in xine's on-screen-display. " -#~ "Menu button 7 will disable this temporarily." -#~ msgstr "" -#~ "Toto zobrazí jméno aktuálního kanálu v OSD xine. Tlačítko volby 7 to " -#~ "dočasně zakáže." - -# FIXEM: correct the original -#~ msgid "" -#~ "A Comma separated list of domain names, where the proxy is to be ignored." -#~ msgstr "Seznam domén oddělený čárkami, kde nebude použito proxy." - -#~ msgid "selection has no DEFAULT entry" -#~ msgstr "výběr nemá položku VÝCHOZÍ" - -#~ msgid "" -#~ "You can disable video scaling globally. The image will then no longer " -#~ "adapt to the size of the video window, which can dramatically reduce CPU " -#~ "usage." -#~ msgstr "" -#~ "Můžete globálně zakázat změnu měřítka videa. Obraz pak už nebude " -#~ "přizpůsobován na velikost okna videa, což může dramaticky snížit využití " -#~ "CPU." - -#~ msgid "device used for 5+ channel output" -#~ msgstr "zařízení použité pro 5+ kanálový výstup" - -#~ msgid "used to inform xine about what the sound card can do" -#~ msgstr "použito k informování xine o tom, co umí zvuková karta" - -#~ msgid "Adjust a/v sync for OSS softsync" -#~ msgstr "úprava synchronizace zvuku a videa pro softsync OSS" - -#~ msgid "Use this to manually adjust a/v sync if you're using softsync" -#~ msgstr "" -#~ "Toto použijte k ruční úpravě synchronizace zvuku a videa, jestliže " -#~ "používáte softwarovou synchronizaci" - -#~ msgid "Enable 4.0 channel analog surround output" -#~ msgstr "povolit 4.0 kanálový analogový surround výstup" - -#~ msgid "Enable 5.0 channel analog surround output" -#~ msgstr "povolit 5.0 kanálový analogový surround výstup" - -#~ msgid "Enable 5.1 channel analog surround output" -#~ msgstr "povolit 5.1 kanálový analogový surround výstup" - -#~ msgid "device used for audio output with the 'Sun' audio plugin" -#~ msgstr "zařízení použité pro výstup se zvukovým modulem 'Sun'" - -#~ msgid "The device file of the dxr3 mpeg decoder card control device." -#~ msgstr "Soubor řídícího zařízení dxr3 karty na dekódování MPEGů." - -#~ msgid "This is relevant for progressive video only (most PAL films)." -#~ msgstr "Toto má význam jen pro postupné video (většina filmů PAL)" - -#~ msgid "Enable this for streams with wrong frame durations." -#~ msgstr "Toto povolte pro sekvence s nesprávnou délkou snímků." - -#~ msgid "The encoding quality of the libfame mpeg encoder library." -#~ msgstr "Kvalita kódování knihovny libfame generující MPEG." - -#~ msgid "Scr priorities greater 5 make the dxr3 xine's master clock." -#~ msgstr "Priorita SCR větší než 5 udělá z dxr3 hlavní hodiny xine." - -#~ msgid "If disabled, will assume source has 4:3 aspect ratio." -#~ msgstr "" -#~ "Jestliže je zakázáno, bude se předpokládat video s poměrem stran 4:3." - -#~ msgid "" -#~ "Content other than mpeg has to pass an additional reencoding stage, " -#~ "because the dxr3 handles mpeg only." -#~ msgstr "" -#~ "Obsah jiný než mpeg musí projít další překódovávací fází, protože dxr3 " -#~ "pracuje pouze s mpegy." - -#~ msgid "A greater value widens the tolerance for the overlay keycolor" -#~ msgstr "Větší hodnota rozšíří toleranci pro klíčové barvy překrývání" - -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_cdda: nelze se připojit k serveru.\n" - -#~ msgid "use cddb feature" -#~ msgstr "Použít vlastnosti cddb" - -#~ msgid "path to your local vcd device file" -#~ msgstr "Cesta k vašemu místnímu souboru VCD zařízení" - -#~ msgid "a/52 volume control" -#~ msgstr "nastavení hlasitosti a/52" - -#~ msgid "Relative path to libdivxdecore.so to open" -#~ msgstr "relativní cesta k libdivxdecore.so" - -#~ msgid "the postprocessing level, 0 = none and fast, 6 = all and slow" -#~ msgstr "" -#~ "úroveň dodatečného zpracování, 0 = žádné a rychle, 6 = všechno a pomalu" - -#~ msgid "use divx4 plugin for msmpeg4v3 streams" -#~ msgstr "použít modul divx4 pro sekvence msmpeg4v3" - -#~ msgid "Divx version to check for (set to 0 (default) if unsure)" -#~ msgstr "" -#~ "nejmenší dovolená verze Divx (jestli nevíte, nastavte 0 (předvolené))" - -#~ msgid "" -#~ "The bitrate the libavcodec mpeg encoder should use for dxr3's encoding " -#~ "mode" -#~ msgstr "" -#~ "Bitová rychlost mpeg kodéru libavcodec by měla být použita pro kódovací " -#~ "režim dxr3" - -#~ msgid "Dxr3enc: Use quantizer instead of bitrate" -#~ msgstr "Dxr3enc: Použít kvantizér namísto bitového toku" - -#~ msgid "Dxr3enc: Minimum quantizer" -#~ msgstr "Dxr3enc: Minimální kvantizér" - -#~ msgid "Subtitle size (relative window size)" -#~ msgstr "Velikost titulků (vzhledem k velikosti okna)" - -#~ msgid "" -#~ "xvid: there is mismatch between API used by currently installed XviD\n" -#~ "xvid: library (%d.%d) and library used to compile this plugin (%d.%d).\n" -#~ "xvid: Compiling this plugin against current XviD library should help.\n" -#~ msgstr "" -#~ "xvid: je zde nekompatibilita mezi programovým rozhraním v současné době\n" -#~ " instalované knihovny Xvid (%d.%d) a knihovny použité ke kompilaci\n" -#~ " tohoto modulu (%d.%d).\n" -#~ " Překompilování tohoto modulu se současnou knihovnou XviD by mělo\n" -#~ " pomoci.\n" - -#~ msgid "gamma correction for OpenGL driver" -#~ msgstr "gama korekce pro ovladač OpenGL" - -#~ msgid "syncfb (teletux) device node" -#~ msgstr "uzel zařízení syncfb (teletux)" - -#~ msgid "gamma correction for XShm driver" -#~ msgstr "gama korekce pro ovladač XShm" - -#~ msgid "Colorkey used for Xv video overlay" -#~ msgstr "Klíčová barva použitá pro překrývání videa u Xv" - -#~ msgid "double buffer to sync video to the retrace" -#~ msgstr "Dvojitý buffer k synchronizaci videa se zpětným během paprsku" - -#~ msgid "workaround for some (buggy) XVideo drivers" -#~ msgstr "Obcházet chybu některých ovladačů XVidea" - -#~ msgid "Software deinterlace method (Key I toggles deinterlacer on/off)" -#~ msgstr "" -#~ "Softwarová metoda korekce prokládání (klávesa I zapíná a vypíná " -#~ "deinterlacer)" - -#~ msgid "" -#~ "'resample' might be better if you use a DXR3/H+ card and (analog) audio " -#~ "is processed by your sound card" -#~ msgstr "" -#~ "'resample' by mohlo být lepší, jestliže používáte kartu DXR3/H+ a zvuk " -#~ "(analogový) je zpracováván vaší zvukovou kartou" - -#~ msgid "adjust whether resampling is done or not" -#~ msgstr "nastavit, jestli se má převzorkovávat nebo ne" - -#~ msgid "adjust if audio is offsync" -#~ msgstr "upravte, jestliže bude zvuk nesynchronizovaný (A52 nebo AC5)" - -#~ msgid "Streams will be saved only into this directory" -#~ msgstr "Sekvence budou ukládány pouze do tohoto adresáře" - -#~ msgid "Memcopy method to use in xine for large data chunks." -#~ msgstr "Metoda memcopy použitá ve xine pro velké datové bloky" - -#~ msgid "/dev/dsp# device to use for oss output, -1 => auto_detect" -#~ msgstr "zařízení /dev/dsp# použité pro výstup oss, -1 => autodetekce" - -#~ msgid "" -#~ "demux_mpeg_block: too many errors, stopping playback. Maybe this stream " -#~ "is scrambled?\n" -#~ msgstr "" -#~ "demux_mpeg_block: příliš mnoho chyb, zastavuje se přehrávání. Možná jsou " -#~ "tyto data zakódována.\n" - -#~ msgid "RTP: waiting for preview data\n" -#~ msgstr "RTP: čeká se na počáteční data\n" - -#~ msgid "RTP: waiting for preview data: timeout\n" -#~ msgstr "RTP: čekání na počáteční data: čas vypršel\n" - -#~ msgid "Opening >%s<\n" -#~ msgstr "Otvírá se >%s<\n" - -#~ msgid "subtitle size (relative window size)" -#~ msgstr "Velikost titulků (vzhledem k velikosti okna)" - -#~ msgid "" -#~ "FLI: in chunk FLI_COPY : source data (%d bytes) bigger than image, " -#~ "skipping chunk\n" -#~ msgstr "" -#~ "FLI: v datovém bloku FLI_COPY : zdrojová data (%d bytů) větší než data " -#~ "snímku, datový blok se přeskočí\n" - -#~ msgid "FLI: Unrecognized chunk type: %d\n" -#~ msgstr "FLI: Nerozpoznaný datový blok: %d\n" - -#~ msgid "" -#~ " warning: processed FLI chunk where chunk size = %d\n" -#~ " and final chunk ptr = %d\n" -#~ msgstr "" -#~ " varování: zpracován datový blok FLI s velikostí = %d\n" -#~ " a koncovým ukazatelem = %d\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: ukazatel na data vyšel z mezí (1)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: ukazatel na snímek vyšel z mezí (1)\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: ukazatel na data vyšel z mezí (2)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: ukazatel na snímek vyšel z mezí (2)\n" - -#~ msgid "MS RLE: ended frame decode with bytes left over (%d < %d)\n" -#~ msgstr "MS RLE: koncový rámec dekódován i se zbytkem bytů (%d < %d)\n" - -#~ msgid "warning: block counter just went negative (this should not happen)\n" -#~ msgstr "" -#~ "varování: čítač bloků právě přešel do mínusu (toto by se nemělo stát)\n" - -#~ msgid "First chunk byte is 0x%02x instead of 0x1e\n" -#~ msgstr "Byte první části dat je 0x%02x namísto 0x1e\n" - -#~ msgid "MOV chunk size != encoded chunk size; using MOV chunk size\n" -#~ msgstr "" -#~ "Velikost části dat MOV != velikost zakódované části; použije se MOV\n" - -#~ msgid "" -#~ "Unknown opcode %d in rpza chunk. Skip remaining %d bytes of chunk data.\n" -#~ msgstr "" -#~ "Neznámý kód %d v části dat rpza. Přeskočí se %d zbývajících bytů dat.\n" - -#~ msgid "" -#~ "warning: MOV chunk size != encoded chunk size (%d != %d); using MOV chunk " -#~ "size\n" -#~ msgstr "" -#~ "Varování: velikost části dat MOV != zakódovaná velikost (%d != %d); " -#~ "použije se MOV\n" - -#~ msgid "" -#~ "SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)\n" -#~ msgstr "SMC dekodér právě vyšel z mezí (stream ptr = %d, velikost = %d)\n" - -#~ msgid "SMC decoder just went out of bounds (row ptr = %d, height = %d)\n" -#~ msgstr "SMC dekodér právě vyšel z mezí (row ptr = %d, výška = %d)\n" - -#~ msgid "encountered repeat block opcode (%02X) but no blocks rendered yet\n" -#~ msgstr "" -#~ "vyskytl se kód opakování bloku (%02X), ale žádný blok ještě nebyl " -#~ "zpracován\n" - -#~ msgid "" -#~ "encountered repeat block opcode (%02X) but not enough blocks rendered " -#~ "yet\n" -#~ msgstr "" -#~ "vyskytl se kód opakování bloku (%02X), ale nebylo ještě zpracováno dost " -#~ "bloků\n" - -#~ msgid "0xF0 opcode seen in SMC chunk (xine developers would like to know)\n" -#~ msgstr "V části dat SMC viděn kód 0xF0 (vývojáři xine by to rádi věděli)\n" - -#~ msgid "Default x position" -#~ msgstr "Předvolená pozice X" - -#~ msgid "Default y position" -#~ msgstr "Předvolená pozice Y" - -#~ msgid "Default width" -#~ msgstr "Předvolená šířka" - -#~ msgid "Default height" -#~ msgstr "Předvolená výška" - -#~ msgid "Default active stream" -#~ msgstr "Přednastavená aktivní sekvence" - -#~ msgid "input not seekable, can not handle!\n" -#~ msgstr "u tohoto vstupu není nastavitelná pozice, nelze zpracovat!\n" - -#~ msgid "valid mrls for pes demuxer" -#~ msgstr "platná MRL pro demultiplexor PES" - -#~ msgid "valid mrls ending for pes demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor PES" - -#~ msgid "Connecting MMS server..." -#~ msgstr "Připojuje se k MMS serveru..." - -#~ msgid "osd: trying iso-8859-1 -> UCS-2\n" -#~ msgstr "osd: zkusí se iso-8859-1 -> UCS-2\n" - -#~ msgid "demux_smjpeg.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_smjpeg.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_wc3movie: encountered unknown chunk: %c%c%c%c\n" -#~ msgstr "demux_wc3movie: vyskytl se neznámý datový blok: %c%c%c%c\n" - -#~ msgid "Enable A52 / AC5 digital audio output via spdif" -#~ msgstr "povolit A52 / AC5 digitální zvukový výstup přes spdif" - -#~ msgid "demux_fli.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_fli.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "input_http: unable to resolve >%s<\n" -#~ msgstr "input_http: nelze zjistit adresu >%s<\n" - -#~ msgid "input_http: opening >/%s< on host >%s<" -#~ msgstr "input_http: otvírá se >/%s< na serveru >%s<" - -#~ msgid "%s via proxy >%s<" -#~ msgstr "%s přes proxy >%s<" - -#~ msgid "input_http: EAGAIN\n" -#~ msgstr "input_http: EAGAIN\n" - -#~ msgid "demux_roq.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_roq.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "input_http: timeout\n" -#~ msgstr "input_http: čas vypršel\n" - -#~ msgid "NVidia TV-Out support." -#~ msgstr "Podpora TV-výstupu NVidia" - -#~ msgid "demux_wav.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_wav.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_aiff.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_aiff.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_snd.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_snd.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_voc.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_voc.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "Dxr3: contrast control" -#~ msgstr "Dxr3: ovládání kontrastu" - -#~ msgid "Dxr3: saturation control" -#~ msgstr "Dxr3: ovládání sytosti" - -#~ msgid "demux_qt.c: input is block organized, can not handle!\n" -#~ msgstr "demux_qt.c: vstup je blokově organizovaný, nelze zpracovat!\n" - -#~ msgid "demux_film.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_film.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_idcin.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_idcin.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_mve.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_mve.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "OUCH - ran out of buffers\n" -#~ msgstr "JEJDA - buffery vyčerpány\n" - -#~ msgid "OUCH - dropped input packet %d %d\n" -#~ msgstr "JEJDA - zahozen vstupní paket %d %d\n" - -#~ msgid "demux_mpgaudio: no audio driver!\n" -#~ msgstr "demux_mpgaudio: žádný zvukový ovladač!\n" - -#~ msgid "demux_cda.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_cda.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "input_cda: ioctl(CDROM_MEDIA_CHANGED) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROM_MEDIA_CHANGED): %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSUBCHNL) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMSUBCHNL): %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCSTART) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDIOCSTART): %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSTART) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMSTART): %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDIOCPLAYMSF): %s.\n" - -#~ msgid "input_cda: ioctl(CDROMPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMPLAYMSF): %s.\n" - -#~ msgid "input_cda: No rights to open %s.\n" -#~ msgstr "input_cda: Nejsou práva k otevření %s.\n" - -#~ msgid "input_cda: ioctl(CDROMCLOSETRAY) failed: %s\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMCLOSETRAY): %s\n" - -#~ msgid "input_cda: ioctl(CDROMEJECT) failed: %s\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMEJECT): %s\n" - -#~ msgid "input_cda: ioctl(CDROM_DRIVE_STATUS) failed: %s\n" -#~ msgstr "input_cda: selhalo ioctl(CDROM_DRIVE_STATUS): %s\n" - -#~ msgid "input_cda: ioctl(CDROMALLOW) failed: %s\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMALLOW): %s\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCHEADER) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDIOREADTOCHEADER): %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCHDR) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMREADTOCHDR): %s.\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCENTRYS) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDIOREADTOCENTRYS): %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCENTRY) failed: %s.\n" -#~ msgstr "input_cda: selhalo ioctl(CDROMREADTOCENTRY): %s.\n" - -#~ msgid "input_cda: malformed MRL. Use cda:/<track #>\n" -#~ msgstr "input_cda: neplatné MRL. Použijte cda://<stopa #>\n" - -#~ msgid "input_cda: invalid track %d (valid range: 1 .. %d)\n" -#~ msgstr "input_cda: neplatná stopa %d (platný rozsah: 1 .. %d)\n" - -#~ msgid "input_cda: error seek to origin %d not implemented!\n" -#~ msgstr "input_cda: posuv na cíl typu %d není implementován!\n" - -#~ msgid "demux_qt: Apple Quicktime file, %srunning time: %d min, %d sec\n" -#~ msgstr "demux_qt: Soubor Apple Quicktime, %sdoba přehrávání: %d min, %d s\n" - -#~ msgid "demux_qt: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_qt: '%c%c%c%c' video @ %dx%d\n" - -#~ msgid "demux_qt: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_qt: '%c%c%c%c' zvuk @ %d Hz, %d bitů, %d %s\n" - -#~ msgid "demux_film: FILM version %c%c%c%c, running time: %d min, %d sec\n" -#~ msgstr "demux_film: FILM verze %c%c%c%c, doba přehrávání: %d min, %d s\n" - -#~ msgid "demux_film: %c%c%c%c video @ %dx%d, %d Hz playback clock\n" -#~ msgstr "demux_film: %c%c%c%c video @ %dx%d, hodiny pro přehrávání %d Hz\n" - -#~ msgid "demux_film: %d Hz, %d-bit %s%s PCM audio\n" -#~ msgstr "demux_film: %d Hz, %d-bitový %s%s PCM zvuk\n" - -#~ msgid "demux_roq: RoQ file, video is %dx%d, %d frames/sec\n" -#~ msgstr "demux_roq: Soubor RoQ, video je %dx%d, %d snímků/s\n" - -#~ msgid "demux_roq: 16-bit, 22050 Hz %s RoQ DPCM audio\n" -#~ msgstr "demux_roq: 16 bitů, 22050 Hz %s RoQ DPCM zvuk\n" - -#~ msgid "demux_fli: FLI type: %04X, speed: %d/%d\n" -#~ msgstr "demux_fli: typ FLI: %04X, rychlost: %d/%d\n" - -#~ msgid "demux_fli: %d frames, %dx%d\n" -#~ msgstr "demux_fli: %d rámců, %dx%d\n" - -#~ msgid "demux_fli: running time: %d min, %d sec\n" -#~ msgstr "demux_fli: doba přehrávání: %d min, %d s\n" - -#~ msgid "demux_idcin: Id CIN file, video is %dx%d, 14 frames/sec\n" -#~ msgstr "demux_idcin: Soubor Id CIN, video je %dx%d, 14 snímků/s\n" - -#~ msgid "demux_idcin: %d-bit, %d Hz %s PCM audio\n" -#~ msgstr "demux_idcin: %d-bitový, %d Hz %s PCM zvuk\n" - -#~ msgid "demux_smjpeg: SMJPEG file, running time: %d min, %d sec\n" -#~ msgstr "demux_smjpeg: Soubor SMJPEG, doba přehrávání: %d min, %d s\n" - -#~ msgid "demux_smjpeg: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_smjpeg: '%c%c%c%c' video @ %dx%d\n" - -#~ msgid "demux_smjpeg: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_smjpeg: '%c%c%c%c' zvuk @ %d Hz, %d bitů, %d %s\n" - -#~ msgid "demux_wav: format 0x%X audio, %d Hz, %d bits/sample, %d %s\n" -#~ msgstr "demux_wav: formát zvuku 0x%X, %d Hz, %d bitů/vzorek, %d %s\n" - -#~ msgid "demux_wav: running time = %lld min, %lld sec\n" -#~ msgstr "demux_wav: doba přehrávání = %lld min, %lld s\n" - -#~ msgid "demux_wav: average bytes/sec = %d, block alignment = %d\n" -#~ msgstr "demux_wav: průměrně %d bytů/s, zarovnání bloku %d\n" - -#~ msgid "demux_aiff: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_aiff: %d Hz, %d kanálů, %d bitů, %d snímků\n" - -#~ msgid "demux_aiff: running time: %d min, %d sec\n" -#~ msgstr "demux_aiff: doba přehrávání: %d min, %d s\n" - -#~ msgid "demux_snd: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_snd: %d Hz, %d kanálů, %d bitů, %d snímků\n" - -#~ msgid "demux_snd: running time: %d min, %d sec\n" -#~ msgstr "demux_snd: doba přehrávání: %d min, %d s\n" - -#~ msgid "" -#~ "demux_voc: VOC format 0x%X audio, %d Hz, running time: %d min, %d sec\n" -#~ msgstr "" -#~ "demux_voc: formát zvuku VOC 0x%X, %d Hz, doba přehrávání: %d min, %d s\n" - -#~ msgid "subtitle time offset in 1/100 sec" -#~ msgstr "časový posun titulků v 1/100 s" - -#~ msgid "target encoding for subtitles (have to match font encoding)" -#~ msgstr "cílové kódování titulků (musí souhlasit s kódováním fontu)" - -#~ msgid "xine audio output plugin using arts-compliant audio devices/drivers" -#~ msgstr "zvukový výstupní modul xine použije zvuková zařízení/ovladače arts" - -#~ msgid "allow illegal vlc codes in mpeg4 streams" -#~ msgstr "dovolit nepřípustné kódy VLC v sekvencích mpeg4" - -#~ msgid "demux_vqa.c: input not seekable, can not handle!\n" -#~ msgstr "" -#~ "demux_vqa.c: u tohoto vstupu nelze nastavovat pozici v datech, nelze " -#~ "zpracovat!\n" - -#~ msgid "demux_vqa: %dx%d VQA video; %d-channel %d Hz IMA ADPCM audio\n" -#~ msgstr "demux_vqa: %dx%d video VQA; %d-kanálový %d Hz IMA ADPCM zvuk\n" - -#~ msgid "demux_ts: FIXME: (unsupported )PAT spans multiple TS packets\n" -#~ msgstr "demux_ts: FIXME: (nepodporováno) PAT přesahuje více paketů TS\n" - -#~ msgid "" -#~ "demux_ts: FIXME: (unsupported) PAT consists of multiple (%d) sections\n" -#~ msgstr "demux_ts: FIXME: (nepodporováno) PAT se skládá z více (%d) sekcí\n" - -#~ msgid "" -#~ "demux_ts: demux error! PAT with invalid CRC32: packet_crc32: %.8x " -#~ "calc_crc32: %.8x\n" -#~ msgstr "" -#~ "demux_ts: chyba z demultiplexoru! PAT s neplatným CRC32: packet_crc32: " -#~ "%.8x calc_crc32: %.8x\n" - -#~ msgid "demux_ts: error %02x %02x %02x (should be 0x000001)\n" -#~ msgstr "demux_ts: chyba %02x %02x %02x (mělo by být 0x000001)\n" - -#~ msgid "fifo unavailable (%d)\n" -#~ msgstr "nedostupné fifo (%d)\n" - -#~ msgid "demux_ts: unexpected cc %d (expected %d)\n" -#~ msgstr "demux_ts: neočekávané cc %d (očekáváno: %d)\n" - -#~ msgid "demux_ts: corrupted pes encountered\n" -#~ msgstr "demux_ts: vyskytla se porušená hlavička PES\n" - -#~ msgid "demux error! PMT with invalid pointer\n" -#~ msgstr "chyba z demultiplexoru! PMT s neplatným ukazatelem\n" - -#~ msgid "" -#~ "demux_ts: demux error! PMT with invalid CRC32: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" -#~ msgstr "" -#~ "demux_ts: chyba z demultiplexoru! PMT s neplatným CRC32: packet_crc32: %" -#~ "#.8x calc_crc32: %#.8x\n" - -#~ msgid "demux error! PMT with inconsistent progInfo length\n" -#~ msgstr "chyba z demultiplexoru! PMT s nekonzistentní délkou progInfo\n" - -#~ msgid "demux error! PMT with inconsistent streamInfo length\n" -#~ msgstr "chyba z demultiplexoru! PMT s nekonzistentní délkou streamInfo\n" - -#~ msgid "demux error! invalid ts sync byte %.2x\n" -#~ msgstr "chyba z demultiplexoru! neplatný synchronizační byte ts %.2x\n" - -#~ msgid "demux error! transport error\n" -#~ msgstr "chyba z demultiplexoru! chyba přenosu\n" - -#~ msgid "demux_ts: demux error! invalid payload size %d\n" -#~ msgstr "demux_ts: chyba z demultiplexoru! neplatná velikost dat %d\n" - -#~ msgid "valid mrls for ts demuxer" -#~ msgstr "platná MRL pro demultiplexor TS" - -#~ msgid "demux %u ts_open!\n" -#~ msgstr "demultiplexor %u ts_open!\n" - -#~ msgid "valid mrls ending for ts demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor TS" - -#~ msgid "input_vcd : error in ioctl CDROMREADTOCHDR\n" -#~ msgstr "input_vcd : chyba při ioctl CDROMREADTOCHDR\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for track %d\n" -#~ msgstr "input_vcd: chyba při ioctl CDROMREADTOCENTRY pro stopu %d\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for lead-out\n" -#~ msgstr "input_vcd: chyba při ioctl CDROMREADTOCENTRY pro lead-out\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY\n" -#~ msgstr "input_vcd: chyba při ioctl CDROMREADTOCENTRY\n" - -#~ msgid "scsi command failed with status %d\n" -#~ msgstr "příkaz scsi selhal s výsledkem %d\n" - -#~ msgid "input_vcd: error in CDRIOCSETBLOCKSIZE %d\n" -#~ msgstr "input_vcd: chyba při ioctl CDRIOCSETBLOCKSIZE %d\n" - -#~ msgid "input_vcd: error in CDROMREADRAW\n" -#~ msgstr "input_vcd: chyba při ioctl CDROMREADRAW\n" - -#~ msgid "input_vcd: seek error %d\n" -#~ msgstr "input_vcd: chyba při posuvu %d\n" - -#~ msgid "input_vcd: read error %d\n" -#~ msgstr "input_vcd: chyba čtení %d\n" - -#~ msgid "input_vcd: error seek to origin %d not implemented!\n" -#~ msgstr "input_vcd: posuv na cíl typu %d není implementován!\n" - -#~ msgid "input_vcd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_vcd: selhalo ioctl CDROMCLOSETRAY: %s\n" - -#~ msgid "input_vcd: CDROMEJECT failed: %s\n" -#~ msgstr "input_vcd: selhalo ioctl CDROMEJECT: %s\n" - -#~ msgid "input_vcd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_vcd: selhalo ioctl CDROM_DRIVE_STATUS: %s\n" - -#~ msgid "vcd_read_toc failed\n" -#~ msgstr "selhala funkce vcd_read_toc\n" - -#~ msgid "valid mrls ending for elementary demuxer" -#~ msgstr "platná zakončení MRL pro základní demultiplexor" - -#~ msgid "valid mrls for mpeg demuxer" -#~ msgstr "platná zakončení pro demultiplexor MPEG" - -#~ msgid "demux_mpeg: please specify mpeg(mpeg1/mpeg2) stream type.\n" -#~ msgstr "demux_mpeg: prosím uveďte typ mpegu (mpeg1/mpeg2).\n" - -#~ msgid "valid mrls ending for mpeg demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor MPEG" - -#~ msgid "valid mrls ending for ogg demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor OGG" - -#~ msgid "valid mrls for mpeg block demuxer" -#~ msgstr "platná MRL pro blokový demultiplexor MPEG" - -#~ msgid "valid mrls ending for mpeg block demuxer" -#~ msgstr "platná zakončení MRL pro blokový demultiplexor MPEG" - -#~ msgid "valid mrls ending for smjpeg demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor SMJPEG" - -#~ msgid "valid mrls ending for aiff demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor AIFF" - -#~ msgid "valid mrls ending for snd demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor SND" - -#~ msgid "valid mrls ending for voc demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor VOC" - -#~ msgid "valid mrls ending for vqa demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor VQA" - -#~ msgid "valid mrls ending for avi demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor AVI" - -#~ msgid "valid mrls ending for mpeg audio demuxer" -#~ msgstr "platná zakončení pro zvukový demultiplexor MPEG" - -#~ msgid "valid mrls ending for qt demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor QT" - -#~ msgid "valid mrls ending for asf demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor ASF" - -#~ msgid "valid mrls ending for film demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor FILM" - -#~ msgid "demux_film: unknown video codec %c%c%c%c\n" -#~ msgstr "demux_film: neznámý kodek videa %c%c%c%c\n" - -#~ msgid "valid mrls ending for roq demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor ROQ" - -#~ msgid "valid mrls ending for idcin demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor IdCIN" - -#~ msgid "valid mrls ending for wav demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor WAV" - -#~ msgid "valid mrls ending for mve demuxer" -#~ msgstr "platná zakončení MRL pro demultiplexor MVE" - -#~ msgid "lstat failed for %s{%s}\n" -#~ msgstr "selhalo lstat pro %s{%s}\n" - -#~ msgid "%s(%d): readlink() failed: %s\n" -#~ msgstr "%s(%d): selhal readlink(): %s\n" - -#~ msgid "input_file: get optional data, type %08x, sub %p\n" -#~ msgstr "input_file: volitelná data, typ %08x, podtyp %p\n" - -#~ msgid "Xv property" -#~ msgstr "vlastnost Xv" - -#~ msgid "xine_notify_stream_finished: can't create new thread (%s)\n" -#~ msgstr "xine_notify_stream_finished: nelze vytvořit nové vlákno (%s)\n" - -#~ msgid "demux_avi: video format = %s\n" -#~ msgstr "demux_avi: video formát = %s\n" - -#~ msgid "demux_avi: video frame size %ld x %ld\n" -#~ msgstr "demux_avi: velikost rámce videa %ld x %ld\n" - -#~ msgid "demux_avi: audio format[%d] = 0x%lx\n" -#~ msgstr "demux_avi: zvukový formát[%d] = 0x%lx\n" - -#~ msgid "demux_avi: unknown audio type 0x%lx\n" -#~ msgstr "demux_avi: neznámý typ zvuku 0x%lx\n" - -#~ msgid "demux_avi: audio type %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_avi: typ zvuku: %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_avi: unknown video codec '%.4s'\n" -#~ msgstr "demux_avi: neznámý kodek videa: '%.4s'\n" - -#~ msgid "demux_avi: video codec is '%s'\n" -#~ msgstr "demux_avi: kodek videa je '%s'\n" - -#~ msgid "demux_mpgaudio: MPEG %s Layer %d %ldkbps\n" -#~ msgstr "demux_mpgaudio: MPEG %s Layer %d %ld kb/s\n" - -#~ msgid "demux_asf: audio format : %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_asf: zvukový formát: %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_asf: video format : %s\n" -#~ msgstr "demux_asf: formát videa: %s\n" - -#~ msgid "demux_asf: stream length is %d sec, rate is %d bytes/sec\n" -#~ msgstr "demux_asf: délka videa je %d s, rychlost dat je %d bytů/s\n" - -#~ msgid "demux_asf: title : %s\n" -#~ msgstr "demux_asf: název : %s\n" - -#~ msgid "demux_asf: author : %s\n" -#~ msgstr "demux_asf: autor : %s\n" - -#~ msgid "demux_asf: comment : %s\n" -#~ msgstr "demux_asf: komentář : %s\n" - -#~ msgid "demux_mpeg_block: unknown block size. try using demux_mpeg.\n" -#~ msgstr "" -#~ "demux_mpeg_block: Neznámá velikost bloku. Zkuste použít demux_mpeg.\n" - -#~ msgid "system layer format '%s' detected.\n" -#~ msgstr "systémová vrstva zjistila formát '%s'.\n" - -#~ msgid "stream format" -#~ msgstr "formát dat" - -#~ msgid "" -#~ "demux_ts: plugin doesn't support plugin API version %d.\n" -#~ " This means there's a version mismatch between xine and this " -#~ "demuxer plugin.\n" -#~ " Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ts: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ " Nainstalování aktuálních demultiplexních modulů by mělo " -#~ "pomoci.\n" - -#~ msgid "" -#~ "demux_avi: this plugin doesn't support plugin API version %d.\n" -#~ "demux_avi: this means there's a version mismatch between xine and this " -#~ "demux_avi: demuxer plugin.\n" -#~ "Installing current demuxer plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: tento modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_elem: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_elem: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_mpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_pes: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_qt: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_ogg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_asf: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_cda: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_cda: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_film: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_film: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_mpeg_block: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg_block: modul nepodporuje programové rozhraní modulů ve verzi %" -#~ "d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_roq: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_roq: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_idcin: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_smjpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins " -#~ "should help.\n" -#~ msgstr "" -#~ "demux_smjpeg: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "demux_wav: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_wav: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " demultiplexním modulem.\n" -#~ "Nainstalování aktuálních demultiplexních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "net input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Modul pro vstup ze sítě nepodporuje programové rozhraní ve verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "rtp input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Vstupní modul rtp nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "stdin/fifo input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Vstupní modul stdin/fifo nepodporuje programové rozhraní modulů ve verzi %" -#~ "d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "file input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Modul pro vstup ze souborů nepodporuje programové rozhraní ve verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "vcd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Modul pro vstup z VCD nepodporuje programové rozhraní ve verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "http input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Modul pro vstup pomocí protokolu http nepodporuje programové rozhraní ve " -#~ "verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "cda input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Vstupní modul cda nepodporuje programové rozhraní ve verzi %d.\n" -#~ "MODUL NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "libmpeg2: plugin doesn't support plugin API version %d.\n" -#~ "libmpeg2: this means there's a version mismatch between xine and this " -#~ "libmpeg2: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmpeg2: tento modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "libmpg123: plugin doesn't support plugin API version %d.\n" -#~ "libmpg123: this means there's a version mismatch between xine and this " -#~ "libmpg123: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmpg123: tento modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "libspudec: Doesn't support plugin API version %d.\n" -#~ "libspudec: This means there is a version mismatch between XINE and\n" -#~ "libspudec: this plugin.\n" -#~ msgstr "" -#~ "libspudec: Nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi XINE a\n" -#~ " tímto modulem.\n" - -#~ msgid "" -#~ "w32codec: plugin doesn't support plugin API version %d.\n" -#~ "w32codec: this means there's a version mismatch between xine and this " -#~ "w32codec: decoder plugin.\n" -#~ "Installing current decoder plugins should help.\n" -#~ msgstr "" -#~ "w32codec: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů na dekódování by mělo pomoci.\n" - -#~ msgid "%s(%d) wrong first stage = %d !!\n" -#~ msgstr "%s(%d) chybná první fáze (%d) !!\n" - -#~ msgid "%s(%s@%d): parameter should be non null, exiting\n" -#~ msgstr "%s(%s@%d): parametr by neměl být null, konec\n" - -#~ msgid "load_plugins: demux plugin found : %s\n" -#~ msgstr "load_plugins: nalezen demultiplexní modul : %s\n" - -#~ msgid "load_plugins: too many demux plugins installed, exiting.\n" -#~ msgstr "" -#~ "load_plugins: instalováno příliš mnoho demultiplexních modulů, konec.\n" - -#~ msgid "" -#~ "load_plugins: %s is no valid input plugin (lacks init_input_plugin() " -#~ "function)\n" -#~ msgstr "" -#~ "load_plugins: %s není platný vstupní modul (postrádá se funkce " -#~ "init_input_plugin()\n" - -#~ msgid "%s(%d): too many input plugins installed, exiting.\n" -#~ msgstr "%s(%d): instalováno příliš mnoho modulů, konec.\n" - -#~ msgid "" -#~ "load_plugins: no input plugins found in %s! - Did you install xine " -#~ "correctly??\n" -#~ msgstr "" -#~ "load_plugins: v adresáři %s nenalezen žádný vstupní modul! - Byl xine " -#~ "korektně nainstalován??\n" - -#~ msgid "spu decoder plugin found : %s\n" -#~ msgstr "nalezen dekodér titulků : %s\n" - -#~ msgid "" -#~ "liblpcm: plugin doesn't support plugin API version %d.\n" -#~ "liblpcm: this means there's a version mismatch between xine and this " -#~ "liblpcm: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "liblpcm: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "ffmpeg: plugin doesn't support plugin API version %d.\n" -#~ "ffmpeg: this means there's a version mismatch between xine and this " -#~ "ffmpeg: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "ffmpeg: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "dxr3_decode_spu: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_spu: this means there's a version mismatch between xine and " -#~ "this dxr3_decode_spu: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "dx3_decode_spu: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "dxr3_decode_video: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_video: this means there's a version mismatch between xine and " -#~ "this\n" -#~ "dxr3_decode_video: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "dx3_decode_video: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "Dxr3: video decoder priority" -#~ msgstr "Dxr3: priorita dekodéru videa" - -#~ msgid "" -#~ "Decoder priorities greater 5 enable hardware decoding, 0 disables it." -#~ msgstr "" -#~ "Priority dekodéru větší než 5 povolí hardwarové dekódování, 0 ho zakáže." - -#~ msgid "" -#~ "libmad: plugin doesn't support plugin API version %d.\n" -#~ "libmad: this means there's a version mismatch between xine and this " -#~ "libmad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmad: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "liba52: plugin doesn't support plugin API version %d.\n" -#~ "liba52: this means there's a version mismatch between xine and this " -#~ "liba52: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "liba52: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "libdts: plugin doesn't support plugin API version %d.\n" -#~ "libdts: this means there's a version mismatch between xine and this " -#~ "libdts: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libdts: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "divx4: plugin doesn't support plugin API version %d.\n" -#~ "divx4: this means there's a version mismatch between xine and this divx4: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "divx4: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "priority of the divx4 plugin (>5 => enable)" -#~ msgstr "priorita modulu divx4 (>5 => povolit)" - -#~ msgid "" -#~ "libvorbis: plugin doesn't support plugin API version %d.\n" -#~ "libvorbis: this means there's a version mismatch between xine and this " -#~ "libvorbis: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libvorbis: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "libsputext: doesn't support plugin api version %d.\n" -#~ "libsputext: This means there is a version mismatch between xine and\n" -#~ "libsputext: this plugin.\n" -#~ msgstr "" -#~ "libsputext: nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a \n" -#~ " tímto modulem.\n" - -#~ msgid "" -#~ "libspucc: doesn't support plugin api version %d.\n" -#~ "libspucc: This means there is a version mismatch between xine and\n" -#~ "libspucc: this plugin.\n" -#~ msgstr "" -#~ "libspucc: nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a \n" -#~ " tímto modulem.\n" - -#~ msgid "" -#~ "xvid: plugin doesn't support plugin API version %d.\n" -#~ "xvid: this means there's a version mismatch between xine and this\n" -#~ "xvid: decoder plugin. Installing current plugins should help.\n" -#~ msgstr "" -#~ "xvid: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "priority of the xvid plugin (>5 => enable)" -#~ msgstr "priorita modulu xvid (>5 => povolit)" - -#~ msgid "" -#~ "cinepak: plugin doesn't support plugin API version %d.\n" -#~ "cinepak: this means there's a version mismatch between xine and this " -#~ "cinepak: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "cinepak: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "RoQ: plugin doesn't support plugin API version %d.\n" -#~ "RoQ: this means there's a version mismatch between xine and this RoQ: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "RoQ: modul nepodporuje programové rozhraní modulů ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "" -#~ "RoQ Audio: plugin doesn't support plugin API version %d.\n" -#~ "RoQ Audio: this means there's a version mismatch between xine and this\n" -#~ "RoQ Audio: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "RoQ Audio: modul nepodporuje programové rozhraní ve verzi %d.\n" -#~ " Toto znamená neslučitelnost verzí mezi xine a tímto\n" -#~ " dekódovacím modulem.\n" -#~ "Nainstalování aktuálních modulů by mělo pomoci.\n" - -#~ msgid "USCSICMD dvd_read_copyright: %s" -#~ msgstr "USCSICMD dvd_read_copyright: %s" - -#~ msgid "bad status: READ DVD STRUCTURE (copyright)\n" -#~ msgstr "neúspěch: ČTENÍ STRUKTURY DVD (autorská práva)\n" - -#~ msgid "input_dvd: Could not read Copyright Structure\n" -#~ msgstr "input_dvd: Nešlo přečíst strukturu s autorskými právy\n" - -#~ msgid "" -#~ "input_dvd: Could not read Copyright Structure.\n" -#~ " Assuming disk is not encrypted.\n" -#~ msgstr "" -#~ "input_dvd: Nešlo přečíst strukturu s autorskými právy.\n" -#~ " Bude se předpokládat, že disk není zašifrovaný.\n" - -#~ msgid "" -#~ "\n" -#~ "input_dvd: Sorry, this plugin doesn't play encrypted DVDs. The legal " -#~ "status\n" -#~ " of CSS decryption is unclear and we can't provide such code.\n" -#~ " Please check http://dvd.sf.net for more information.\n" -#~ msgstr "" -#~ "\n" -#~ "input_dvd: Litujeme, xine nepřehrává zašifrovaná DVD. Legální status CSS\n" -#~ " dešifrování je nejasný a my neposkytujeme takový kód.\n" -#~ " Více informací získáte na adrese http://dvd.sf.net\n" - -#~ msgid "input_dvd: Unable to find >%s< on dvd.\n" -#~ msgstr "input_dvd: Na DVD nelze nalézt >%s<.\n" - -#~ msgid "input_dvd: error read: %Ld bytes is not a sector!\n" -#~ msgstr "input_dvd: chyba čtení: %Ld bytů není sektor!\n" - -#~ msgid "input_dvd: read error in input_dvd plugin (%s)\n" -#~ msgstr "input_dvd: chyba čtení v modulu input_dvd (%s)\n" - -#~ msgid "input_dvd: short read in input_dvd (%d != %d)\n" -#~ msgstr "input_dvd: krátké čtení v modulu input_dvd (%d != %d)\n" - -#~ msgid "" -#~ "input_dvd: error in input_dvd plugin read: %Ld bytes is not a sector!\n" -#~ msgstr "input_dvd: chyba čtení v modulu input_dvd: %Ld bytů není sektor!\n" - -#~ msgid "input_dvd: seek: %d is an unknown origin\n" -#~ msgstr "input_dvd: seek: %d je neznámý počátek\n" - -#~ msgid "input_dvd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_dvd: ioctl CDROMCLOSETRAY selhalo: %s\n" - -#~ msgid "input_dvd: CDROMEJECT failed: %s\n" -#~ msgstr "input_dvd: ioctl CDROMEJECT selhalo: %s\n" - -#~ msgid "input_dvd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_dvd: ioctl CDROM_DRIVE_STATUS selhalo: %s\n" - -#~ msgid "ioctl(cdromallow): %s" -#~ msgstr "ioctl(cdromallow): %s" - -#~ msgid "ioctl(cdromeject): %s" -#~ msgstr "ioctl(cdromeject): %s" - -#~ msgid "" -#~ "dvd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "vstupní modul pro DVD nepodporuje programové rozhraní %d.\n" -#~ "PLUGIN NEAKTIVNÍ.\n" -#~ "Toto znamená neslučitelnost verzí mezi xine a tímto vstupním modulem.\n" -#~ "Nainstalování aktuálních vstupních modulů by mělo pomoci.\n" - -#~ msgid "path to your local dvd device file" -#~ msgstr "cesta k vašemu souboru DVD zařízení" - -#~ msgid "unable to open %s: %s." -#~ msgstr "nelze otevřít %s: %s." - -#~ msgid "" -#~ "demux_qt: video codec %s (%f fps), audio codec %s (%ld Hz, %d bits)\n" -#~ msgstr "" -#~ "demux_qt: video kodek %s (%f snímků/s), zvukový kodek %s (%ld Hz, %d " -#~ "bitů)\n" - -#~ msgid "demux_ts: PUSI set but no PES header (corrupt stream?)\n" -#~ msgstr "" -#~ "demux_ts: nastaven příznak PUSI, ale nenalezena hlavička PES (porušená " -#~ "data?)\n" - -#~ msgid "RE-Sync failed\n" -#~ msgstr "Resynchronizace selhala\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 1.1.6\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2007-04-18 11:00+0200\n" "Last-Translator: Philipp Hahn <pmhahn@users.sf.net>\n" "Language-Team: German <de@li.org>\n" @@ -50,6 +50,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() von %s schlug fehl: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> Überprüfen Sie, ob ein anderen Programm PCM bereits " @@ -327,187 +328,187 @@ msgstr "xine Soundausgabe benutzt kde artsd" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "xine Soundausgabe benutzt Coreaudio/Mac OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Fehler" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "Erfolg" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "Zugriff verweigert" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "Ressource bereits in Benutzung" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "Objekt bereits initialisiert" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "Angegebenes wave-Format nicht unterstützt" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "Speicherpuffer verloren und muß wiederhergesteööt werden" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "Angeforderter Puffereinstellung nicht verfügbar" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "Unbestimmter Fehler in DirectSound-System" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "DirectSound-Hardware nicht verfügbar" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "Funktion ist ungültig im aktuellen Zustand des Objekts" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "Ungültiger Parameter wurde übergeben" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "Objekt unterstützt keine Aggregation" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "Kein Sound-Treiber verfügbar" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "Angeforderte COM-Schnittstelle nicht verfügbar" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "Eine andere Anwendung hat eine höhere Priorität" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "Ungenügend Speicher" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "Niedrige Priorität für diese Funktion" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound wurde nicht initialisiert" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "Funtkion wird nicht unterstützt" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "Unbekannter Fehler" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Kann DirectSound-Objekt nicht erzeugen." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "Konnte DirectSound-Kooperationslevel nicht setzen." -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Konnte keinen sekundären DirectSound-Puffer erzeugen" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Konnte Soundpuffer nicht wiedergeben" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Konnte Soundpuffer nicht stoppen" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Konnte Pufferposition nicht ermitteln" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Konnte Pufferposition nicht setzen" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Konnte Lautstärke nicht setzen" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": Puffer verloren, versuche wiederherzustellen\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Konnte DirectSound-Puffer nicht belegen" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Konnte DirectSound-Puffer nicht freigeben" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Konnte keinen primären DirectSound-Puffer erzeugen." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, fuzzy, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr ": Wiedergabeposition überrannt, leere Puffer\n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": Kann PThread-Bedingung nicht erzeugen: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": Kann PThread-Mutex nicht erzeugen: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": Kann Puffer-PThread nicht erzeugen: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": Kann Puffer-PThread nicht freigeben: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": Kann PThread-Bedigung nicht freigeben: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": Kann PThread-Mutex nicht freigeben: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": Unbekanntes Steuerkommando %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "2. xine Soundausgabe benutzt directx" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "xine Soundausgabe benutzt directx für win32" @@ -517,6 +518,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: Verbinde ESD Server %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: Verbinde ESD Server...\n" @@ -641,10 +643,12 @@ msgstr "" "falls OSS Audio-Gerätenamen auf \"auto\" steht." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, suche Geräte\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Automatische Suche nach Audiogeräten schlug fehl\n" @@ -725,6 +729,7 @@ msgstr "" "Synchronisationsprobleme nach langer Wiedergabe auftreten." #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -845,11 +850,13 @@ msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" "ffmpeg_audio_dec: Konnte keinen ffmpeg-Dekoder für Puffertyp 0x%X finden\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: Besuche NULl-Codec zu öffnen\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: Konnte Dekoder nicht öffnen\n" @@ -858,38 +865,42 @@ msgstr "ffmpeg_audio_dec: Konnte Dekoder nicht öffnen\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: Vergrößere Puffer auf %d um Überlauf zu vermeiden.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: Nichtunterstütztes Bildformat, DR1 deaktiviert.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "ffmpeg_video_dec: Nichtunterstütztes Bildformat, DR1 deaktiviert.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" "ffmpeg_video_dec: Konnte keinen ffmpeg-Dekoder für Puffertyp 0x%X finden\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: Konnte Dekoder nicht öffnen\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: Direktausgabe aktiviert\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: Vergrößere Puffer auf %d um Überlauf zu vermeiden.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "Qualität der MPEG-4 Nachbearbeitungsstufe" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -903,11 +914,11 @@ msgstr "" "kann zu starke Nachbearbeitung das Bild durch zu starkes verwischen " "verschlechtern." -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -916,11 +927,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -930,11 +941,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1041,6 +1052,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "Nicht unterstützte FLV-Version (%d).\n" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "Weder ein Video- noch ein Audio-Datenstrom in dieser Datei.\n" @@ -1065,6 +1077,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: Unbekanntes Paket: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: Bild zu grpß für Puffer" @@ -1078,6 +1091,7 @@ msgstr "" "Entwicklern melden.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1098,7 +1112,7 @@ msgstr "" "demux_mpeg_block: Warnung: PES-Header deutet an, das dieser Datenstrom " "verschlüsselt sein könnte (Verschlüsselungsmodus %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1107,20 +1121,20 @@ msgstr "" "xine-lib:demux_mpeg_ps: Unbekannte Strom-Id 0x%02x. Bitte bei den xine-" "Entwicklern melden.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: Warnung: PACK-Datenstrom id=0x%x Dekodierung " "fehlgeschlagen.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: Warnung: PES-Header reserviert 10 Bits nicht gefunden\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1129,7 +1143,7 @@ msgstr "" "demux_mpeg_pes: Warnung: PES-Header deutet an, das dieser Datenstrom " "verschlüsselt sein könnte (Verschlüsselungsmodus %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1155,6 +1169,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: Unbekannter Audiotyp: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "demux_tta: Gesamt-Bildanzahl zu hoch\n" @@ -1200,6 +1215,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Öffnen des SPU-Geräts %s (%s) schlug fehl\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "Angeforderter Knopf nicht verfügbar\n" @@ -1288,6 +1304,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Öffnen des Video-Geräts %s (%s) schlug fehl\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: Schreibzugriff würde blockieren. Leeren\n" @@ -1302,6 +1319,7 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: WARNUNG: Unbekannter Code für Wiederholrate %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" @@ -1309,10 +1327,12 @@ msgstr "" "NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: Initialisierung von librte schlug fehl\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1321,10 +1341,12 @@ msgstr "" "sind\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: rte-Kontext konnte nicht geholt werden.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: CODEC konnte nicht erzeugt werden.\n" @@ -1351,6 +1373,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: Kodierung kann nicht gestartet werden: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: FAME-Bibliothek konnte nicht gestartet werden\n" @@ -1458,20 +1481,24 @@ msgstr "" "sie ist veraltet und evtl. sogar defekt." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" "video_out_dxr3: MPEG-Kodierer libavcodec konnte nicht initialisiert werden.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: MPEG-Kodierer rte konnte nicht initialisiert werden.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "" "video_out_dxr3: MPEG-Kodierer fame konnte nicht initialisiert werden.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1488,6 +1515,7 @@ msgstr "" "konfigurieren.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1610,6 +1638,7 @@ msgstr "" "Sie dies, falls Sie grüne Linien am oberen oder unteren Rand sehen." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: Starten Sie autocal, Überlagerung deaktiviert\n" @@ -1634,10 +1663,12 @@ msgstr "" "default: Einstellungen der Karte beibehalten" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: Setzen des Videomodus schlug fehl.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1647,6 +1678,7 @@ msgstr "" "video_out_dxr3: Lesen Sie README.dxr3 für Details.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: Fehler beim Lesen der Überlagerungsdatei. Starten Sie " @@ -1771,58 +1803,63 @@ msgstr "input_dvb: Öffnen der DVB-Kanaldatei '%s' schlug fehl\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: Öffnen der DVB-Kanaldatei '%s' schlug fehl\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: tuner_set_channel schlug fehl\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: Kann DVB-Gerät nicht öffnen\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: Kanal %d außerhalb des Bereis, benutzt 0\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: Suche nach Kanal %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: Keine exakte Übereinstimmung für %s gefunden: versuche teilweise " "Übereinstimmung\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: Übereinstimmung mit Kanal %s gefunden\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "input_dvb: Kanal %s nicht in channels.conf gefunden, Standardkanal.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" "input_dvb: Ungültige Kanalspezifikation, benutze zulest gesehenen Kanal.\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "input_dvb: Ungültige Kanalspezifikation, benutze Kanal 0\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1830,7 +1867,8 @@ msgstr "" "input_dvb: DVB-S MRL angegeben, aber Tuner scheint kein QPSK (DVB-S) zu " "sein\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1838,35 +1876,37 @@ msgstr "" "input_dvb: DVB-T MRL angegeben, aber Tuner scheint kein OFDM (DVB-T) zu " "sein\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" "input_dvb: DVB-C MRL angegeben, aber Tuner scheint kein QAM (DVB-C) zu sein\n" -#: src/input/input_dvb.c:2954 -#, fuzzy +#: src/input/input_dvb.c:2958 +#, fuzzy, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" "input_dvb: DVB-C MRL angegeben, aber Tuner scheint kein QAM (DVB-C) zu sein\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: Kann DVR-Gerät '%s' nicht öffnen\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: Kann EPG-Aktualisierungsthread nicht erstellen\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "Benutze DVB 'center cutout' (Zoom)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1874,15 +1914,15 @@ msgstr "" "Dies erlaubt Vollbildwiedergabe von 4:3 Inhalten, die in 16:9 übertragen " "werden." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "DVB (Digital TV) Plugin" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Zuletzt gesehenen DVB-Kanal vermerken" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " @@ -1890,52 +1930,53 @@ msgstr "" "Bei automatischer Widergabe wechselt xine zum zuletztgesehenen Kanal media." "dvb.last_channel. " -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Zuletzt gesehener DVB-Kanal" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "Falls aktiviert vermerkt xine den Kanal und wechselt zu diesem. " -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Nummer der zu benutzenden DVB-Karte." -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" "Belassen Sie den Wert 0, außer Sie haben mehr als eine Karte in ihrem System." -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "input_dvd: Werte von \\beta werden dom erhöhen!\n" @@ -1944,15 +1985,16 @@ msgstr "input_dvd: Werte von \\beta werden dom erhöhen!\n" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Fehler beim Lesen des nächsten Blocks von DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Fehler beim Öffnen des DVD-Geräts\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "Gerät für DVD Wiedergabe" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -1960,11 +2002,11 @@ msgstr "" "Pfadangabe zum Gerät (normalerweise ein DVD Laufwerk), das zur Wiedergabe " "von DVDs benutzt werden soll." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "Pfad zum RAW-Device des DVD-Laufwerks" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1982,11 +2024,11 @@ msgstr "" "Lesen Sie die Dokumentation zu RAW-Devices (man raw) für weitere " "Informationen." -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "CSS Entschlüsselungsmethode" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -1997,11 +2039,11 @@ msgstr "" "Methoden, falls Probleme bei der Wiedergabe von verschlüsselten DVDs " "auftreten." -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "Pfad zum Titelschlüsselcache" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -2017,11 +2059,11 @@ msgstr "" "daß das Verzeichnis nur für die Zwischenpufferung von DVD Titelschlüssel " "genutzt wird." -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "Region (1-8), aus der der DVD Player zu kommen scheint" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -2031,11 +2073,11 @@ msgstr "" "sich über ein falscher Regionscode beschwert wird. Dies hat nichts mit dem " "Regionscode im DVD-Laufwerk zu tun, dies ist nur für die Software." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "Standardsprache für die DVD-Wiedergabe" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -2045,11 +2087,11 @@ msgstr "" "DVD dies unterstützt, werden Menüs und Titel in dieser Sparche angezeigt.\n" "Der Wert muß ein zweibuchstabiger ISO639-Sprachcode sein." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "Vorauseilendes Caching benutzen" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " @@ -2059,11 +2101,11 @@ msgstr "" "Dies kann bei langsamen Laufwerken zu einer stotternden Wiedergabe führen, " "verbessert aber den Einfluß von DVD-Ebenenwechseln bei schnellen Laufwerken." -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "Einheit für die Überspringen-Aktion" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2098,11 +2140,11 @@ msgstr "" "Überspringt eine DVD-Titel, was eine Struktureinheit ist, die einem " "kompletten DVD Film entspricht" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "Einheit beim Suchen" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2126,11 +2168,11 @@ msgstr "" "Der Suchbereich umfaßt ein DVD-Programm, was eine Navigationseinheit ist, " "die einem Kapitel des aktuellen Films entspricht" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "Wiedergabemodus falls Titel/Kapitel angegeben" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2150,49 +2192,49 @@ msgstr "" "one chapter\n" "Nur Wiedergabe des angegebenen Titels/Kapitels, danach Stopp." -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: Lesefehler (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Zugriff verweigert: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Datei nicht gefunden: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Datei leer: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "Datei Plugin" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "Startverzeichnis für Dateisuche" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "Die Dateiauswahl startet an dieser angegebenen Pfadposition" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "Versteckte Dateien anzeigen" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "Fals aktiviert zeigt die Dateiauswahl auch versteckte Dateien." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "Mit xine ausgeliefertes gnome-vfs Plugin" @@ -2201,82 +2243,82 @@ msgstr "Mit xine ausgeliefertes gnome-vfs Plugin" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) schlug fehl: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: Lesefehler %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Kontaktiere HTTP Server..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: Ungültige http-Antwort\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx Weiterleitung : >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: http-Status ungleich 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: Inhaltslänge = %<PRIdMAX> bytes\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: Puffer erschöpft nach %d Bytes." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "http Plugin" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "HTTP Proxy Rechnername" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "Der Rechnername des HTTP Proxys." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "HTTP Proxy Portnummer" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "Die Portnummer des HTTP Proxys." -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "HTTP Proxy Benutzername" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "Der Benutzername für den HTTP Proxy." -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "HTTP Proxy Passwort" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "Das Passwort für den HTTP Proxy." -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "Domains, die den HTTP Proxy umgehen" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2288,15 +2330,15 @@ msgstr "" "Wenn ein Domain-Name mit einem '=' beginnt, trifft er nur auf Hostnamen zu " "(vollständige Übereinstimmung nötig)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "MMS-Streaming-Plugin" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "Netzwerkbandbreite" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2306,11 +2348,11 @@ msgstr "" "benutzt, falls Streaming-Server verschiedene Versionen eines Datenstroms mit " "unterschiedlichen Bandbreitenanforderungen anbieten." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "MMS-Protokoll" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2338,51 +2380,53 @@ msgstr "input_net: Kann '%s' nicht auflösen.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: Kann keine Verbindung zu '%s' herstellen.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "Mit xine ausgeliefertes net Plugin" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "PNM Streaming-Plugin" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: Fehler beim Erstellen der PVR-Datei (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: Fehler beim Öffnen der PVR-Datei (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: Lesefehler (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: Fehler beim Öffnen der Geräts %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_G_CODEC schlug fehl, vielleicht API-Änderung?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_S_CODEC schlug fehl, vielleicht API-Änderung?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "WinTV-PVR 250/350 Plugin" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "Gerät für WinTV-PVR 250/350 (PVR) Plugin" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "Pfadangame zum Gerät der WinTV-Karte" @@ -2435,113 +2479,115 @@ msgstr "Kann keine Verbindung zu '%s' herstellen.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: Stoppe Lese-Thread...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: Lese-Thread terminiert\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Öffne >Dateiname:%s Port:%d Schnittstelle:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: Kann neuen Thread (%s) nicht erstellen\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "Mit xine ausgeliefertes RTP und UDP Plugin" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "RTSP Streaming-Plugin" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "CIFS/SMB Plugin basierend auf libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "Standardeingabe: Kann nicht zurückspulen! (%<PRIdMAX> > %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "Standardeingabe: Öffnen von '%s' schlug fehl\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "Standardeingabe Streaming-Plugin" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Pufferunterlauf..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Pufferüberlauf..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Anpassen..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Empfängername nicht gefunden\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "V4L TV Plugin" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "V4L Radio Plugin" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "Pfad zum V4L Videogerät" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Pfad zum Video4Linux Videogerät" -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "Pfad zum V4L Radiogerät" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Pfad zum Video4Linux Videogerät" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "Pfad zum V4L Radiogerät" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Pfad zum Video4Linux Radiogerät" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: Ungültige MRL: Benutze vcdo:/<Track #>\n" @@ -2554,21 +2600,21 @@ msgstr "input_vcd: Fehlerhafter Track %d (Gültiger Bereich: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Video-CD Plugin" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "Kann %s nicht öffnen: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: Kann %s nicht öffnen: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "Gerät für VCD Wiedergabe" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2592,11 +2638,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: Kann keine Verbindung zum Server %s aufbauen\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: Sitzung kann nicht eingerichtet werden.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2617,6 +2664,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Kontaktiere MMS Server (über TCP)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: Sendefehler\n" @@ -2673,6 +2721,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: Kann keine Verbindung zu '%s' herstellen.\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: Datenstrom konnte nicht eingerichtet werden\n" @@ -2914,6 +2963,7 @@ msgstr "" "2048: Debugging von VCDINFO\n" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "HILFE! Ein nur-Mono-Audiogerät?!\n" @@ -2965,14 +3015,17 @@ msgstr "" "Stereo-Signal gemixt werden." #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() schlug fehl.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 schlug fehl.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit schlug fehl.\n" @@ -2982,10 +3035,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: mpc_streaminfo_read schlug fehl: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: Daten nach letzem Bild ignoriert\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: mpc_decoder_initialise schlug fehl\n" @@ -3015,6 +3070,7 @@ msgstr "" "installieren sind." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "libreal: Kann Symbole nicht auflösen! (Version inkompatibel?)\n" @@ -3035,55 +3091,56 @@ msgstr "" "libareal: Einrichtung der Dekodervariante schlug fehl, Fehlercode: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: Ups, Real ünterstützt mehr als 2 Kanäle?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "Untertitel in MEPG-2-Strömen anzeigen" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "Untertitel sollen Hörgeschädigten helfen." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "Untertitelschema für Vordergrund-/Hintergrundfarbe" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Wählen Sie eine Darstellung für Untertitel." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "Standard Zeichensatz für Untertitel" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Wählen Sie den Zeichensatz für standard Untertiteltexte." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "Italic Zeichensatz für Untertitel" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Wählen Sie den Zeichensatz für kursive Untertiteltexte." -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "Zeichensatzgröße für Untertitel" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Wählen Sie die Zeichensatzgröße für Untertiteltexte." -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "Zentrieren von Untertiteln" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3340,6 +3397,7 @@ msgstr "" "eines Tonsignals wiederzugeben.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": mische Mono zu Stereo hoch.\n" @@ -3351,6 +3409,7 @@ msgstr[0] ": mische einen Kanal von ursprünglich %d Kanal hoch.\n" msgstr[1] ": mische einen Kanal von ursprünglich %d Kanälen hoch.\n" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": Audiogerät ist nicht AO_CAP_MODE_STEREO fähig.\n" @@ -3372,7 +3431,8 @@ msgstr "" "(Standard); 2: Benutzt mehrere Abtastpunkte, um die Variationen mit Hilfe " "des gewichteten Mittels über vorherige Abtastpunkte zu glätten.\n" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 +#, fuzzy msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3386,6 +3446,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3479,7 +3542,8 @@ msgstr "" "Verfügung)\n" "\n" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Keine Deinterlacingmethoden verfügbar, beendet.\n" @@ -3801,7 +3865,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "xine Videoausgabe benutzt ASCII-Art Bibliothek" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "xine Videoausgabe benutzt Farb-ASCII-Art Bibliothek" @@ -3880,22 +3944,27 @@ msgstr "" "Feldpriorität (\"none\"=deaktiviert)." #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "video_out_directfb: Benutzt Hardwarebeschleunigung für Untertitel.\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_directfb: Ebene unterstützt Videoausgabe.\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_directfb: Ebene unterstützt kein YV12!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: Ebene unterstützt kein YUT2!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3913,11 +3982,13 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: Ebene unterstützt keine Option 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" "video_out_directfb: Benutzt Hardwarebeschleunigung für Bildskalierung.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3944,6 +4015,7 @@ msgid "xine video output plugin using DirectFB." msgstr "xine Videoausgabe benutzt DirectFB" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "video_out_directfb: Keine benutzbare Anzeigenebene gefunden!\n" @@ -3951,7 +4023,7 @@ msgstr "video_out_directfb: Keine benutzbare Anzeigenebene gefunden!\n" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "xine Videoausgabe benutzt DirectFB unter XDirectFB" -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "xine Videoausgabe benutzt für win32 benutzt directx" @@ -3982,6 +4054,7 @@ msgstr "" "Framebuffer-Gerät bezeichnet." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Ihr Videomodues wurde nicht erkannt, Entschuldigung.\n" @@ -4005,6 +4078,7 @@ msgstr "" " der Framebuffer-Auflösung kann helfen.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -4123,6 +4197,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "xine Videoausgabe mit OpenGL 3D Grafikschnittstelle" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx32: Fehler: DGA Zeichenfläche für Videofenster nicht bekommen\n" @@ -4138,6 +4213,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "video_out_pgx32: Fehler: '%s' ist kein pgx32 Framebuffer Gerät\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx64: Fehler: DGA Zeichenfläche für Videofenster nicht bekommen\n" @@ -4163,6 +4239,7 @@ msgstr "" "video_out_pgx64: Fehler: '%s' ist kein xvr100/pgx64/pgx24 Framebuffer Gerät\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" @@ -4170,26 +4247,31 @@ msgstr "" "benutzt\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" "video_out_pgx64: Fehler: Fenstereigenschaften kónnen nicht gesetzt werden\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Warnung: Wenig Videospeicher, Mehrfachpufferung " "deaktiviert\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Fehler: Ungenügend Videospeicher\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Warnung: Wenig Videospeicher, Doppelpufferung deaktiviert\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Fehler: ioctl(FBIOGATTR) schlug fehl\n" @@ -4246,10 +4328,12 @@ msgstr "" "deaktivieren." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "SDL muß eine 16 Bit Ausgabe emulieren, was alles verlangsamt.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: Vollbildmodus wird NICHT unterstützt\n" @@ -4262,38 +4346,46 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "xine Videoausgabe benutzt LibStk Surface Set-top Toolkit" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: Fehler. (YUY2 wird von der Grafikkarte nicht unterstützt)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: Fehler. (YV12 wird von der Grafikkarte nicht unterstützt)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: Info. (SyncFB-Modul unterstützt YUV 4:2:0 (3 Ebenen))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: Info. (SyncFB-Modul unterstützt YUV 4:2:0 (2 Ebenen))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: Info. (SyncFB-Modul unterstützt YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: Info. (SyncFB-Modul unterstützt YUY2)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: Info. (SyncFB-Modul unterstützt RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -4302,6 +4394,7 @@ msgstr "" "RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4378,18 +4471,22 @@ msgstr "" "Flackern und Fransenbildung, benötigt aber mehr Grafikspeicher." #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: Adapter unterstützt das YUY2 Format\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: Adapter unterstützt das YV12 Format\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: Sie haben die falsche Version der VIDIX-Bibliothek\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: Kein funktionierende VIDIX-Treiber gefunden\n" @@ -4428,6 +4525,7 @@ msgstr "" "video_out_xcbshm: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4438,6 +4536,7 @@ msgstr "" "video_out_xcbshm: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4460,12 +4559,14 @@ msgstr "" "von 16 bpp empfohlen!\n" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xcbshm: MIT-Shared-Memory-Erweiterung für Anzeige nicht " "vorhanden.\n" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "" "video_out_xcbshm: Der Videomodus wurde nicht erkannt, Entschuldigung :-(\n" @@ -4474,7 +4575,8 @@ msgstr "" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "xine Videoausgabe benutzt 'MIX X Shared Memory' Erweiterung" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4482,7 +4584,7 @@ msgstr "" "video_out_xcbv: XvShmCreateImage lieferte Größe 0 zurück\n" "video_out_xcbv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4491,7 +4593,8 @@ msgstr "" "video_out_xcbxv: Shared-Memory-Fehler bei shmget: %s\n" "video_out_xcbxv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4499,17 +4602,24 @@ msgstr "" "video_out_xcbxv: X11-Fehler bei Shared-Memory-XImage-Erstellung\n" "video_out_xcbxv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: Xv-Erweiterung nicht vorhanden.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4520,7 +4630,7 @@ msgstr "" "benutzbarer YUV12-Port gefunden.\n" " Unterstützt die Grafikhardware evtl. kein Xv?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4529,11 +4639,11 @@ msgstr "" "video_out_xcbxv: Benutze Xv-Port %d von Adapter %s for Hardware-" "Farbraumtransformation und Skalierung.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 #, fuzzy msgid "" "This option will synchronize the update of the video image to the repainting " @@ -4545,21 +4655,23 @@ msgstr "" "Darstellung des gesamten Bildschirms (\"Strahlenrücklauf\"). Dies verhindert " "Flackern und Fransenbildung, benötigt aber mehr Grafikspeicher." -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xcbxv: Adapter unterstützt YV12 Format.\n" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: Adapter unterstützt YUY2 Format.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "Deinterlace-Methode (veraltet)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4630,12 +4742,13 @@ msgstr "" "Verwischt das Bild vertikal, um Kammartefakte zu entfernen. Gute Resultate " "bei mittlerer CPU-Auslastung." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "xine Videoausgabe benutzt 'MIX XVideo' Erweiterung" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4653,6 +4766,7 @@ msgstr "" "video_out_xshm: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4661,6 +4775,7 @@ msgstr "" "video_out_xshm: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4669,16 +4784,19 @@ msgstr "" "video_out_xshm: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT-Shared-Memory-Erweiterung für Anzeige nicht vorhanden.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "" "video_out_xshm: Der Videomodus wurde nicht erkannt, Entschuldigung :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4686,7 +4804,8 @@ msgstr "" "video_out_xv: XvShmCreateImage schlug fehl\n" "video_out_xv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4694,7 +4813,7 @@ msgstr "" "video_out_xv: XvShmCreateImage lieferte Größe 0 zurück\n" "video_out_xv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4703,7 +4822,8 @@ msgstr "" "video_out_xv: Shared-Memory-Fehler bei shmget: %s\n" "video_out_xv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4711,11 +4831,18 @@ msgstr "" "video_out_xv: X11-Fehler bei Shared-Memory-XImage-Erstellung\n" "video_out_xv: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Xv-Erweiterung nicht vorhanden.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4725,7 +4852,7 @@ msgstr "" "YUV12-Port gefunden.\n" " Unterstützt die Grafikhardware evtl. kein Xv?!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4734,23 +4861,27 @@ msgstr "" "video_out_xv: Benutze Xv-Port %ld von Adapter %s for Hardware-" "Farbraumtransformation und Skalierung.\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: Adapter unterstützt YV12 Format.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: Adapter unterstützt YUY2 Format.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "xine Videoausgabe benutzt XvMC XVideo-Erweiterung" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: XvMC-Erweiterung nicht vorhanden.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4758,7 +4889,7 @@ msgstr "" "video_out_xvmc: Xv-Erweiterung ist vorhanden, aber es wurde kein benutzparer " "YUV12-Port gefunden.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4767,24 +4898,28 @@ msgstr "" "video_out_xvmc: Benutze Xv-Port %ld von Adapter %s for Hardware-" "Farbraumtransformation und Skalierung\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " IDCT und Bewegungskompensationsbeschleunigung \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " nur Bewegungskompensationsbeschleunigung\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " Keine XvMC-Unterstützung \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " Mit Überlagerung = %d; UnsignedIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4793,6 +4928,7 @@ msgstr "" "video_out_xxmc: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4810,6 +4946,7 @@ msgstr "" "video_out_xxmc: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4817,11 +4954,13 @@ msgstr "" "video_out_xxmc: X11-Fehler bei Shared-Memory-XImage-Erstellung\n" "video_out_xxmc: => MIT-Shared-Memory-Erweiterung wird nicht genutzt.\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: Xv-Erweiterung nicht vorhanden.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4831,7 +4970,7 @@ msgstr "" "YUV12-Port gefunden.\n" " Unterstützt die Grafikhardware evtl. kein Xv?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4840,19 +4979,21 @@ msgstr "" "video_out_xxmc: Benutze Xv-Port %ld von Adapter %s for Hardware-" "Farbraumtransformation und Skalierung.\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: Adapter unterstützt YV12 Format.\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: Adapter unterstützt YUY2 Format.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "XvMC belegt zur besseren Pufferung mehr Bildspeicher." -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" @@ -4862,11 +5003,11 @@ msgstr "" "Diese Option, wenn ausgewählt, veranlasst den Treiber 15\n" "Bilder zu belegen. Ein Muß für Unichrome oder live VDR.\n" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Unichrome Prozessorschoner" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" @@ -4877,11 +5018,11 @@ msgstr "" "Patch.\n" "Experimentell.\n" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Behebe NVIDIA XvMV Subpicture-Farbfehler" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" @@ -4890,11 +5031,11 @@ msgstr "" "blau darstellt und umgekehrt. Diese Option liefert eine provisorische " "Lösung.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Benutze BOB als beschleunigte Deinterlacingmethode." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" @@ -4903,39 +5044,42 @@ msgstr "" "alterniere zwischen oberer und unterer Hälfte bei doppelter " "Bildwiederholrate.\n" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: XShape-Erweiterung nicht verfügbar. Unskalierte Überlagerung " "deaktiviert.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: Fehler bei Fenstererstellung. Unskalierte Überlagerung deaktiviert.\n" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: Fehler bei Bitmapstellung. Unskalierte Überlagerung deaktiviert.\n" @@ -5000,17 +5144,28 @@ msgstr "pitch alignment Abhilfe" msgid "Some buggy video drivers need a workaround to function properly." msgstr "Einige fehlerhafte Videotreiber benötigen dies zur korrekten Funktion." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "Flackerfilterung" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "Deaktiviert exaktes Alphaüberblendn bei Overlays" @@ -5055,6 +5210,7 @@ msgstr "" "Speicherverbrauch." #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" @@ -5062,19 +5218,22 @@ msgstr "" "Audiogerät\n" #: src/xine-engine/audio_out.c:1249 -#, fuzzy +#, fuzzy, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "Schreiben an Soundkarte schlug fehl. Wurde ein USB-Gerät entfernt?\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "Keine Treiberunterstützung für 8 Bit, Konvertierung zu 16 Bit.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "Keine Treiberunterstützung für Mono, Konvertierung zu Stereo.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "Keine Treiberunterstützung für Stereo, Konvertierung zu Mono.\n" @@ -5206,6 +5365,7 @@ msgstr "" "Wenn nicht angewählte, lässt xine die Lautstärke beim Starten unverändert." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: Ups, das sollte eigentlich nicht passieren, bitte xine " @@ -5216,44 +5376,46 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "xine-lib: buffer.c: Fataler Defekt: ZU VIELE FREIGABEN\n" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "Die Konfigurationsdatei wurde von einer neueren Version von xine modifiziert." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: WARNUNG: Sichern der Konfigurationsdatei nach %s schlug fehl\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: WARNUNG: Ihre Konfigurationsdatei wird nicht gesichert\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: WARNUNG: Schreiben der Konfiguration nach %s schlug fehl\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: WARNUNG: Entferne möglicherweise kaputte Konfigurationsdatei %s\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: WARNUNG: Überprüfen Sie die Sicherheitskopie %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: Eintrag '%s' darf nicht per MRL geändert werden\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "info_helper: Kann locale-Zeichensatz nicht erkennen\n" @@ -5521,6 +5683,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: Audio-Plugin <%s> konnte nicht geladen werden\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5537,52 +5700,54 @@ msgstr "" "load_plugins: Kann Pluginbibliothek %s nicht entladen:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "Zeichensatz '%s-%d' bereits geladen, seltsam.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "Laden des Zeichensatzs '%s' schlug fehl (%d <%d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "Falsche Version von Zeichensatz '%s'. Erwartet %d gefunden %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: Kann ft2-Bibliothek nicht initialisieren\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: Fehler beim Suchen des Zeichensatzes %s mit FontConfig" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: Fehler beim Laden des Zeichensatzes %s mit FontConfig" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: Fehler beim Zusammenstellen des Zeichensatzes %s mit FontConfig" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: Fehler beim Laden des Zeichensatzes %s mit ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" "osd: Fehler beim Setzen der Zeichensatzgröße (kein skalierbarer " "Zeichensatz?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5591,43 +5756,48 @@ msgstr "" "osd: Unbekannte Sequenz startet mit Byte 0x%02X in Kodierung \"%s\", " "überspringe\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: Kann locale-Zeichensatz nicht erkennen\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "" "osd: Nichtunterstützte Konvertierung %s -> %s, keine Konvertierung " "durchgeführt\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: Zeichensatz nicht definiert\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: Fehler beim Laden von Bildzeichen\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: Fehler beim Darstellen von Bildzeichen\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: Fehler beim Laden des Bildzeichens %i\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: Fehler beim Darstellen\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "Farbpalette (Vordergrund-Rand-Hintergrund) für Untertitel und OSD" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5714,6 +5884,7 @@ msgstr "" "angezeigt werden, weil sie nicht rechtzeitig dargestellt werden konnten." #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out : Ups, das sollte eigentlich nicht passieren, bitte xine " @@ -5781,6 +5952,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: Fehler beim Parsen der MRL\n" @@ -5810,6 +5982,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: Join rip Plugin\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: Fehler beim Öffnen einer RIP-Plugin-Instanz\n" @@ -5819,18 +5992,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: Letztes Demultiplexer-Plugins %s startete nicht\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "Ignoriere Video\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "Ignoriere Audio\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "Ignoriere Untertitel\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "Input-Cache Plugin deaktiviert\n" @@ -5840,6 +6017,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "Untertitel-MRL öffnet '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: Fehler beim Öffnen der Untertitel-MRL\n" @@ -5898,6 +6076,7 @@ msgid "The specified save_dir might be a security risk." msgstr "Das angegebene save_dir kann ein Sicherheitsproblem sein." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: Locale wird nicht von C-Bibliothek unterstützt\n" @@ -6071,1959 +6250,6 @@ msgstr "" "gewählt wird." #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Geschwindigkeitsvergleich der memcpy-Methoden (klein ist besser):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Konnte kein Pufferposition-Ereignis erzeugen." - -#~ msgid "Unable to get notification interface" -#~ msgstr "Konnte Benachrichtigungs-Schnittstelle nicht bekommen " - -#~ msgid "Unable to set notification positions" -#~ msgstr "Konnte Benachrichtigungs-Position nicht setzen" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": %ld msec verzögert\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: Falsche ASX Version: %s\n" - -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "dvbsub: Kann keinen Zeitgeber-Thread erzeugen\n" - -#~ msgid "make the overlay behave like a fixed layer (for debugging)" -#~ msgstr "Überlagerungsebene verhält sich wie feste Ebene (zur Fehlersuche)" - -#~ msgid "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) failed.\n" -#~ msgstr "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) schlug fehl.\n" - -#~ msgid "video brightness" -#~ msgstr "Videohelligkeit" - -#~ msgid "The brightness of the video image." -#~ msgstr "Die Helligkeit des Videos." - -#~ msgid "The saturation of the video image." -#~ msgstr "Die Sättigung des Videos." - -#~ msgid "brightness correction" -#~ msgstr "Helligkeitskorrektur" - -#~ msgid "" -#~ "The brightness correction can be used to lighten or darken the image. It " -#~ "changes the blacklevel without modifying the contrast, but it limits the " -#~ "tonal range." -#~ msgstr "" -#~ "Die Helligkeitskorrektur kann benutzt werden, um ein Bild aufzuhellen " -#~ "oder zu verdunkeln. Sie verändert den Schwarzlevel ohne den Kontrast zu " -#~ "beeinflussen, limitiert aber den Tonumfang." - -#~ msgid "Do we use read-ahead caching?" -#~ msgstr "Vorzeitiges Caching benutzen?" - -#~ msgid "This integer is a debugging mask when interpreted in binary." -#~ msgstr "" -#~ "Als Bitfeld interpretiert gibt der Wert eine Maske zur Fehlersuche an." - -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "audio_oss_out: open() %s schlug fehl: %s\n" - -#~ msgid "" -#~ "This will display the current channel name in xine's on-screen-display. " -#~ "Menu button 7 will disable this temporarily." -#~ msgstr "" -#~ "Dies zeigt den aktuellen Kanalnamen in xine's On-Screen-Dislay an. " -#~ "Menuknopf 7 deaktiviert dies zwischenzeitlich." - -#~ msgid "" -#~ "A Comma separated list of domain names, where the proxy is to be ignored." -#~ msgstr "" -#~ "Eine kommaseparierte Liste von Domainnamen, bei denen der Proxy ignoriert " -#~ "werden soll." - -#~ msgid "selection has no DEFAULT entry" -#~ msgstr "Auswahl hat keinen DEFAULT-Eintrag" - -#~ msgid "" -#~ "You can disable video scaling globally. The image will then no longer " -#~ "adapt to the size of the video window, which can dramatically reduce CPU " -#~ "usage." -#~ msgstr "" -#~ "Sie können global alle Videoskalierungen deaktivieren. Das Bild passt " -#~ "sich dann nicht länder der Fenstergröße des Videofensters an, was die CPU-" -#~ "Auslastung dramatisch reduzieren kann." - -#~ msgid "device used for 5+ channel output" -#~ msgstr "Gerät für 5+-Kanalausgabe" - -#~ msgid "used to inform xine about what the sound card can do" -#~ msgstr "" -#~ "Wird gebraucht, um xine über die Fähigkeiten der Soundkarte zu informieren" - -#~ msgid "OSS number N to append to audio device name /dev/dsp[N], -1 for none" -#~ msgstr "" -#~ "OSS-Gerätenummer N zum Anhängen an Gerätenamen /dev/dsp[N], -1 für nichts" - -#~ msgid "Adjust a/v sync for OSS softsync" -#~ msgstr "A/V Synchronisationsanpassung für OSS SoftSync" - -#~ msgid "Use this to manually adjust a/v sync if you're using softsync" -#~ msgstr "" -#~ "Benutze dies um die A/V Synchronisation manuell anzupassen, falls " -#~ "SoftSync benutzt wird" - -#~ msgid "Enable 4.0 channel analog surround output" -#~ msgstr "Aktiviere analogen 4.0-Kanalraumklang" - -#~ msgid "Enable 5.0 channel analog surround output" -#~ msgstr "Aktiviere analogen 5.0-Kanalraumklang" - -#~ msgid "Enable 5.1 channel analog surround output" -#~ msgstr "Aktiviere analogen 5.1-Kanalraumklang" - -#~ msgid "OSS mixer device" -#~ msgstr "OSS Mixergerät" - -#~ msgid "device used for audio output with the 'Sun' audio plugin" -#~ msgstr "Gerät für Soundausgabe mit 'Sun'-Audio-Plugin" - -#~ msgid "The device file of the dxr3 mpeg decoder card control device." -#~ msgstr "Der Gerätepfad für das Steuergerät der DXR3-MPEG-Dekoderkarte." - -#~ msgid "This is relevant for progressive video only (most PAL films)." -#~ msgstr "" -#~ "Dies ist nur für progessive Videos (die meisten PAL-Filme) interessant." - -#~ msgid "Enable this for streams with wrong frame durations." -#~ msgstr "" -#~ "Aktivieren Sie dies für Streams mit falscher Anzeigedauer für Bilder." - -#~ msgid "The encoding quality of the libfame mpeg encoder library." -#~ msgstr "Die Enkodierungsqualität für die MPEC-Encoderbibliothek libfame." - -#~ msgid "Scr priorities greater 5 make the dxr3 xine's master clock." -#~ msgstr "SCR-Prioritäten größer 5 machen die DXR3 zu xine's Hauptzeitgeber." - -#~ msgid "If disabled, will assume source has 4:3 aspect ratio." -#~ msgstr "Falls deaktiviert, geht xine von einem 4:3 Seitenverhältniss aus." - -#~ msgid "" -#~ "Content other than mpeg has to pass an additional reencoding stage, " -#~ "because the dxr3 handles mpeg only." -#~ msgstr "" -#~ "Nicht-MPEG-Inhalte müssen eine zusätzliche Reenkodierungsstufe " -#~ "durchlaufen, da die DXR3 nur MPEG kann." - -#~ msgid "A greater value widens the tolerance for the overlay keycolor" -#~ msgstr "" -#~ "Ein größerer Wert vergrößert die Toleranz für die den Farbwert des " -#~ "Overlays" - -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_cdda: Kann keine Verbindung zum Rechner aufbauen.\n" - -#~ msgid "input_cdda: unable to resolve '%s'.\n" -#~ msgstr "input_cdda: Kann '%s' nicht auflösen.\n" - -#~ msgid "input_cdda: unable to connect to '%s'.\n" -#~ msgstr "input_cdda: Kann keine Verbindung zu '%s' herstellen.\n" - -#~ msgid "use cddb feature" -#~ msgstr "Benutze CDDB-Funktionalität" - -#~ msgid "selection has no return entry" -#~ msgstr "Auswahl hat keinen Rückkehreintrag" - -#~ msgid "selection has no default entry" -#~ msgstr "Auswahl hat keinen Standardeintrag" - -#~ msgid "selection has no previous entry" -#~ msgstr "Auswahl hat keinen Zurück-Eintrag" - -#~ msgid "" -#~ "Format used in the GUI Title. Similar to the Unix date command. Format " -#~ "specifiers that start with a percent sign. Specifiers are same as the " -#~ "title_format." -#~ msgstr "" -#~ "Format für den GUI-Titel. Ähnlich dem UNIX-date-Kommando starten " -#~ "Formatfelder mit einem Prozentzeichen. Formatfelder sind %A, %C, %c, %F, %" -#~ "I, %L, %N, %P, %p, %S, %T, %V, %v, and %%." - -#~ msgid "This integer when viewed in binary is a debugging mask" -#~ msgstr "" -#~ "Als Binärzahl beschreibt diese Zahl die anzuzeigenden Fehlermeldungen" - -#~ msgid "path to your local vcd device file" -#~ msgstr "Pfad zum lokalen VideoCD-Laufwerk" - -#~ msgid "a/52 volume control" -#~ msgstr "A/52 Lautstärke" - -#~ msgid "Relative path to libdivxdecore.so to open" -#~ msgstr "Relativer Pfad zu libdivxdecore.so" - -#~ msgid "the postprocessing level, 0 = none and fast, 6 = all and slow" -#~ msgstr "" -#~ "Nachbearbeitungsstufe, 0 = keine, aber schnell, 6 = alles, dafür langsam" - -#~ msgid "use divx4 plugin for msmpeg4v3 streams" -#~ msgstr "Benutzte divx4-Plugin für MSmpeg4v3-Ströme" - -#~ msgid "Divx version to check for (set to 0 (default) if unsure)" -#~ msgstr "" -#~ "Zu überprüfende Divx-Version (Falls unsicher, Standardwert 0 belassen)" - -#~ msgid "" -#~ "The bitrate the libavcodec mpeg encoder should use for dxr3's encoding " -#~ "mode" -#~ msgstr "" -#~ "Bitrate für den libavcodec MPEG-Encoder, die im dxr3-Kodierungsmodus " -#~ "benutzt werden soll." - -#~ msgid "Dxr3enc: Use quantizer instead of bitrate" -#~ msgstr "Dxr3enc: Benutze Quantisierer anstatt von Bitrate" - -#~ msgid "Dxr3enc: Minimum quantizer" -#~ msgstr "Dxr3enc: Minimaler Quantisierer" - -#~ msgid "ffmpeg_video_dec: invalid/unknown frame rate code: %d \n" -#~ msgstr "" -#~ "ffmpeg_video_dec: Ungültiger/Unbekannter Bildwiederholratencode: %d\n" - -#~ msgid "" -#~ "Define this to non-zero, if you want automatically hide subtitle after " -#~ "given time. Used only with subtitle formats, where are no end time." -#~ msgstr "" -#~ "Geben Sie einen Wert ungleich Null ann, falls Untertitel automatisch nach " -#~ "dieser Zeit ausgeblendet werden sollen. Wird nur bei Untertitelformaten " -#~ "benutzt, die keine Endzeit haben." - -#~ msgid "Subtitle size (relative window size)" -#~ msgstr "Untertitelgröße (Relativ zu Fenstergröße)" - -#~ msgid "" -#~ "xvid: there is mismatch between API used by currently installed XviD\n" -#~ "xvid: library (%d.%d) and library used to compile this plugin (%d.%d).\n" -#~ "xvid: Compiling this plugin against current XviD library should help.\n" -#~ msgstr "" -#~ "xvid: Es existiert ein API-Versionsunterschied zwischen der verwendeten\n" -#~ " XviD-Bibliothek (%d.%d) und der Version zum Übersetzungszeitpunkt\n" -#~ " (%d.%d). Das Neuübersetzten mit der momentanen Bibliothek sollte " -#~ "hefen.\n" - -#~ msgid "gamma correction for OpenGL driver" -#~ msgstr "Gamma-Korrektur für OpenGL-Treiber" - -#~ msgid "syncfb (teletux) device node" -#~ msgstr "Gerät für SyncFB (TeleTUX)" - -#~ msgid "video_out_xshm: No thread-safe X libraries available.\n" -#~ msgstr "video_out_xshm: Keine Thread-sichere X Bibliothek verfügbar.\n" - -#~ msgid "gamma correction for XShm driver" -#~ msgstr "Gamma-Korrektur für XShm-Treiber" - -#~ msgid "Colorkey used for Xv video overlay" -#~ msgstr "Farbschlüssel für Xv Videooverlay" - -#~ msgid "double buffer to sync video to the retrace" -#~ msgstr "Schattenpuffer zur Synchronisation mit Strahlenrücklauf" - -#~ msgid "workaround for some (buggy) XVideo drivers" -#~ msgstr "Workaraound für einige (fehlerhafte) XVideo-Treiber" - -#~ msgid "Software deinterlace method (Key I toggles deinterlacer on/off)" -#~ msgstr "" -#~ "Software Deinterlacing Methode (Taste 'i' schaltet Deinterlacing ein/aus)" - -#~ msgid "video_out_xv: No thread-safe X libraries available.\n" -#~ msgstr "video_out_xv: Keine Thread-sichere X Bibliothek verfügbar.\n" - -#~ msgid "" -#~ "'resample' might be better if you use a DXR3/H+ card and (analog) audio " -#~ "is processed by your sound card" -#~ msgstr "" -#~ "'resample' kann besser sein, falls eine DXR3/H+ Karte verwendet wird und " -#~ "(analoges) Audio über die Soundkarte wiedergegeben wird" - -#~ msgid "adjust whether resampling is done or not" -#~ msgstr "Audiofrequenz anpassen oder nicht" - -#~ msgid "adjust if audio is offsync" -#~ msgstr "Anpassen, wenn Audio nicht synchron ist" - -#~ msgid "Streams will be saved only into this directory" -#~ msgstr "Datenströme werden nur in dieses Verzeichnis gesichert" - -#~ msgid "Memcopy method to use in xine for large data chunks." -#~ msgstr "Kopiermethode für große Datenbereiche." - -#~ msgid "/dev/dsp# device to use for oss output, -1 => auto_detect" -#~ msgstr "/dev/dsp# Gerät für OSS-Soundausgabe, -1 für automatische Erkennung" - -#~ msgid "" -#~ "demux_mpeg_block: too many errors, stopping playback. Maybe this stream " -#~ "is scrambled?\n" -#~ msgstr "" -#~ "demux_mpeg_block: Zu viele Fehler, breche den Abspielvorgang ab. Ist " -#~ "dieser Datenstrom möglicherweise fehlerhaft ?\n" - -#~ msgid "input not seekable, can not handle!\n" -#~ msgstr "Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "valid mrls for pes demuxer" -#~ msgstr "Gültige MRLs für PES-Demultiplexer" - -#~ msgid "valid mrls ending for pes demuxer" -#~ msgstr "Gültige MRL-Endungen für PES-Demultiplexer" - -#~ msgid "RTP: waiting for preview data\n" -#~ msgstr "RTP: Warte auf Vorschaudaten\n" - -#~ msgid "RTP: waiting for preview data: timeout\n" -#~ msgstr "RTP: Warte auf Vorschaudaten: Zeitüberschreitung\n" - -#~ msgid "Opening >%s<\n" -#~ msgstr "Öffne >%s<\n" - -#~ msgid "Connecting MMS server..." -#~ msgstr "Kontaktiere MMS Server..." - -#~ msgid "subtitle size (relative window size)" -#~ msgstr "Untertitelgröße (Relativ zu Fenstergröße)" - -#~ msgid "" -#~ "FLI: in chunk FLI_COPY : source data (%d bytes) bigger than image, " -#~ "skipping chunk\n" -#~ msgstr "" -#~ "FLI: In Paket FLI_COPY : Quelldaten (%d Bytes) größer als Bild, " -#~ "überspringe Paket\n" - -#~ msgid "FLI: Unrecognized chunk type: %d\n" -#~ msgstr "FLI: Nicht erkanntes PaketTyp: %d\n" - -#~ msgid "" -#~ " warning: processed FLI chunk where chunk size = %d\n" -#~ " and final chunk ptr = %d\n" -#~ msgstr "" -#~ " Warnung: Bearbeite FLI-Paket mit Paketgröße = %d,\n" -#~ " aber endgültiger Paketzeiger = %d\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: Datenstromzeiger außerhalb des gültigen Bereichs (1)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: Bildzeiger außerhalb des gültigen Bereichs (1)\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: Datenstromzeiger außerhalb des gültigen Bereichs (2)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: Bildzeiger außerhalb des gültigen Bereichs (2)\n" - -#~ msgid "MS RLE: ended frame decode with bytes left over (%d < %d)\n" -#~ msgstr "MS RLE: Dekodierung beende mit überschüssigen Bytes (%d < %d)\n" - -#~ msgid "warning: block counter just went negative (this should not happen)\n" -#~ msgstr "Warnung: Blockzähler wurde negativ (sollte nicht passieren)\n" - -#~ msgid "First chunk byte is 0x%02x instead of 0x1e\n" -#~ msgstr "Erstes Paketbyte ist 0x%02x anstatt von 0x1e\n" - -#~ msgid "MOV chunk size != encoded chunk size; using MOV chunk size\n" -#~ msgstr "MOV-Paketgröße != kodierter Paketgröße; benutzte MOV-Paketgröße\n" - -#~ msgid "" -#~ "Unknown opcode %d in rpza chunk. Skip remaining %d bytes of chunk data.\n" -#~ msgstr "" -#~ "Unbekannter OpCode %d in rpza-Paket. Überspringe verbleibende %d Bytes in " -#~ "Paketdaten\n" - -#~ msgid "" -#~ "warning: MOV chunk size != encoded chunk size (%d != %d); using MOV chunk " -#~ "size\n" -#~ msgstr "" -#~ "Warnung: MOV-Paketgröße != kodierter Paketgröße (%d != %d); benutzte MOV-" -#~ "Paketgröße\n" - -#~ msgid "" -#~ "SMC decoder just went out of bounds (stream ptr = %d, chunk size = %d)\n" -#~ msgstr "" -#~ "SMC-Dekodierer außerhalb des zulässigen Bereichs (Datenstromzeiger = %d, " -#~ "Paketgröße = %d)\n" - -#~ msgid "SMC decoder just went out of bounds (row ptr = %d, height = %d)\n" -#~ msgstr "" -#~ "SMC-Dekodierer außerhalb des zulässigen Bereichs (Datenstromzeiger = %d, " -#~ "Höhe = %d)\n" - -#~ msgid "encountered repeat block opcode (%02X) but no blocks rendered yet\n" -#~ msgstr "" -#~ "Wiederholungs-Block-OpCode (%02X) erkannt, aber bisher kein Block " -#~ "gerendert\n" - -#~ msgid "" -#~ "encountered repeat block opcode (%02X) but not enough blocks rendered " -#~ "yet\n" -#~ msgstr "" -#~ "Wiederholungs-Block-OpCode (%02X) erkannt, aber noch nicht genügend " -#~ "Blocks gerendert\n" - -#~ msgid "0xF0 opcode seen in SMC chunk (xine developers would like to know)\n" -#~ msgstr "" -#~ "0xF0 OpCOde in SMC-Paket entdeckt (Bitte an die xine-Entwickler melden)\n" - -#~ msgid "Default x position" -#~ msgstr "Standard-X-Position" - -#~ msgid "Default y position" -#~ msgstr "Standard-Y-Position" - -#~ msgid "Default width" -#~ msgstr "Standardbreite" - -#~ msgid "Default height" -#~ msgstr "Standardhöhe" - -#~ msgid "Default active stream" -#~ msgstr "Standardstrom" - -#~ msgid "Enable A52 / AC5 digital audio output via spdif" -#~ msgstr "Aktiviere digitalen A52 / AC5 Raumklang via SPDIF" - -#~ msgid "demux_roq.c: input not seekable, can not handle!\n" -#~ msgstr "demux_roq.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_fli.c: input not seekable, can not handle!\n" -#~ msgstr "demux_fli.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_smjpeg.c: input not seekable, can not handle!\n" -#~ msgstr "demux_smjpeg.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_wc3movie: encountered unknown chunk: %c%c%c%c\n" -#~ msgstr "demux_wc3movie: Unbekanntes Paket entdeckt: %c%c%c%c\n" - -#~ msgid "input_http: unable to resolve >%s<\n" -#~ msgstr "input_http: Kann >%s< nicht auflösen\n" - -#~ msgid "input_http: timeout\n" -#~ msgstr "input_http: Zeitüberschreitung\n" - -#~ msgid "input_http: opening >/%s< on host >%s<" -#~ msgstr "input_http: Öffne >/%s< auf Rechner >%s<" - -#~ msgid "%s via proxy >%s<" -#~ msgstr "%s über Proxy >%s<" - -#~ msgid "input_http: EAGAIN\n" -#~ msgstr "input_http: EAGAIN\n" - -#~ msgid "NVidia TV-Out support." -#~ msgstr "Unterstützung für NVidia TV-Ausgang" - -#~ msgid "demux_wav.c: input not seekable, can not handle!\n" -#~ msgstr "demux_wav.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_aiff.c: input not seekable, can not handle!\n" -#~ msgstr "demux_aiff.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_snd.c: input not seekable, can not handle!\n" -#~ msgstr "demux_snd.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_voc.c: input not seekable, can not handle!\n" -#~ msgstr "demux_voc.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "Dxr3: contrast control" -#~ msgstr "DXR3: Kontrasteinstellung" - -#~ msgid "Dxr3: saturation control" -#~ msgstr "DXR3: Sättigungseinstellung" - -#~ msgid "OUCH - ran out of buffers\n" -#~ msgstr "OUCH - Es steht kein Speicher mehr zur Verfügung\n" - -#~ msgid "OUCH - dropped input packet %d %d\n" -#~ msgstr "OUCH - Packet %d %d verworfen\n" - -#~ msgid "rtp input plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes rtp Plugin" - -#~ msgid "demux_mpgaudio: no audio driver!\n" -#~ msgstr "demux_mpgaudio: Kein Audio-Treiber!\n" - -#~ msgid "demux_qt.c: input is block organized, can not handle!\n" -#~ msgstr "demux_qt.c: Quelle ist blockbasiert, wird nicht unterstützt!\n" - -#~ msgid "demux_film.c: input not seekable, can not handle!\n" -#~ msgstr "demux_film.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_idcin.c: input not seekable, can not handle!\n" -#~ msgstr "demux_idcin.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_mve.c: input not seekable, can not handle!\n" -#~ msgstr "demux_mve.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_cda.c: input not seekable, can not handle!\n" -#~ msgstr "demux_cda.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "input_cda: ioctl(CDROM_MEDIA_CHANGED) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROM_MEDIA_CHANGED) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSUBCHNL) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMSUBCHNL) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCSTART) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOCSTART) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSTART) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMSTART) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOCPLAYMSF) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMPLAYMSF) schlug fehl: %s.\n" - -#~ msgid "input_cda: No rights to open %s.\n" -#~ msgstr "input_cda: Keine Rechte zum öffnen von %s.\n" - -#~ msgid "input_cda: ioctl(CDROMCLOSETRAY) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMCLOSETRAY) schlug fehl: %s\n" - -#~ msgid "input_cda: ioctl(CDROMEJECT) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMEJECT) schlug fehl: %s\n" - -#~ msgid "input_cda: ioctl(CDROM_DRIVE_STATUS) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROM_DRIVE_STATUS) schlug fehl: %s\n" - -#~ msgid "input_cda: ioctl(CDROMALLOW) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMALLOW) schlug fehl: %s\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCHEADER) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOREADTOCHEADER) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCHDR) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMREADTOCHDR) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCENTRYS) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOREADTOCENTRYS) schlug fehl: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCENTRY) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMREADTOCRNTRY) schlug fehl: %s.\n" - -#~ msgid "input_cda: malformed MRL. Use cda:/<track #>\n" -#~ msgstr "input_cda: Ungültige MRL. Benutze cda:/<Track #>\n" - -#~ msgid "input_cda: invalid track %d (valid range: 1 .. %d)\n" -#~ msgstr "input_cda: Fehlerfafter Track %d (Gültiger Bereich: 1 .. %d)\n" - -#~ msgid "input_cda: error seek to origin %d not implemented!\n" -#~ msgstr "input_cda: Fehler Positionierung auf %d nicht implementiert!\n" - -#~ msgid "cd audio plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes Audio-CD Plugin" - -#~ msgid "demux_qt: Apple Quicktime file, %srunning time: %d min, %d sec\n" -#~ msgstr "demux_qt: Apple Quicktime Datei, %sLaufzeit: %d min, %d sek\n" - -#~ msgid "demux_qt: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_qt: '%c%c%c%c' Video @ %dx%d\n" - -#~ msgid "demux_qt: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_qt: '%c%c%c%c' Audio @ %d Hz, %d Bits, %d %s\n" - -#~ msgid "demux_film: FILM version %c%c%c%c, running time: %d min, %d sec\n" -#~ msgstr "demux_film: FILM Version %c%c%c%c, Laufzeit: %d min, %d sek\n" - -#~ msgid "demux_film: %c%c%c%c video @ %dx%d, %d Hz playback clock\n" -#~ msgstr "" -#~ "demux_film: %c%c%c%c Video @ %dx%d, %d Hz Wiedergabegeschwindigkeit\n" - -#~ msgid "demux_film: %d Hz, %d-bit %s%s PCM audio\n" -#~ msgstr "demux_film: %d Hz, %d-Bits %s%s PCM Audio\n" - -#~ msgid "demux_roq: RoQ file, video is %dx%d, %d frames/sec\n" -#~ msgstr "demux_roq: RoQ Datei, Video ist %dx%d, %d Bilder/s\n" - -#~ msgid "demux_roq: 16-bit, 22050 Hz %s RoQ DPCM audio\n" -#~ msgstr "demux_roq: 16-Bit, 22050 Hz %s RoQ DPCM Audio\n" - -#~ msgid "demux_fli: FLI type: %04X, speed: %d/%d\n" -#~ msgstr "demux_fli: FLI Typ: %04X, Geschwindigkeit: %d/%d\n" - -#~ msgid "demux_fli: %d frames, %dx%d\n" -#~ msgstr "demux_fli: %d Frames, %dx%d\n" - -#~ msgid "demux_fli: running time: %d min, %d sec\n" -#~ msgstr "demux_fli: Laufzeit: %d min, %d sek\n" - -#~ msgid "demux_idcin: Id CIN file, video is %dx%d, 14 frames/sec\n" -#~ msgstr "demux_idcin: Id CIN Datei, Video ist %dx%d, 14 Bilder/s\n" - -#~ msgid "demux_idcin: %d-bit, %d Hz %s PCM audio\n" -#~ msgstr "demux_idcin: %d Bits, %d Hz %s PCM Audio\n" - -#~ msgid "demux_smjpeg: SMJPEG file, running time: %d min, %d sec\n" -#~ msgstr "demux_smjpeg: SMJPEG Datei, Laufzeit: %d min, %d sek\n" - -#~ msgid "demux_smjpeg: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_smjpeg: '%c%c%c%c' Video @ %dx%d\n" - -#~ msgid "demux_smjpeg: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_smjpeg: '%c%c%c%c' Audio @ %d Hz, %d Bits, %d %s\n" - -#~ msgid "demux_wav: format 0x%X audio, %d Hz, %d bits/sample, %d %s\n" -#~ msgstr "demux_wav: Format 0x%X Audio, %d Hz, %d Bits/Sample, %d %s\n" - -#~ msgid "demux_wav: running time = %lld min, %lld sec\n" -#~ msgstr "demux_wav: Laufzeit: %lld min, %lld sek\n" - -#~ msgid "demux_wav: average bytes/sec = %d, block alignment = %d\n" -#~ msgstr "demux_wav: Durchschnitt: %d Bytes/s, Blockausrichtung: %d\n" - -#~ msgid "demux_aiff: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_aiff: '%d Hz, %d Kanäle, %d Bits, %d Bilder\n" - -#~ msgid "demux_aiff: running time: %d min, %d sec\n" -#~ msgstr "demux_aiff: Laufzeit: %d min, %d sek\n" - -#~ msgid "demux_snd: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_snd: %d Hz, %d Kanäle, %d Bits, %d Bilder\n" - -#~ msgid "demux_snd: running time: %d min, %d sec\n" -#~ msgstr "demux_snd: Laufzeit: %d min, %d sek\n" - -#~ msgid "" -#~ "demux_voc: VOC format 0x%X audio, %d Hz, running time: %d min, %d sec\n" -#~ msgstr "demux_voc: VOC Format 0x%X Audio, %d Hz, Laufzeit: %d min, %d sek\n" - -#~ msgid "subtitle time offset in 1/100 sec" -#~ msgstr "Untertitelverzögerung in 1/100 s" - -#~ msgid "target encoding for subtitles (have to match font encoding)" -#~ msgstr "" -#~ "Zielzeichenkodierung für Untertitel (muß mit Zeichensatzkodierung " -#~ "übereinstimmen)" - -#~ msgid "xine audio output plugin using arts-compliant audio devices/drivers" -#~ msgstr "xine Soundausgabe benutzt ARTS-kompatibles Gerät/Treiber" - -#~ msgid "allow illegal vlc codes in mpeg4 streams" -#~ msgstr "Akzeptiere illegale 'vlc'-Codes in MPEG4 Strömen" - -#~ msgid "demux_vqa.c: input not seekable, can not handle!\n" -#~ msgstr "demux_vqa.c: Quelle nicht spulbar, wird nicht unterstützt!\n" - -#~ msgid "demux_vqa: %dx%d VQA video; %d-channel %d Hz IMA ADPCM audio\n" -#~ msgstr "demux_vqa: %dx%d VQA-Video; %d-Kanal %d Hz IMA ADPCM Audio\n" - -#~ msgid "demux_ts: FIXME: (unsupported )PAT spans multiple TS packets\n" -#~ msgstr "" -#~ "demux_ts: FIXME: (nicht unterstützt) PAT umfasst mehrere TS Packete\n" - -#~ msgid "" -#~ "demux_ts: FIXME: (unsupported) PAT consists of multiple (%d) sections\n" -#~ msgstr "" -#~ "demux_ts: FIXME: (nicht unterstützt) PAT besteht aus mehreren (%d) " -#~ "Sektionen\n" - -#~ msgid "" -#~ "demux_ts: demux error! PAT with invalid CRC32: packet_crc32: %.8x " -#~ "calc_crc32: %.8x\n" -#~ msgstr "" -#~ "demux_ts: demux Fehler! PAT mit fehlerhaftem CRC32: packet_crc32: %.8x " -#~ "calc_crc32: %.8x\n" - -#~ msgid "demux_ts: error %02x %02x %02x (should be 0x000001)\n" -#~ msgstr "demux_ts: Fehler %02x %02x %02x (sollte 0x000001 sein)\n" - -#~ msgid "fifo unavailable (%d)\n" -#~ msgstr "fifo nicht verfügbar (%d)\n" - -#~ msgid "demux_ts: unexpected cc %d (expected %d)\n" -#~ msgstr "demux_ts: Unerwarteter Untertitel %d (%d erwartet)\n" - -#~ msgid "demux_ts: corrupted pes encountered\n" -#~ msgstr "demux_ts: Fehlerhaften PES entdeckt\n" - -#~ msgid "demux error! PMT with invalid pointer\n" -#~ msgstr "demux Fehler! PMT mit fehlerhaftem Zeiger\n" - -#~ msgid "" -#~ "demux_ts: demux error! PMT with invalid CRC32: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" -#~ msgstr "" -#~ "demux_ts: demux Fehler! PMT mit fehlerhaftem CRC32: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" - -#~ msgid "demux error! PMT with inconsistent progInfo length\n" -#~ msgstr "demux Fehler! PMT mit inkosistenter progInfo-Länge\n" - -#~ msgid "demux error! PMT with inconsistent streamInfo length\n" -#~ msgstr "demux Fehler! PMT mit inkosistenter streamInfo-Länge\n" - -#~ msgid "demux error! invalid ts sync byte %.2x\n" -#~ msgstr "demux Fehler! Fehlerhaftes TS-Sync-Byte %.2x\n" - -#~ msgid "demux error! transport error\n" -#~ msgstr "demux Fehler! Transportfehler\n" - -#~ msgid "demux_ts: demux error! invalid payload size %d\n" -#~ msgstr "demux_ts: demux Fehler! Fehlerhafte Nutzdaten Größe %d\n" - -#~ msgid "valid mrls for ts demuxer" -#~ msgstr "Gültige MRLs für TS-Demultiplexer" - -#~ msgid "demux %u ts_open!\n" -#~ msgstr "demux %u ts_open!\n" - -#~ msgid "valid mrls ending for ts demuxer" -#~ msgstr "Gültige MRL-Endungen für TS-Demultiplexer" - -#~ msgid "demux_ts: can't create new thread (%s)\n" -#~ msgstr "demux_ts: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "stdin/fifo input plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes stdin/fifi Plugin" - -#~ msgid "input_vcd : error in ioctl CDROMREADTOCHDR\n" -#~ msgstr "input_vcd: Fehler in ioctl CDROMREADTOCHDR\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for track %d\n" -#~ msgstr "input_vcd: Fehler in ioctl CDROMREADTOCENTRY für Track %d\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for lead-out\n" -#~ msgstr "input_vcd: Fehler in ioctl CDROMREADTOCENTRY für Abschluß\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY\n" -#~ msgstr "input_vcd: Fehler in ioctl CDROMREADTOCENTRY\n" - -#~ msgid "scsi command failed with status %d\n" -#~ msgstr "SCSI-Kommando schlug mit dem Status %d fehl\n" - -#~ msgid "input_vcd: error in CDRIOCSETBLOCKSIZE %d\n" -#~ msgstr "input_vcd: Fehler in CDRIOCSETBLOCKSIZE %d\n" - -#~ msgid "input_vcd: error in CDROMREADRAW\n" -#~ msgstr "input_vcd: Fehler in CDROMREADRAW\n" - -#~ msgid "input_vcd: seek error %d\n" -#~ msgstr "input_vcd: Positionierungsfehler %d\n" - -#~ msgid "input_vcd: read error %d\n" -#~ msgstr "input_vcd: Lesefehler %d\n" - -#~ msgid "input_vcd: error seek to origin %d not implemented!\n" -#~ msgstr "input_vcd: Fehler Positionierung auf %d nicht implementiert!\n" - -#~ msgid "input_vcd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_vcd: Das Einziegen der VCD schlug fehl: %s\n" - -#~ msgid "input_vcd: CDROMEJECT failed: %s\n" -#~ msgstr "input_vcd: Das Auswerfen der VCD schlug fehl: %s\n" - -#~ msgid "input_vcd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_vcd: Auslesen vom Status des VCD-Laufwerks schlug fehl: %s\n" - -#~ msgid "vcd device input plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes VCD Plugin" - -#~ msgid "vcd_read_toc failed\n" -#~ msgstr "vcd_read_toc schlug fehl\n" - -#~ msgid "valid mrls ending for avi demuxer" -#~ msgstr "Gültige MRL-Endungen für AVI-Demultiplexer" - -#~ msgid "valid mrls ending for elementary demuxer" -#~ msgstr "Gültige MRL-Endungen für 'elementary'-Demultiplexer" - -#~ msgid "valid mrls for mpeg demuxer" -#~ msgstr "Gültige MRLs für MPEG-Demultiplexer" - -#~ msgid "demux_mpeg: please specify mpeg(mpeg1/mpeg2) stream type.\n" -#~ msgstr "demug_mpeg: Bitte mpeg(mpeg1/mpeg2) Datenstromtyp angeben.\n" - -#~ msgid "valid mrls ending for mpeg demuxer" -#~ msgstr "Gültige MRL-Endungen für MPEG-Demultiplexer" - -#~ msgid "valid mrls ending for mpeg audio demuxer" -#~ msgstr "Gültige MRL-Endungen für MPEG-Audio-Demultiplexer" - -#~ msgid "valid mrls ending for qt demuxer" -#~ msgstr "Gültige MRL-Endungen für QT-Demultiplexer" - -#~ msgid "valid mrls ending for ogg demuxer" -#~ msgstr "Gültige MRL-Endungen für OGG-Demultiplexer" - -#~ msgid "valid mrls ending for asf demuxer" -#~ msgstr "Gültige MRL-Endungen für ASF-Demultiplexer" - -#~ msgid "valid mrls ending for film demuxer" -#~ msgstr "Gültige MRL-Endungen für FILM-Demultiplexer" - -#~ msgid "valid mrls for mpeg block demuxer" -#~ msgstr "Gültige MRLs für MPEG-Block-Demultiplexer" - -#~ msgid "valid mrls ending for mpeg block demuxer" -#~ msgstr "Gültige MRL-Endungen für MPEG-Block-Demultiplexer" - -#~ msgid "valid mrls ending for roq demuxer" -#~ msgstr "Gültige MRL-Endungen für RoQ-Demultiplexer" - -#~ msgid "valid mrls ending for idcin demuxer" -#~ msgstr "Gültige MRL-Endungen für IdCIN-Demultiplexer" - -#~ msgid "valid mrls ending for smjpeg demuxer" -#~ msgstr "Gültige MRL-Endungen für SMJPEG-Demultiplexer" - -#~ msgid "valid mrls ending for wav demuxer" -#~ msgstr "Gültige MRL-Endungen für WAV-Demultiplexer" - -#~ msgid "valid mrls ending for aiff demuxer" -#~ msgstr "Gültige MRL-Endungen für AIFF-Demultiplexer" - -#~ msgid "valid mrls ending for snd demuxer" -#~ msgstr "Gültige MRL-Endungen für SND-Demultiplexer" - -#~ msgid "valid mrls ending for voc demuxer" -#~ msgstr "Gültige MRL-Endungen für VOC-Demultiplexer" - -#~ msgid "valid mrls ending for vqa demuxer" -#~ msgstr "Gültige MRL-Endungen für VQA-Demultiplexer" - -#~ msgid "valid mrls ending for mve demuxer" -#~ msgstr "Gültige MRL-Endungen für MVE-Demultiplexer" - -#~ msgid "Xv property" -#~ msgstr "Xv Eingenschaften" - -#~ msgid "" -#~ "demux_film: This is not a FILM file (why was it sent to this demuxer?\n" -#~ msgstr "" -#~ "demux_film: Das ist keine FILM-Datei (Warum dieser Demultiplexer?)\n" - -#~ msgid "demux_film: unknown video codec %c%c%c%c\n" -#~ msgstr "demux_film: Unbekannter Video-Codec %c%c%c%c\n" - -#~ msgid "demux_vqa: running time: %d min, %d sec\n" -#~ msgstr "demux_vga: Laufzeit: %d min, %d sek\n" - -#~ msgid "lstat failed for %s{%s}\n" -#~ msgstr "lstat schlug fehl für %s{%s}\n" - -#~ msgid "%s(%d): readlink() failed: %s\n" -#~ msgstr "%s(%d): readlink() schlug fehl: %s\n" - -#~ msgid "plain file input plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes Datei Plugin" - -#~ msgid "input_file: get optional data, type %08x, sub %p\n" -#~ msgstr "input_file: Bekomme zusätzliche Daten, Typ %08x, sub %p\n" - -#~ msgid "origin path to grab file mrls" -#~ msgstr "Startverzeichnis für Datei-MRLs" - -#~ msgid "hidden files displaying." -#~ msgstr "Versteckte Dateien anzeigen." - -#~ msgid "xine_notify_stream_finished: can't create new thread (%s)\n" -#~ msgstr "xine_notify_stream_finished: Kann neuen Thread (%s) nicht anlegen\n" - -#~ msgid "demux_avi: video format = %s\n" -#~ msgstr "demux_avi: Videoformat = %s\n" - -#~ msgid "demux_avi: video frame size %ld x %ld\n" -#~ msgstr "demux_avi: Video-Bildgröße %ld x %ld\n" - -#~ msgid "demux_avi: audio format[%d] = 0x%lx\n" -#~ msgstr "demux_avi: Audioformat[%d] = 0x%lx\n" - -#~ msgid "demux_avi: unknown audio type 0x%lx\n" -#~ msgstr "demux_avi: Unbekannter Audiotyp 0x%lx\n" - -#~ msgid "demux_avi: audio type %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_avi: Audiotyp %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_avi: unknown video codec '%.4s'\n" -#~ msgstr "demux_avi: Unbekannter Video-Codec '%.4s'\n" - -#~ msgid "demux_avi: video codec is '%s'\n" -#~ msgstr "demux_avi: Video Codec ist '%s'\n" - -#~ msgid "mp3: song title '%s'\n" -#~ msgstr "mp3: Titel '%s'\n" - -#~ msgid "mp3: artist '%s'\n" -#~ msgstr "mp3: Künstler '%s'\n" - -#~ msgid "mp3: album '%s'\n" -#~ msgstr "mp3: Album '%s'\n" - -#~ msgid "demux_mpgaudio: MPEG %s Layer %d %ldkbps\n" -#~ msgstr "demux_mpgaudio: MPEG %s Layer %d %ldkbps\n" - -#~ msgid "ogg: vorbis avg. bitrate %d, samplerate %d\n" -#~ msgstr "ogg: vorbis durchschnittliche Bitrate %d, Sampelrate %d\n" - -#~ msgid "ogg: video format %.4s, frame size %d x %d, %d fps\n" -#~ msgstr "ogg: Videoformat %.4s, Video-Bildgröße %d x %d, %d BpS\n" - -#~ msgid "ogg: old header detected but stream type is unknown\n" -#~ msgstr "ogg: Alten Header erkannt, aber Datenstromtyp unbekannt\n" - -#~ msgid "" -#~ "ogg: unknown stream type (signature >%.8s<). hex dump of bos packet " -#~ "follows:\n" -#~ msgstr "" -#~ "ogg: Unbekannter Datenstromtyp (Signatur >%.8s<). Hex-Dump dieser Pakete " -#~ "folgt:\n" - -#~ msgid "demux_asf: audio format : %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_asf: Audioformat: %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_asf: video format : %s\n" -#~ msgstr "demux_asf: Videoformat: %s\n" - -#~ msgid "demux_asf: stream length is %d sec, rate is %d bytes/sec\n" -#~ msgstr "demux_asf: Datenstrom länge ist %d sek., Rate ist %d bytes/sek.\n" - -#~ msgid "demux_asf: title : %s\n" -#~ msgstr "demux_asf: Titel : %s\n" - -#~ msgid "demux_asf: author : %s\n" -#~ msgstr "demux_asf: Autor : %s\n" - -#~ msgid "demux_asf: comment : %s\n" -#~ msgstr "demux_asf: Kommentar : %s\n" - -#~ msgid "demux_mpeg_block: unknown block size. try using demux_mpeg.\n" -#~ msgstr "demux_mpeg_block: Unbekannte Blockgröße. Versuche demux_mpeg.\n" - -#~ msgid "system layer format '%s' detected.\n" -#~ msgstr "System-layer Format '%s' erkannt.\n" - -#~ msgid "stream format" -#~ msgstr "Datenstrom Format" - -#~ msgid "" -#~ "demux_ts: plugin doesn't support plugin API version %d.\n" -#~ " This means there's a version mismatch between xine and this " -#~ "demuxer plugin.\n" -#~ " Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ts: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin besteht.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_avi: this plugin doesn't support plugin API version %d.\n" -#~ "demux_avi: this means there's a version mismatch between xine and this " -#~ "demux_avi: demuxer plugin.\n" -#~ "Installing current demuxer plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_elem: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_elem: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_mpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_pes: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_qt: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_ogg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: Das Plugin unterstüzt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_asf: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_cda: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_cda: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_film: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_film: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_mpeg_block: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg_block: Plugin unterstützt die-API-Version %d nicht.\n" -#~ " Es existiert ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_roq: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_roq: Das Plugin unterstüzt die API-Version %d nicht.\n" -#~ " Es existiert ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_idcin: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_smjpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins " -#~ "should help.\n" -#~ msgstr "" -#~ "demux_smjpeg: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_wav: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_wav: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_aiff: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_aiff: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_snd: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_snd: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_voc: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_voc: Das Plugin unterstüzt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_vqa: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_vqa: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "demux_wc3movie: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_wc3movie: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine " -#~ "und\n" -#~ " diesem Demultiplexer-Plugin existiert.\n" -#~ "Das Installieren aktueller Demultiplexer-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "net input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das net-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "rtp input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das rtp-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "stdin/fifo input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das stdin/fifo-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "file input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Datei-Plugin unterstützt die Plugin API Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "vcd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das vcd-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "http input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das http-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "cda input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das CDA-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libmpeg2: plugin doesn't support plugin API version %d.\n" -#~ "libmpeg2: this means there's a version mismatch between xine and this " -#~ "libmpeg2: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmpeg2: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libmpg123: plugin doesn't support plugin API version %d.\n" -#~ "libmpg123: this means there's a version mismatch between xine and this " -#~ "libmpg123: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmpg123: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libspudec: Doesn't support plugin API version %d.\n" -#~ "libspudec: This means there is a version mismatch between XINE and\n" -#~ "libspudec: this plugin.\n" -#~ msgstr "" -#~ "libspudec: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Plugin existiert.\n" - -#~ msgid "" -#~ "w32codec: plugin doesn't support plugin API version %d.\n" -#~ "w32codec: this means there's a version mismatch between xine and this " -#~ "w32codec: decoder plugin.\n" -#~ "Installing current decoder plugins should help.\n" -#~ msgstr "" -#~ "w32codec: Dieses Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "TV System" -#~ msgstr "TV System" - -#~ msgid "Mode Selection Policy" -#~ msgstr "Modusauswahlregeln" - -#~ msgid "Modes" -#~ msgstr "Modi" - -#~ msgid "Prefer PAL" -#~ msgstr "Bevorzuge PAL" - -#~ msgid "Verbose resolution selection" -#~ msgstr "Ausführliche Auflösungsauswahl" - -#~ msgid "Screen Aspect Ratio" -#~ msgstr "Bildschirmseitenverhältnis" - -#~ msgid "%s(%d) wrong first stage = %d !!\n" -#~ msgstr "%s(%d) Fehlerhafte 1. Stufe = %d !!\n" - -#~ msgid "%s(%s@%d): parameter should be non null, exiting\n" -#~ msgstr "%s(%s@%d): Parameter sollte nicht null sein, Beende jetzt\n" - -#~ msgid "load_plugins: demux plugin found : %s\n" -#~ msgstr "load_plugins: Demultiplexer-Plugin gefunden : %s\n" - -#~ msgid "load_plugins: too many demux plugins installed, exiting.\n" -#~ msgstr "" -#~ "load_plugins: Zu viele Demultiplexer-Plugins installiert, beende jetzt.\n" - -#~ msgid "" -#~ "load_plugins: %s is no valid input plugin (lacks init_input_plugin() " -#~ "function)\n" -#~ msgstr "" -#~ "load_plugins: %s ist kein brauchbares Plugin (init_input_plugin() " -#~ "Funktion fehlt)\n" - -#~ msgid "%s(%d): too many input plugins installed, exiting.\n" -#~ msgstr "%s(%d): Zu viele Eingabe-Plugins installiert, Beende jetzt.\n" - -#~ msgid "" -#~ "load_plugins: no input plugins found in %s! - Did you install xine " -#~ "correctly??\n" -#~ msgstr "" -#~ "load_plugins: Keine Eingabe-Plugins in %s gefunden! - Ist xine richtig " -#~ "Installiert??\n" - -#~ msgid "spu decoder plugin found : %s\n" -#~ msgstr "spu-Dekodierungs-Plugin gefunden : %s\n" - -#~ msgid "" -#~ "liblpcm: plugin doesn't support plugin API version %d.\n" -#~ "liblpcm: this means there's a version mismatch between xine and this " -#~ "liblpcm: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "liblpcm: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "ffmpeg: plugin doesn't support plugin API version %d.\n" -#~ "ffmpeg: this means there's a version mismatch between xine and this " -#~ "ffmpeg: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "ffmpeg: Das Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "dxr3_decode_spu: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_spu: this means there's a version mismatch between xine and " -#~ "this dxr3_decode_spu: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "dxr3_decode_spu: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine " -#~ "und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Dekodierungs-Plugins sollte helfen.\n" - -#~ msgid "" -#~ "dxr3_decode_video: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_video: this means there's a version mismatch between xine and " -#~ "this\n" -#~ "dxr3_decode_video: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "dxr3_decode_video: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine " -#~ "und\n" -#~ " diesem Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "Dxr3: video decoder priority" -#~ msgstr "DXR3: Videodekoder Priorität" - -#~ msgid "" -#~ "Decoder priorities greater 5 enable hardware decoding, 0 disables it." -#~ msgstr "" -#~ "Dekoderprioritäten größer 5 aktivieren Hardwaredekodierung, 0 deaktiviert " -#~ "sie." - -#~ msgid "" -#~ "libmad: plugin doesn't support plugin API version %d.\n" -#~ "libmad: this means there's a version mismatch between xine and this " -#~ "libmad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libmad: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "liba52: plugin doesn't support plugin API version %d.\n" -#~ "liba52: this means there's a version mismatch between xine and this " -#~ "liba52: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libdts: plugin doesn't support plugin API version %d.\n" -#~ "libdts: this means there's a version mismatch between xine and this " -#~ "libdts: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libdts: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "divx4: plugin doesn't support plugin API version %d.\n" -#~ "divx4: this means there's a version mismatch between xine and this divx4: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "divx4: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "priority of the divx4 plugin (>5 => enable)" -#~ msgstr "Priorität des divx4-Plugins (>5 zum aktivieren)" - -#~ msgid "" -#~ "libvorbis: plugin doesn't support plugin API version %d.\n" -#~ "libvorbis: this means there's a version mismatch between xine and this " -#~ "libvorbis: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libvorbis: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libsputext: doesn't support plugin api version %d.\n" -#~ "libsputext: This means there is a version mismatch between xine and\n" -#~ "libsputext: this plugin.\n" -#~ msgstr "" -#~ "libsputext: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Plugin existiert.\n" - -#~ msgid "" -#~ "libspucc: doesn't support plugin api version %d.\n" -#~ "libspucc: This means there is a version mismatch between xine and\n" -#~ "libspucc: this plugin.\n" -#~ msgstr "" -#~ "libspucc: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "xvid: plugin doesn't support plugin API version %d.\n" -#~ "xvid: this means there's a version mismatch between xine and this\n" -#~ "xvid: decoder plugin. Installing current plugins should help.\n" -#~ msgstr "" -#~ "xvid: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierung-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "priority of the xvid plugin (>5 => enable)" -#~ msgstr "Priorität des xvid-Plugins (>5 zum aktivieren)" - -#~ msgid "" -#~ "cinepak: plugin doesn't support plugin API version %d.\n" -#~ "cinepak: this means there's a version mismatch between xine and this " -#~ "cinepak: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "cinepak: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierung-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "RoQ: plugin doesn't support plugin API version %d.\n" -#~ "RoQ: this means there's a version mismatch between xine and this RoQ: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "RoQ-Video: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierung-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "RoQ Audio: plugin doesn't support plugin API version %d.\n" -#~ "RoQ Audio: this means there's a version mismatch between xine and this\n" -#~ "RoQ Audio: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "RoQ-Audio: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "" -#~ "libfaad: plugin doesn't support plugin API version %d.\n" -#~ "libfaad: this means there's a version mismatch between xine and this " -#~ "libfaad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "libfaad: Plugin unterstützt die API-Version %d nicht.\n" -#~ " Das bedeutet das ein Versionsunterschied zwischen xine und\n" -#~ " diesem Dekodierungs-Plugin existiert.\n" -#~ "Das Installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "USCSICMD dvd_read_copyright: %s" -#~ msgstr "USCSICMD dvd_read_copyright: %s" - -#~ msgid "bad status: READ DVD STRUCTURE (copyright)\n" -#~ msgstr "Schlechter Status: Lese DVD-Struktur (copyright)\n" - -#~ msgid "input_dvd: Could not read Copyright Structure\n" -#~ msgstr "input_dvd: Kann Copyright-Struktur nicht lesen\n" - -#~ msgid "" -#~ "input_dvd: Could not read Copyright Structure.\n" -#~ " Assuming disk is not encrypted.\n" -#~ msgstr "" -#~ "input_dvd: Kann Copyright Struktur nicht lesen.\n" -#~ " Das Medium scheint nicht verschlüsselt zu sein.\n" - -#~ msgid "" -#~ "\n" -#~ "input_dvd: Sorry, this plugin doesn't play encrypted DVDs. The legal " -#~ "status\n" -#~ " of CSS decryption is unclear and we can't provide such code.\n" -#~ " Please check http://dvd.sf.net for more information.\n" -#~ msgstr "" -#~ "\n" -#~ "input_dvd: Tschuldigung, xine kann keine verschlüsselten DVDs abspielen.\n" -#~ " Die rechtsliche Situation bezüglich der CSS Entschlüsselung " -#~ "ist\n" -#~ " unklar, deswegen ist der Code dazu nicht in xine enthalten.\n" -#~ " Weitere Informationen finden Sie auf http://dvd.sf.net.\n" - -#~ msgid "input_dvd: Unable to find >%s< on dvd.\n" -#~ msgstr "input_dvd: Kann >%s< nicht auf der DVD finden.\n" - -#~ msgid "input_dvd: error read: %Ld bytes is not a sector!\n" -#~ msgstr "input_dvd: Lesefehler: %Ld Bytes ist kein Sektor!\n" - -#~ msgid "input_dvd: read error in input_dvd plugin (%s)\n" -#~ msgstr "input_dvd: Lesefehler im input_dvd-Plugin (%s)\n" - -#~ msgid "input_dvd: short read in input_dvd (%d != %d)\n" -#~ msgstr "input_dvd: Kurzes Lesen in input_dvd (%d != %d)\n" - -#~ msgid "" -#~ "input_dvd: error in input_dvd plugin read: %Ld bytes is not a sector!\n" -#~ msgstr "" -#~ "input_dvd: Lesefehler im input_dvd-Plugin: %Ld Bytes ist kein Sektor!\n" - -#~ msgid "input_dvd: seek: %d is an unknown origin\n" -#~ msgstr "input_dvd: seek: %d ist ein unbekannter Ursprung\n" - -#~ msgid "input_dvd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_dvd: Das Einziehen der DVD schlug fehl: %s\n" - -#~ msgid "input_dvd: CDROMEJECT failed: %s\n" -#~ msgstr "input_dvd: Das Auswerfen der DVD schlug fehl: %s\n" - -#~ msgid "input_dvd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_dvd: Auslesen vom Status des DVD-Laufwerks schlug fehl: %s\n" - -#~ msgid "ioctl(cdromallow): %s" -#~ msgstr "ioctl(cdromallow): %s" - -#~ msgid "ioctl(cdromeject): %s" -#~ msgstr "ioctl(cdromeject): %s" - -#~ msgid "dvd device input plugin as shipped with xine" -#~ msgstr "Mit xine ausgeliefertes DVD Plugin" - -#~ msgid "" -#~ "dvd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Das DVD-Plugin unterstützt die API-Version %d nicht.\n" -#~ "PLUGIN DEAKTIVIERT.\n" -#~ "Es existiert ein Versionsunterschied zwischen xine und diesem Plugin.\n" -#~ "Das installieren aktueller Plugins sollte helfen.\n" - -#~ msgid "path to your local dvd device file" -#~ msgstr "Pfad zum lokalen DVD-Laufwerk" - -#~ msgid "channels" -#~ msgstr "Kanäle" - -#~ msgid "Show status on play, pause, ff, ..." -#~ msgstr "Statusanzeige bei Wiedergabe, Pause, Suchen, ..." - -#~ msgid "unable to open %s: %s." -#~ msgstr "Kann %s nicht öffnen: %s." - -#~ msgid "none" -#~ msgstr "Keine" - -#~ msgid "Small" -#~ msgstr "Klein" - -#~ msgid "Normal" -#~ msgstr "Normal" - -#~ msgid "Large" -#~ msgstr "Groß" - -#~ msgid "" -#~ "demux_qt: video codec %s (%f fps), audio codec %s (%ld Hz, %d bits)\n" -#~ msgstr "" -#~ "demux_qt: Video-Codec %s (%f fps), Audio-Codec %s (%ld Hz, %d bits)\n" - -#~ msgid "demux_ts: PUSI set but no PES header (corrupt stream?)\n" -#~ msgstr "" -#~ "demux_ts: PUSI gesetzt aber kein PES Header (korrupter Datenstrom?)\n" - -#~ msgid "RE-Sync failed\n" -#~ msgstr "RE-Synchronization schlug fehl\n" - -#~ msgid "mpgaudio: bitrate = %.2fkbps\n" -#~ msgstr "mpgaudio: Bit-Rate = %.2fkbps\n" - -#~ msgid "demux_ts: stop...\n" -#~ msgstr "demux_ts: Stopp...\n" - -#~ msgid "demux_avi: reconstructing index" -#~ msgstr "demux_avi: Rekonstruiere Index" - -#~ msgid "demux_avi: audio seek to start failed\n" -#~ msgstr "demux_avi: Positionieren zum Audioanfang schlug fehl\n" - -#~ msgid "demux_avi: unknown avi format %.4s\n" -#~ msgstr "demux_avi: Unbekanntes avi-Format %.4s\n" - -#~ msgid "demux_avi: text subtitle file available\n" -#~ msgstr "demux_avi: Untertitle Textdatei verfügbar\n" - -#~ msgid "demux_avi: can't create new thread (%s)\n" -#~ msgstr "demux_avi: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "input_http: answer: >%s<\n" -#~ msgstr "input_http: Antwort: >%s<\n" - -#~ msgid "input_http: end of headers\n" -#~ msgstr "input_http: Ende des Headers\n" - -#~ msgid "video_out: thread created\n" -#~ msgstr "video_out: Thread erzeugt\n" - -#~ msgid "xine_stop\n" -#~ msgstr "xine_stop\n" - -#~ msgid "xine_stop ignored\n" -#~ msgstr "xine_stop ignoriert\n" - -#~ msgid "xine_stop: stopping demuxer\n" -#~ msgstr "xine_stop: Stoppe Demultiplexer\n" - -#~ msgid "xine_stop: done\n" -#~ msgstr "xine_stop: Fertig\n" - -#~ msgid "xine_exit: shutdown audio\n" -#~ msgstr "xine_exit: Beende Audio\n" - -#~ msgid "xine_exit: shutdown video\n" -#~ msgstr "xine_exit: Beende Video\n" - -#~ msgid "xine_exit: bye!\n" -#~ msgstr "xine_exit: Tschüss!\n" - -#~ msgid "xine: xine_get_current_position: no input source\n" -#~ msgstr "xine: xine_get_current_position: Keine Eingabequelle\n" - -#~ msgid "xine: set_speed %d\n" -#~ msgstr "xine: set_speed %d\n" - -#~ msgid "demux_ts: demux error! PAT without payload unit start indicator\n" -#~ msgstr "demux_ts: demux Fehler! PAT ohne Nutzdaten-Startindikator\n" - -#~ msgid "demux_ts: demux error! PAT with invalid pointer\n" -#~ msgstr "demux_ts: demux Fehler! PAT mit fehlerhaftem Zeiger\n" - -#~ msgid "demux_avi: demux loop finished.\n" -#~ msgstr "demux_avi: demux Schleife beendet.\n" - -#~ msgid "demux_avi: stop...ignored\n" -#~ msgstr "demux_avi: Stopp...Ignoriert\n" - -#~ msgid "demux_avi: AVI_init failed (AVI_errno: %d)\n" -#~ msgstr "demux_avi: AVI_init mit Fehler abgebrochen (AVI_errno: %d)\n" - -#~ msgid "demux_elem: can't create new thread (%s)\n" -#~ msgstr "demux_elem: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "How how - something wrong in wonderland demux:read_bytes (%d)\n" -#~ msgstr "Oh oh - Irgendwas lief schief im Wunderland demux:read_bytes (%d)\n" - -#~ msgid "demux loop finished (status: %d, buf:%x)\n" -#~ msgstr "demux Schleife beendet (Staus: %d, buf:%x)\n" - -#~ msgid "demux_mpeg: stop...\n" -#~ msgstr "demux_mpeg: Stopp...\n" - -#~ msgid "demux_mpeg: can't create new thread (%s)\n" -#~ msgstr "demux_mpeg: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "demux_mpeg_block: read_block failed\n" -#~ msgstr "demux_mpeg_block: read_block schlug fehl\n" - -#~ msgid "demux_mpeg_block: checking if we can branch to %s\n" -#~ msgstr "demux_mpeg_block: Überprüfe, ob verzweigt werden kann zu %s\n" - -#~ msgid "demux_mpeg_block: branching\n" -#~ msgstr "demux_mpeg_block: verzweige\n" - -#~ msgid "demux_mpeg_block: error! %02x %02x %02x (should be 0x000001) \n" -#~ msgstr "demux_mpeg_block: Fehler! %02x %02x %02x (sollte 0x000001 sein) \n" - -#~ msgid "illegal lpcm sample format (%d), assume 16-bit samples\n" -#~ msgstr "Illegales lpcm-sample-Format (%d), erwarte 16-bit Samples\n" - -#~ msgid "demux_mpeg_block: error %02x %02x %02x (should be 0x000001) \n" -#~ msgstr "demux_mpeg_block: Fehler %02x %02x %02x (sollte 0x000001 sein) \n" - -#~ msgid "demux_mpeg_block: stop...ignored\n" -#~ msgstr "demux_mpeg_block: Stopp...Ignoriert\n" - -#~ msgid "demux_mpeg_block: can't create new thread (%s)\n" -#~ msgstr "demux_mpeg_block: Kann neunen Thread (%s) nicht erzeugen\n" - -#~ msgid "demux_mpeg_block: mrl %s is new, will estimated bitrate\n" -#~ msgstr "demug_mpeg_block: mrl %s ist neu, werde Datenrate bestimmen\n" - -#~ msgid "demux_mpeg_block: mrl %s is known, estimated bitrate: %d\n" -#~ msgstr "" -#~ "demux_mpeg_block: mrl %s ist bekannt, voraussichtliche Datenrate: %d\n" - -#~ msgid "demux_mpgaudio_block: stop...ignored\n" -#~ msgstr "demux_mpgaudio_block: Stopp...ignoriert\n" - -#~ msgid "demux_mpgaudio: can't create new thread (%s)\n" -#~ msgstr "demux_mpgaudio: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "demux_pes: stop...\n" -#~ msgstr "demux_pes: Stopp...\n" - -#~ msgid "demux_pes: can't create new thread (%s)\n" -#~ msgstr "demux_pes: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "Header not compressed with zlib\n" -#~ msgstr "Der Header wurde nicht mit zlib komprimiert\n" - -#~ msgid "QT cmov: malloc err 0" -#~ msgstr "QT cmov: Speicheranforderungsfehler 0" - -#~ msgid "QT cmov: read err tlen %llu\n" -#~ msgstr "QT cmov: Lesefehler tlen %llu\n" - -#~ msgid "QT cmov: malloc err moov_sz %u\n" -#~ msgstr "QT cmov: Speicheranforderungsfehler moov_sz %u\n" - -#~ msgid "QT cmov: inflateInit err %d\n" -#~ msgstr "QT cmov: inflateInit-Fehler %d\n" - -#~ msgid "QT cmov inflate: ERR %d\n" -#~ msgstr "QT cmov: inflate-Fehler %d\n" - -#~ msgid "demux_qt: quicktime_open: error in header\n" -#~ msgstr "demux_qt: quicktime_open: Fehlerhafter header\n" - -#~ msgid "demux_qt: stop...ignored\n" -#~ msgstr "demux_qt: Stopp...ignoriert\n" - -#~ msgid "demux_qt: unknown audio codec >%s<\n" -#~ msgstr "demux_qt: Unbekannter Audio-Codec >%s<\n" - -#~ msgid "" -#~ "demux_ogg: beginning of stream\n" -#~ "demux_ogg: serial number %d\n" -#~ msgstr "" -#~ "demux_ogg: Beginn des Datenstroms\n" -#~ "demux_ogg: Seriennummer %d\n" - -#~ msgid "demux_ogg: found a new stream, serialnumber %d\n" -#~ msgstr "demux_ogg: Neuen Datenstrom gefunden, Seriennummer %d\n" - -#~ msgid "demux_ogg: stop...ignored\n" -#~ msgstr "demux_ogg: Stopp...ignoriert\n" - -#~ msgid "demux_ogg: can't create new thread (%s)\n" -#~ msgstr "demux_ogg: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "demux_asf: end of data\n" -#~ msgstr "demux_asf: Ende der Daten\n" - -#~ msgid "demux_asf: wavex header is %d bytes long\n" -#~ msgstr "demux_asf: wavex-Header ist %d bytes lang\n" - -#~ msgid "demux_asf: unknown video format %.4s\n" -#~ msgstr "demux_asf: unbekanntes Videoformat %.4s\n" - -#~ msgid "demux_asf: file doesn't start with an asf header\n" -#~ msgstr "demux_asf: Datei beginnt nicht mit einem asf-Header\n" - -#~ msgid "demux_asf: audio conceal interleave detected (%d x %d x %d)\n" -#~ msgstr "demux_asf: Audio conceal-interleave erkannt (%d x %d x %d)\n" - -#~ msgid "demux_asf: absolute size ignored\n" -#~ msgstr "demux_asf: Absolute Größe ignoriert\n" - -#~ msgid "demux_asf: buffer overflow on defrag!\n" -#~ msgstr "demux_asf: Pufferüberlauf bei Defragmentierung!\n" - -#~ msgid "demux_asf: get_packet failed\n" -#~ msgstr "demux_asf: get_packet ist mit einem Fehler abgebrochen\n" - -#~ msgid "demux_asf: unknow segtype %x\n" -#~ msgstr "demux_asf: Unbekannter Segmenttyp %x\n" - -#~ msgid "demux_asf: stop...ignored\n" -#~ msgstr "demux_asf: Stopp...ignoriert\n" - -#~ msgid "demux_asf: can't create new thread (%s)\n" -#~ msgstr "demux_asf: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "demux_cda: stop...ignored\n" -#~ msgstr "demux_cda: Stopp...ignoriert\n" - -#~ msgid "demux_cda: can't create new thread (%s)\n" -#~ msgstr "demux_cda: Kann neuen Thread (%s) nicht erzeugen\n" - -#~ msgid "metronom: video stream start...\n" -#~ msgstr "metronom: Start des Video-Datenstromst...\n" - -#~ msgid "metronom: video stream start ignored\n" -#~ msgstr "metronom: Beginn des Video-Datenstroms ignoriert\n" - -#~ msgid "metronom: waiting for audio to start...\n" -#~ msgstr "metronom: Warte auf Anfang von Audio...\n" - -#~ msgid "metronom: video stream end\n" -#~ msgstr "metronom: Ende des Video-Datenstroms\n" - -#~ msgid "metronom: video stream end ignored\n" -#~ msgstr "metronom: Ende des Video-Datenstroms ignoriert\n" - -#~ msgid "metronom: waiting for audio to end...\n" -#~ msgstr "metronom: Warte auf Ende von Audio...\n" - -#~ msgid "metronom: audio stream start...\n" -#~ msgstr "metronom: Start des Audio-Datenstroms...\n" - -#~ msgid "metronom: audio stream start ignored\n" -#~ msgstr "metronom: Beginn des Audio-Datenstroms ignoriert\n" - -#~ msgid "metronom: audio stream start...done\n" -#~ msgstr "metronom: Anfang des Audio-Datenstroms...Fertig\n" - -#~ msgid "metronom: waiting for video to end...\n" -#~ msgstr "metronom: Warte auf Ende von Video...\n" - -#~ msgid "metronom: video discontinuity #%d\n" -#~ msgstr "metronom: Video-Unstetigkeit #%d\n" - -#~ msgid "metronom: waiting for audio discontinuity #%d\n" -#~ msgstr "metronom: Warte auf Audio-Unstetigkeit #%d\n" - -#~ msgid "metronom: video vpts adjusted to %d\n" -#~ msgstr "metronom: Video vpts korrigiert auf %d\n" - -#~ msgid "metronom: audio/video vpts too old, adjusted to %d\n" -#~ msgstr "metronom: audio/video vpts zu alt, korrigiert auf %d\n" - -#~ msgid "" -#~ "metronom: video pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" -#~ msgstr "" -#~ "metronom: Video-pts-Unstetigkeit/Start, pts ist %d, Überlaufversatz ist %" -#~ "d, vpts ist %d\n" - -#~ msgid "metronom: forcing video_wrap (%d) and audio wrap (%d)" -#~ msgstr "metronom: Erzwinge Video-Umbruch (%d) und Audio-Umbruch (%d)" - -#~ msgid " to %d\n" -#~ msgstr " nach %d\n" - -#~ msgid "metronom: delta too big, setting vpts to %d\n" -#~ msgstr "metronom: Unterschied ist zu groß, setze vpts auf %d\n" - -#~ msgid "metronom: audio discontinuity #%d\n" -#~ msgstr "metronom: Audio-Unstetigkeit #%d\n" - -#~ msgid "metronom: waiting for video_discontinuity #%d\n" -#~ msgstr "metronom: Warte auf Video-Unstetigkeit #%d\n" - -#~ msgid "metronom: audio vpts adjusted to %d\n" -#~ msgstr "metronom: Audio-vpts eingestellt auf %d\n" - -#~ msgid "" -#~ "metronom: audio pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" -#~ msgstr "" -#~ "metronom: Audio-pts-Unstetigkeit/Start, pts ist %d, Überlaufversatz ist %" -#~ "d, vpts ist %d\n" - -#~ msgid "to %d\n" -#~ msgstr "auf %d\n" - -#~ msgid "metronom: av_offset=%d pts\n" -#~ msgstr "metronom: av_Versatz=%d pts\n" - -#~ msgid "metronom: panic - no scr provider found!\n" -#~ msgstr "metronom: Panik - konnte keinen scr-Anbieter finden!\n" - -#~ msgid "metronom: cannot create sync thread (%s)\n" -#~ msgstr "metronom: Kann sync-Thread (%s) nicht erzeugen\n" - -#~ msgid "video_out : ALERT! frame is already locked for displaying\n" -#~ msgstr "video_out : ALARM! Bild bereits zum Anzeigen vorgesehen\n" - -#~ msgid "video_out: rejected, %d frames to skip\n" -#~ msgstr "video_out: Zurückgewiesen, %d Bilder werden ausgelassen\n" - -#~ msgid "xine_play: xine open %s, start pos = %d, start time = %d (sec)\n" -#~ msgstr "" -#~ "xine_play: xine geöffnet %s, Startpos. = %d, Startzeit = %d (Sek.)\n" - -#~ msgid "inputs" -#~ msgstr "Eingaben" - -#~ msgid "demuxers" -#~ msgstr "Demultiplexer" - -#~ msgid "video" -#~ msgstr "Video" - -#~ msgid "video_out : vo_open : warning! video thread already running\n" -#~ msgstr "video_out : vo_open : Warnung! Video-Thread läuft bereits\n" - -#~ msgid "xine_init entered\n" -#~ msgstr "xine_init betreten\n" - -#~ msgid "xine_init returning\n" -#~ msgstr "xine_init zurückgekehrt\n" diff --git a/po/en_US.po b/po/en_US.po new file mode 100644 index 000000000..31878a1c3 --- /dev/null +++ b/po/en_US.po @@ -0,0 +1,16 @@ +# Translation of xine-lib.po into American English. +# Copyright (C) 2008 the xine project +# Copyright (C) 2002, 2006, 2007, 2008 Free Software Foundation, Inc. +# +msgid "" +msgstr "" +"Project-Id-Version: xine-lib.hg\n" +"Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" +"PO-Revision-Date: 2009-01-15 19:04+0000\n" +"Last-Translator: Not translated <null@example.com>\n" +"Language-Team: en_US <none>\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" @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: eo\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2007-05-24 17:57+0200\n" "Last-Translator: Antonio C. Codazzi <f_sophia@libero.it>\n" "Language-Team: <it@li.org>\n" @@ -57,6 +57,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() de %s malsukcesis: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "audio_alsa_out: >>> kontrolu se alia programo estas uzanta PCM <<<\n" @@ -284,187 +285,187 @@ msgstr "kde-artsd-uzanta kromaĵo de aŭdeligo de xine" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "kromaĵo de aŭdeligo por Coreaudio/Mac OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Eraro" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "sukceso" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "aliro rifuzita" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "risurco estas nune uzata" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "objekto estis jam pravalorizita" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "la specifita ondoformato ne estas subtenita" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "memorbufro estis perdita kaj ĝi estas restarigenda" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "mendita bufradministrilo ne estas disponebla" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "nedifinita eraro en subsistemo de DirectSound" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "DirectSound hardvaparato estas nedisponebla" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "funkcio estas nevalida laŭ nuna stato de objekto" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "havigitaj parametroj estas nevalidaj" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "la objekto ne subtenas agragadon" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "neniu sonzorgilo estas disponebla por uzo" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "mendita COM interfaco ne estas disponebla" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "alia programo havas pli altan gradon de prioritato" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "nesufiĉa memoro" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "malalta grado de prioritato por tiu ĉi funkcio" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound ne estis pravalorizita" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "funkcio ne estas subtenita" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "nekonata eraro" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Mi estas nekapabla krei objekton de directsound" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "Estas neeble agordi gradon de kunagado por directsound" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Mi estas nekapabla krei duan bufron de directsound" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Estas neeble ludi aŭdobufron" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Estas neeble fermi aŭdobufron" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Estas neeble determini lokon de bufro" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Estas neeble agordi lokadon de bufro" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Estas neeble agordi laŭtecon" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": perdita bufro, mi provas restarigi ĝin\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Estas neeble bloki bufron de directsound" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Estas neeble malbloki bufron de directsound" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Mi estas nekapabla krei ĉefan bufro de directsound" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, fuzzy, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr ": indikilo de legado translimiĝis, do mi elbufriĝas\n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": estas neeble krei kondiĉon de pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": estas neeble krei pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": estas neeble krei bufron de pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": estas neeble detrui bufron de pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": estas neeble detrui kondiĉon de pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": estas neeble detrui pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": nekonata komando de regado %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "dua direcx-uzanta kromaĵo de aŭdeligo de xine" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "direcx-uzanta kromaĵo de aŭdeligo de xine por win32" @@ -474,6 +475,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: konektante ESD servilon %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: konektante ESD servilon...\n" @@ -581,10 +583,12 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Memrekono de aŭdaparato malsukcesis\n" @@ -637,6 +641,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -751,11 +756,13 @@ msgstr "" "ffmpeg_audio_dec: estas neeble trovi malkodilo de ffmpeg por bufrospeco 0x%" "X\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: mi provas malfermi nulan kodaĵon\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: estas neeble malfermi malkodilon\n" @@ -764,41 +771,45 @@ msgstr "ffmpeg_audio_dec: estas neeble malfermi malkodilon\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: agordo de bufro je %d por eviti troon.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "" "ffmpeg_video_dec: nesubtenita formato de bildero, DR1 estas malebligita.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" "ffmpeg_video_dec: nesubtenitaj dimensioj de bildero, DR1 estas malebligita.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" "ffmpeg_video_dec: estas neeble trovi malkodilo de ffmpeg por bufrospeco 0x%" "X\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: estas neeble malfermi malkodilon\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: ebligita rekta bildigo\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: agordo de bufro je %d por eviti troon.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "kvalito de MPEG-4 postprocesado" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -812,11 +823,11 @@ msgstr "" "altkvalita, grava postprocezado povas igi bildon pli aĉa ĉar ĝi estas tro " "malfokusita." -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -825,11 +836,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -839,11 +850,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -944,6 +955,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "" @@ -968,6 +980,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: peco nekonata: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: filmero estas tro granda por bufro" @@ -981,6 +994,7 @@ msgstr "" "tion al disvolvantoj de xine.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1001,7 +1015,7 @@ msgstr "" "demux_mpeg_block: averto: PES-ĉapo indikas ke tiu ĉi datumstrio eble estas " "cifrata (moduso de cifrado %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1010,18 +1024,18 @@ msgstr "" "xine-lib:demux_mpeg_pes: Nerekonita datumstrio_id 0x%02x. Bonvolu komuniki " "tion al disvolvantoj de xine.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: averto: malcodado de PACK-datumstrio id=0x%x malsukcesis.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "demux_mpeg_pes: averto: PES-ĉapo rezervis 10 netrovitajn bitojn\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1030,7 +1044,7 @@ msgstr "" "demux_mpeg_pes: averto: PES-ĉapo indikas ke tiu ĉi datumstrio eble estas " "cifrata (moduso de cifrado %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1057,6 +1071,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: nesubtenita aŭdospeco: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1102,6 +1117,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Malsukcesis malfermado de SPU-aparato %s (%s)\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "mendita butono ne estas disponebla\n" @@ -1168,6 +1184,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Malfermo de videoaparato %s (%s) malsukcesis\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: skribo en aparato povus blokigi elbufrigon\n" @@ -1182,16 +1199,19 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: ATENTU: kodo de filmerkvanto estas nekonata %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" "dxr3_decode_video: ATENTU: korektante kodon de filmerkvanto, de PAL en NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: malsukcesis preparado de librte\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1200,10 +1220,12 @@ msgstr "" "16\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: malsukcesis akiro de kunteksto rte.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: estas neeble krei kodaĵon.\n" @@ -1228,6 +1250,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: estas neeble lanĉi kodon: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: Estas neeble lanĉi bibliotekon FAME\n" @@ -1313,19 +1336,23 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" "video_out_dxr3: malsukcesis preparado de Mpeg-enkodilo nomita libavicodec.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: malsukcesis preparado de Mpeg-enkodilo nomita rte.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: malsukcesis preparado de Mpeg-enkodilo nomita fame.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1336,6 +1363,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1420,6 +1448,7 @@ msgstr "" "Ebligu ĝin, se estas verdaj linioj en supraj kaj subaj partoj de la surmeto." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: bonvolu lanĉi autocal, surmeto estas malebligita\n" @@ -1444,10 +1473,12 @@ msgstr "" "default: tenu agordojn de la sonkarto" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: agordado de videomoduso malsukcesis.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1456,6 +1487,7 @@ msgstr "" "video_out_dxr3: Legu README.dxr3 por pluaj detaloj.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: ERARO dum lego de preparaddosiero de surmeto. Lanĉu " @@ -1558,48 +1590,51 @@ msgstr "input_dvb: malsukcesis malfermo de dosiero de dvb-kanalo '%s'\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: malsukcesis malfermo de dosiero de dvb-kanalo '%s'\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: tuner_set_channel malsukcesis\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: estas neeble malfermi dvb-aparaton\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: kanalo %d estas ekstera de intervalo, agordante je 0\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: serĉante kanalon %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: preciza kongruo ne estis trovita por %s: provante partan " "kongruon\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: estas trovita kongrua kanalo %s\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" "input_dvb: kanalo %s ne trovita en channels.conf, agordante per defaŭlto.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" @@ -1607,18 +1642,21 @@ msgstr "" "input_dvb: nevalida specifo de kanalo, defaŭlte agordante per valoroj de " "lasta vidita kanalo.\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" "input_dvb: nevalida specifo de kanalo, defaŭlte agordante al kanalo 0\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1626,7 +1664,8 @@ msgstr "" "input_dvb: dvbt mrl estis specifita sed sintonizilo ŝajnas ne esti OFDM (DVB-" "T)\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" @@ -1634,8 +1673,8 @@ msgstr "" "input_dvb: dvbt mrl estis specifita sed sintonizilo ŝajnas ne esti QAM (DVB-" "C)\n" -#: src/input/input_dvb.c:2954 -#, fuzzy +#: src/input/input_dvb.c:2958 +#, fuzzy, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" @@ -1643,20 +1682,21 @@ msgstr "" "input_dvb: dvbt mrl estis specifita sed sintonizilo ŝajnas ne esti QAM (DVB-" "C)\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: estas neeble malfermi dvr-aparaton '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: estas neeble krei fadenon de ĝisdatigo EPG\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "uzu 'centran tranĉon' DVB (zomo)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1664,65 +1704,66 @@ msgstr "" "Ĝi ebligas tutekrame vidigon laŭ entenoj kiu havas formato de 4:3 sed " "elsenditaj per filmeroj en 16:9-formato." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "eniga kromaĵo por DVB (Diĝita TV)" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Memorigu lastan viditan DVB-kanalon" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Lasta vidita DVB-kanalo" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Numero de uzenda DVB-karto" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1731,25 +1772,26 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Eraro dum la akirado de sekva bloko el DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Eraro dum malfermado de DVD-apararo\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "aparato uzata por legi/ludi DVD" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." msgstr "" -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "kruda aparato agordita por eniro al DVD" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1760,22 +1802,22 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "Metodo de deĉifrado CSS" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "raŭto por kaŝmemoro de ŝlosiloj de titoloj" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1784,44 +1826,44 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "zono kie DVD-legilo deklari sian lokiĝon (de 1 ĝis 8)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "defaŭlta lingvo por legi/ludi DVD" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "lega-senkapa kaŝmemorigado" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "unito de preterlaso" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1840,11 +1882,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "unito de enpoziciigo" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1858,11 +1900,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "moduso de lego kiam oni havigas titolon/ĉapitron" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1874,49 +1916,49 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: eraro de lego (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Rifuzita permeso: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Netrovita dosierod: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Vakua dosiero: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "eniga kromaĵo de dosiero" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "startpunkto de foliumo" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "listo de kaŝitaj dosieroj" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "" -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "gnome-vfs-eniga kromaĵo kiu estas entenata en xine" @@ -1925,82 +1967,82 @@ msgstr "gnome-vfs-eniga kromaĵo kiu estas entenata en xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) malsukcesis: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: eraro de lego %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Konektigante servilon de HTTP..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: nevalida demando de http\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx-alidirektado: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: stato de http ne estas 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: entenlongo = %<PRIdMAX> bytes\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: bufro estis plenigita post %d bajtoj." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "eniga kromaĵo por HTTP" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "HTTP-prokura ĉefkomputilo" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "Nomo de ĉefkomputilo por prokura servo de HTTP" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "HTTP-prokura pordo" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "Numero de pordo por prokura servo de HTTP" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "HTTP-prokura uzantnomo" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "Nomo de uzanto por prokura servo de HTTP" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "HTTP-prokura pasvorto" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "Pasvorto por prokura servo de HTTP" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "Domajnoj kiuj devas ignori prokuran servon de HTTP" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2011,26 +2053,26 @@ msgstr "" "Se la nomo de domajno havas antaŭmetan '=' do ĝi estas konsiderita kiel " "unuopa nomo de gastiga komputilo (plena kongruo estas necesa)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "eniga kromaĵo por MMS" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "bendolarĝo de reto" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "MMS-protokolo" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2058,51 +2100,53 @@ msgstr "input_net: mi estas nekapabla solvi '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: mi estas nekapabla konektigi '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "eniga xine-entenita kromaĵo de reto" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "eniga kromaĵo por pmn-datumstio" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: eraro dum kreado de dosiero pvr (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: eraro dum malfermado de dosiero pvr (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: eraro de lego (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: eraro dum malfermado de aparato %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_G_CODEC malsukcesis, ĉu API estas ŝanĝita?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_S_CODEC malsukcesis, ĉu API estas ŝanĝita?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "eniga kromaĵo WinTV-PVR 250/350" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "aparato uzata por WinTV-PVR 250/350 (pvr-kromaĵo)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "Raŭto por la aparato de WinTV-karto." @@ -2155,113 +2199,115 @@ msgstr "mi estas nekapabla bindi al '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: lego de fadeno estas haltanta...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: lego de fadeno finiĝis\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Malfermante >dosiernomon:%s pordon:%d interfacon:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: estas neeble krei novan fadenon (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "eniga kromaĵo entenata en xine por RTP kaj UDP" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "eniga kromaĵo por datumstrio de RTSP" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "CIFS/SMB-eniga kromaĵo bazita sur libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: estas neeble retro-enpoziciigi! (%<PRIdMAX> > %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: malsukcesis malfermo de '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "eniga kromaĵo por datumstrio de stdin" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Troo de bufro..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Maltroo de bufro..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Aranĝante..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Nomo de sintonizilo ne estis trovita\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "v4l eniga kromaĵo por tv" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "v4l eniga kromaĵo por radio" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "v4l videoaparato" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Raŭto por videoaparato de Video4Linux." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "v4l radiooaparato" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Raŭto por videoaparato de Video4Linux." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "v4l radiooaparato" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Raŭto por radioaparato de Video4Linux" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: difektita MRL. Uzu vcdo:/<track #>\n" @@ -2274,21 +2320,21 @@ msgstr "input_vcd: nevalida trako %d (valida intervalo: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Eniga kromaĵo por Videa KD (VCD)" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "Mi estas nekapabla malfermi %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: mi estas nekapabla malfermi %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "aparato uzata por legi/ludi VCD" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2310,11 +2356,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: malsukcesis konekto kun servilo %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: sesio ne kapablas stariĝi.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2337,6 +2384,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Konektigante MSS-servilon (per tcp)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: eraro de sendo\n" @@ -2393,6 +2441,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "nput_pnm: malsukcesis konekto '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: agordado de datumstrio malsukcesis\n" @@ -2588,6 +2637,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "HELPO! Ĉu nur unufonia aŭdozorgilo?!\n" @@ -2627,14 +2677,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() malsukcesis.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 malsukcesis.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit malsukcesis.\n" @@ -2644,10 +2697,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: mpc_streaminfo_read malsukcesis: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: datumoj post lasta filmero estis ignorataj\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: mpc_decoder_initialise malsukcesis\n" @@ -2671,6 +2726,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" "libreal: Eraro dum solvado de simboloj! (ĉu nekompatibileco de versioj?)\n" @@ -2691,56 +2747,57 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "libareal: agordado de malkodilspeco malsukcesis, erarkodo: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: huj, ĉu REAL povas uzi pli ol 2 kanalojn ?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "vidigu fermitajn ĉapitrojn en MPEG-2 datumstrioj" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "Fermitaj Ĉapitroj estas surskribaĵojn kutime uzatajn por helpi surdulojn." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "skemo de fonaj/malfonaj koloroj por fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Elektu vian favoratan bildigon por fermitaj ĉapitroj." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "defaŭlta tiparo de fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Elektu tiparon por defaŭlta teksto de fermitaj ĉapitroj." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "kursivo por fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Elektu tiparon por kursiva teksto de fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "tipargrando por fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Elektu tipargrandon por teksto de fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "centrigo de fermitaj ĉapitroj" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -2978,6 +3035,7 @@ msgstr "" "nur unu kanalon de iu ajn havigita datumstrio.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": miksante de Unuofonio al Sterefonio.\n" @@ -2989,6 +3047,7 @@ msgstr[0] ": miksante unuopan kanalon el originala datumstrio je %d kanalo.\n" msgstr[1] ": miksante unuopan kanalon el originala datumstrio je %d kanaloj.\n" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": aŭdaparato ne kapablas uzi AO_CAP_MODE_STEREO.\n" @@ -3002,7 +3061,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3016,6 +3075,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3055,7 +3117,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "" "tvtime: Neniu disponebla metodo de malplektado; do estas devige eliri.\n" @@ -3284,7 +3347,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "videoeliga kromaĵo de xine uzas bibliotekon ascii-art" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "videoeliga kromaĵo de xine uzas bibliotekon de Color AsCii Art" @@ -3349,22 +3412,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "video_out_directfb: uzante hardvaran akceladon de sub-bildoj.\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_directfb: tavolo subtenas videan eligon.\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_directfb: la tavolo ne subtenas YV12!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: la tavolo ne subtenas YUY2!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3382,10 +3450,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: tavolo ne subtenas opcion 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "video_out_directfb: uzante skaladon hardvare akcelitan.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3410,6 +3480,7 @@ msgid "xine video output plugin using DirectFB." msgstr "videoeliga xine-kromaĵo uzas DirectFB." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "video_out_directfb: neniu vidigantan tavolon estis trovita!\n" @@ -3417,7 +3488,7 @@ msgstr "video_out_directfb: neniu vidigantan tavolon estis trovita!\n" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "videoeliga xine-kromaĵo uzas DirectFB sub XDirectFB." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "videoeliga kromaĵo de xine por win32 uzas directx" @@ -3443,6 +3514,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Videomoduso ne estis rekonita, mi bedaŭras :-(\n" @@ -3466,6 +3538,7 @@ msgstr "" " difino povus helpi.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3556,6 +3629,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "videoeliga kromaĵo de xine uzas 3D-grafikan API de OpenGL" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx32: Error: estas neeble preni desegnabla DGA por videofenestro\n" @@ -3571,6 +3645,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "video_out_pgx32: Eraro: '%s' ne estas pgx32-kadrobufrilo\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx64: Eraro: estas neeble preni DGA desegneblan por " @@ -3597,29 +3672,35 @@ msgstr "" "video_out_pgx64: Eraro: '%s' ne estas xvr100/pgx64/pgx24 kadrobufrilo\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "video_out_pgx64: Eraro: videa surmeto sur ĉi ekrano estas jam uzata\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Eraro: mi estas nekapabla agordi fenestron\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Atentu: eta videomemoro, plur-bufrado estas malebligita\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Eraro: nesufiĉa videomemoro\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Atentu: eta videomemoro, duobla-bufrado estas malebligita\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Error: ioctl malsukcesis (FBIOGATTR)\n" @@ -3666,10 +3747,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "sdl devas imiti 16-bitan surfacon, do tio malrapidigos ĉion.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: tutekrana moduso NE estas subtenita\n" @@ -3682,38 +3765,46 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "videoeliga kromaĵo de xine uzas Libstk Surface Set-top Toolkit" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: eraro. (YUY2 ne estas subtenita de via grafika karto)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: eraro. (YV12 ne estas subtenita de via grafika karto)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: informo. (SyncFB-modjulo subtenas YUV 4:2:0 (3 plano))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: informo. (SyncFB-modjulo subtenas YUV 4:2:0 (2 plano))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: informo. (SyncFB-modjulo subtenas YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: informo. (SyncFB-modjulo subtenas YUY2))\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: informo. (SyncFB-modjulo subtenas RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -3721,6 +3812,7 @@ msgstr "" "video_out_syncfb: ĉesigo. (SyncFB-modjulo ne subtenas YV12, YUY2 aŭ RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3791,18 +3883,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: adaptilo subtenas formaton yuy2\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: adaptilo subtenas formaton yv12\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: Erara versio de VIDIX-biblioteko\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "" "video_out_vidix: estas neeble trovi funkcikapablan zorgilon por VIDIX\n" @@ -3842,7 +3938,7 @@ msgstr "" "video_out_xshm: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xcbshm.c:159 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -3853,7 +3949,7 @@ msgstr "" "video_out_xshm: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xcbshm.c:170 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -3878,13 +3974,13 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT-etendilo por opuza memoro neĉeestas en ekranbloko.\n" #: src/video_out/video_out_xcbshm.c:1213 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: videomoduso ne estis rekonita, mi bedaŭras :-(\n" @@ -3892,8 +3988,8 @@ msgstr "video_out_xshm: videomoduso ne estis rekonita, mi bedaŭras :-(\n" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "videoeliga kromaĵo de xine uzas MIT-etendilon por opuza memoro" -#: src/video_out/video_out_xcbxv.c:266 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:270 +#, fuzzy, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -3901,7 +3997,7 @@ msgstr "" "video_out_xv: XvShmCreateImage revenigis nulan grandon\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, fuzzy, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -3910,8 +4006,8 @@ msgstr "" "video_out_xv: eraro de opuza memoro en shmget: %s\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:294 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:298 +#, fuzzy, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -3919,19 +4015,24 @@ msgstr "" "video_out_xv: eraro de x11 dum kreado de XImage en opuza memoro\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:1375 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1354 +#, fuzzy, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xv: Xv-etendilo neĉeestas.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, fuzzy, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -3942,7 +4043,7 @@ msgstr "" "pordon.\n" " Ŝajnas ke la zorgilo de la grafika hardvaro ne subtenas Xv!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, fuzzy, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -3951,11 +4052,11 @@ msgstr "" "video_out_xxmc: uzante Xv-pordon %ld el adaptilo %s por konverto de hardvara " "kolorspaco kaj skalado.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -3963,23 +4064,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1579 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tiu ĉi adaptilo subtenas formaton yv12.\n" -#: src/video_out/video_out_xcbxv.c:1587 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1584 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tiu ĉi adaptilo subtenas formaton yuy2.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "metodo de malplektado (evitinda)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4017,12 +4118,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "videoeliga kromaĵo de xine uzas videan etendilon MIT X" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4040,6 +4142,7 @@ msgstr "" "video_out_xshm: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4049,6 +4152,7 @@ msgstr "" "video_out_xshm: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4057,15 +4161,18 @@ msgstr "" "video_out_xshm: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT-etendilo por opuza memoro neĉeestas en ekranbloko.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: videomoduso ne estis rekonita, mi bedaŭras :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4073,7 +4180,8 @@ msgstr "" "video_out_xv: XvShmCreateImage malsukcesis\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4081,7 +4189,7 @@ msgstr "" "video_out_xv: XvShmCreateImage revenigis nulan grandon\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4090,7 +4198,8 @@ msgstr "" "video_out_xv: eraro de opuza memoro en shmget: %s\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4098,11 +4207,18 @@ msgstr "" "video_out_xv: eraro de x11 dum kreado de XImage en opuza memoro\n" "video_out_xv: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Xv-etendilo neĉeestas.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4112,7 +4228,7 @@ msgstr "" "pordon.\n" " Ŝajnas ke la zorgilo de la grafika hardvaro ne subtenas Xv!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4121,23 +4237,27 @@ msgstr "" "video_out_xxmc: uzante Xv-pordon %ld el adaptilo %s por konverto de hardvara " "kolorspaco kaj skalado.\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tiu ĉi adaptilo subtenas formaton yv12.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tiu ĉi adaptilo subtenas formaton yuy2.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "videoeliga kromaĵo uzas videan etendilon de XvMC X" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: etendilo de XvMC neĉeestas.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4145,7 +4265,7 @@ msgstr "" "video_out_xvmc: la Xv-etendilo ĉeestas sed estas neeble trovi uzeblan yuv12 " "pordon.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4154,24 +4274,28 @@ msgstr "" "video_out_xvmc: uzante Xv-pordon %ld el adaptilo %s\n" " por hardvara konverto de kolorspaco kaj skalado\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " idct kaj kompensado por akcelo de movo \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " nur kompensado por akcelo de movo\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " neniu XvMC-subteno \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " Kun Surmeto = %d; NesignitaIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4180,6 +4304,7 @@ msgstr "" "video_out_xxmc: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4197,6 +4322,7 @@ msgstr "" "video_out_xxmc: => ne uzante etendilon de MIT Shared Memory.\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4204,11 +4330,13 @@ msgstr "" "video_out_xxmc: eraro de x11dum kreado de opuza memoro por XImage\n" "video_out_xxmc: => ne uzante etendilon de MIT Shared Memory.\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: etendilo de Xv neĉeestas.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4218,7 +4346,7 @@ msgstr "" "pordon.\n" " Ŝajnas ke la zorgilo de la grafika hardvaro ne subtenas Xv!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4227,41 +4355,43 @@ msgstr "" "video_out_xxmc: uzante Xv-pordon %ld el adaptilo %s por konverto de hardvara " "kolorspaco kaj skalado.\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: tiu ĉi adaptilo subtenas formaton yv12.\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: tiu ĉi adaptilo subtenas formaton yuy2.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "Igu XvMc disponiganta de pluraj filemroj por la plej bona brufrado" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Konservo de Unichrome CPU" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Koretku cimajn colorojn de sub-bildoj por NVIDIA-XvMC" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" @@ -4270,43 +4400,45 @@ msgstr "" "koloron\n" "kaj inverse. Tiu ĉi opcio havigas laboradon.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Uzu metodon nomitan bob kiel metodo de akcelita malplektado." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: XShape-etendilo ne estas disponebla. do neskalita surmeto estas " "malebligita.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: eraro dum kreado de fenestro, do neskalita surmeto estas " @@ -4314,6 +4446,7 @@ msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: eraro dum kreado de bildermapo, do neskalita surmeto estas " @@ -4368,17 +4501,28 @@ msgstr "lanĉu lavoradon por enliinigo" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "filtrilo kontraŭ tremo" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "malebligu precizan alfa-miksadon de surmetoj" @@ -4414,27 +4558,31 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" "audio_out: kalkulo de malfruo estas malebla kun nedisponebla aŭdaparato\n" #: src/xine-engine/audio_out.c:1249 -#, fuzzy +#, fuzzy, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "skribo en sonkarto malsukcesis. Ĉu estas la USB-aparato nekonektita?\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "" "moduso de 8 bitoj ne estas subtenita de zorgiloj, konvertante en moduso de " "16 bitoj.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "unufonio ne estas subtenita de zorgiloj, konvertante en stereofonio.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "stereofonio ne estas subtenita de zorgiloj, konvertante en unufonio.\n" @@ -4530,6 +4678,7 @@ msgstr "" "preparado." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "audio_out: pardonu, tio ne devus okazi. bonvolu restartigi xine.\n" @@ -4538,43 +4687,45 @@ msgstr "audio_out: pardonu, tio ne devus okazi. bonvolu restartigi xine.\n" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "La nuna dosiero de agordoj estas modifita far de pli nova versio de xine." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "configfile: WARNING: reservado de configfile en %s malsukcesis\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: ATENTU: via agordaĵo ne estos konservita\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: ATENTU: skribo de agordaĵo en %s malsukcesis\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: ATENTU: formovovo de probable difektita dosiero de agordoj %s\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: ATENTU: kontrolu restaŭrdosieron %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: ero '%s' ne devas esti modifita el MRL\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "info_helper: estas neeble trovi nuna loka tiparo\n" @@ -4837,6 +4988,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: ŝargo de aŭdeliga kromaĵo malsukcesis <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -4852,52 +5004,54 @@ msgstr "" "load_plugins: estas neeble malŝargi bibliotekon de kromaĵo %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "tiparo '%s-%d' jam estas ŝargita, strange.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "ŝargo de tiparo '%s' malsukcesis (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "erara versio de tiparo '%s'. atendita %d trovita %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: estas neeble prepari ft2 bibliotekon\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: eraro dum kongruado de tiparo %s kun FontConfig" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: eraro dum ŝargado de tiparo %s kun FontConfig" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: eraro dum serĉado de tiparo %s kun FontConfig" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: eraro dum ŝargado de tiparo %s kun ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" "osd: eraro dum la argordado de tipargrando (ĉu ĝi estas nereadaptebla " "tiparo?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -4905,41 +5059,46 @@ msgid "" msgstr "" "osd: nekonata sinsekvo startas je bajto 0x%02X en kodo\"%s\", do miforlasas\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: estas neeble trovi nunan lokan tiparon\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: nesubtenita konvertado %s -> %s, neniu konverto plenumiĝis\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: tiparo ne estas difinita\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: eraro dum ŝargado de glyph\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: eraro de bildigo de glyph\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: eraro dum ŝargado de glyph %i\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: eraro de bildigo\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "uzenda paletro (malfono-randoj-fono) por surskribaĵoj kaj OSD" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5013,6 +5172,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "video_out: pardonu, tio ne devus okazi. bonvolu restartigi xine.\n" @@ -5061,6 +5221,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: eraro dum sintaksa analizo de mrl\n" @@ -5090,6 +5251,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: startigo de eniga kromaĵo por eltiri\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: eraro dum malfermado de eniga kromaĵo por eltiri\n" @@ -5099,18 +5261,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: lasta testita malmuksoro %s malsukcesis starti\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "ignorante videon\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "ignorante aŭdon\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "ignorante sub-bildojn\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "eniga kromaĵo por kaŝmemoro estas malebligita\n" @@ -5120,6 +5286,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "mrl-surskribaĵo malfermita '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: eraro dum malfermado de mrl-surskribaĵo\n" @@ -5179,6 +5346,7 @@ msgid "The specified save_dir might be a security risk." msgstr "La specifita savdosierujo povus esti danĝero por secureco." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: \"locale\" ne estas subtenita de C-biblioteko\n" @@ -5319,23 +5487,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Testo de rapideco por medoto de memorkopio (pli eta estas pli bona):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Mi estas nekapabla krei eventojn de bufrolokado" - -#~ msgid "Unable to get notification interface" -#~ msgstr "Mi estas nekapabla havigi interfacon de komuniko" - -#~ msgid "Unable to set notification positions" -#~ msgstr "Mi estas nekapabla agordi lokojn de komuniko" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": malfruita je %ld msek\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: Erara versio de ASX: %s\n" - -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "dvbsub: estas neeble krei fadenon de komuna aliro\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib.hg\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2008-04-02 01:05+0200\n" "Last-Translator: Carlos E. R. M. <carloser@users.sourceforge.net>\n" "Language-Team: Spanish <none>\n" @@ -59,6 +59,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() de %s falló: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "audio_alsa_out: >>> comprobar si otro programa ya usa PCM <<<\n" @@ -340,187 +341,187 @@ msgstr "complemento de xine de salida de audio usando artsd de kde" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "complemento de xine de salida de audio para Coreaudio/Mac OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Error" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "éxito" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "acceso denegado" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "el recurso ya está siendo utilizado" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "el objecto ya fué inicializado" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "el formato de onda especificado no está soportado" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "el búfer en memoria se ha perdido y debe ser restaurado" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "el control del búfer pedido no está disponible" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "error indeterminado dentro del subsistema DirectSound" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "dispositivo físico DirectSound no disponible" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "función no válida para el estado actual del object" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "se ha pasado un parámetro inválido" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "el objeto no soporta agregación" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "no hay driver de sonido disponible para su uso" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "interfase COM solicitada no disponible" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "otra aplicación tiene un nivel de prioridad más alto" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "memoria insuficiente" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "nivel de prioridad bajo para ésta función" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound no fué inicializado" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "función no soportada" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "error desconocido" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Incapaz de crear el objeto de sonido directo." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "No pude poner el nivel cooperativo del sonido directo." -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Incapaz de crear búfer secundario de sonido directo" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "No pude tocar el búfer de sonido" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "No pude parar el búfer de sonido" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "No puedo conseguir la posición del búfer" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "No puedo poner la posición del búfer" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "No puedo poner el volumen de sonido" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": búfer perdido, intentando restaurar\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "No pude bloquear el búfer de sonido directo" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "No pude desbloquear el búfer de sonido directo" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Incapaz de crear el búfer primario de sonido directo." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, fuzzy, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr ": cursor de ejecución desbordado, vaciando búffers\n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": no puedo crear condición pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": no puedo crear mutex pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": no puedo crear búfer pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": no puedo destruir búfer: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": no puedo crear condición pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": no puedo destruir mutex pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": comando de control desconocido %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "segundo complemento de xine de salida de audio usando directx" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "" "segundo complemento de xine de salida de audio para win32 usando directx" @@ -531,6 +532,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: conectando al servidor ESD %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: conectando al servidor esd...\n" @@ -656,10 +658,12 @@ msgstr "" "nombre del dispositivo audio OSS está puesto a \"auto\"." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, sondeando devs\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Sondeo automático de dispositivo audio falló\n" @@ -742,6 +746,7 @@ msgstr "" "sincronismo después de una reproducción larga" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -881,11 +886,13 @@ msgstr "" "ffmpeg_audio_dec: no pude encontrar el decodificador ffmpeg para el tipo de " "tampón 0x%X\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: intentando abrir códec nulo\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: no pude abrir el decodificador\n" @@ -896,42 +903,46 @@ msgstr "" "dvaudio: incrementando el tamaño de la memoria tampón a %d para evitar el " "desbordamiento.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: formato de cuadro no soportado, DR1 desactivado.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" "ffmpeg_video_dec: dimensiones de cuadro no soportadas, DR1 desactivado.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" "ffmpeg_video_dec: no pude encontrar el decodificador ffmpeg para el tipo de " "tampón 0x%X\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: no pude abrir el decodificador\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: renderizado directo activado\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" "ffmpeg_video_dec: incrementando el tamaño de la memoria tampón a %d para " "evitar el desbordamiento.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "calidad de postprocesado MPEG-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -945,11 +956,11 @@ msgstr "" "bloque. Para contenido de alta calidad, demasiado postprocesado puede de " "hecho hacer la imagen peor emborronándola demasiado." -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "Conteo de hilos decodificando vídeo FFmpeg" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -959,16 +970,16 @@ msgid "" msgstr "" "Puede ajustar el número de hilos decodificadores que pueda usar FFmpeg.\n" "Valores más altos deben acelerar la decodificación, pero depende del códec " -"usado si se soporta procesado en paralelo. Una regla general es tener un " -"hilo decodificador por cada CPU lógica (típicamente de 1 a 4).\n" -"Un cambio de este ajuste hará efecto cuando se reproduzca el siguiente flujo." +"si se soporta procesado en paralelo. Una regla general es tener un hilo " +"decodificador por cada CPU lógica (típicamente de 1 a 4). Un cambio hará " +"efecto cuando se reproduzca el siguiente flujo." -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "Saltarse filtro de bucle" # Cer "saltar" por"skip" suena raro. -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -985,11 +996,11 @@ msgstr "" "manos de la implementación.\n" "Un cambio de este ajuste tendrá efecto a la reproducción de siguiente flujo." -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "Elegir velocidad en vez de conformidad con la especificación" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1103,6 +1114,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "Versión FLV no soportada (%d).\n" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "no hay flujo de vídeo ni audio en este fichero.\n" @@ -1127,6 +1139,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: Bloque no reconocido: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: marco demasiado grande para el búfer" @@ -1140,6 +1153,7 @@ msgstr "" "stream_id 0x%02x. Por favor, repórtelo a los desarrolladores de xine.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1162,7 +1176,7 @@ msgstr "" "demux_mpeg_block: aviso: la cabecera PES indica que este flujo de bits puede " "estar encriptado (modo de encriptación %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1171,19 +1185,19 @@ msgstr "" "xine-lib:demux_mpeg_pes: Identificador de flujo de bits no reconocido 0x%" "02x. Por favor, repórtelo a los desarrolladores de xine.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: aviso: decodificado del flujo de bits PACK id=0x%x falló.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: aviso: 10 bits reservados de la cabecera PES no encontrados\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1192,7 +1206,7 @@ msgstr "" "demux_mpeg_pes: aviso: la cabecera PES indica que este flujo de bits puede " "estar encriptado (modo de encriptación %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1219,6 +1233,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: tipo de audio no soportado: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "demux_tta: la cuenta total de cuadros es demasiado alta\n" @@ -1267,6 +1282,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Falló la apertura de dispositivo spu %s (%s)\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "botón pedido no disponible\n" @@ -1359,6 +1375,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Falló al abrir el dispositivo de vídeo %s (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: escribir al dispositivo se bloquearía. Vaciando\n" @@ -1374,6 +1391,7 @@ msgstr "" "dxr3_decode_video: AVISO: código de frecuencia de cuadro desconocido %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" @@ -1381,10 +1399,12 @@ msgstr "" "PAL a NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: falló al inicializar librte\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1393,10 +1413,12 @@ msgstr "" "16\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: falló en conseguir el contexto de rte.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: no pudo crear el códec.\n" @@ -1424,6 +1446,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: no puedo empezar a codificar: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: No pude arrancar la librería FAME\n" @@ -1530,19 +1553,23 @@ msgstr "" "así que pueden fallar." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" "video_out_dxr3: el codificador de MPEG libavcodec falló al iniciarse.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: el codificador de MPEG rte falló al iniciarse.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: el codificador de MPEG fame falló al iniciarse.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1560,6 +1587,7 @@ msgstr "" "un codificador.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1684,6 +1712,7 @@ msgstr "" "si observa lineas verdes encima y debajo de la superposición." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "" "video_out_dxr3: por favor, ejecute autocal, superposición desactivada\n" @@ -1710,10 +1739,12 @@ msgstr "" "default: mantener la configuración de la tarjeta" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: falló el establecimiento del modo de video..\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1723,6 +1754,7 @@ msgstr "" "video_out_dxr3: Lea el README.dxr3 para más detalles.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: ERROR leyendo en fichero de inicialización de la " @@ -1850,50 +1882,53 @@ msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "" "input_dvb: el fichero de canales dvb '%s' no es un fichero texto plano\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: falló tuner_set_channel\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" -msgstr "" +msgstr "input_dvb: IGU de DVB %s\n" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: no puedo abrir dispositivo DVB\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: canal %d fuera de rango, poniendo a 0\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: buscando el canal %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: no encontrada una coincidencia exacta para %s: probando " "coincidencias parciales\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: encontrado el canal correspondiente %s\n" # Cer: (temporal) "valores por defecto" no es la traducción exacta -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" "input_dvb: canal %s no encontrado en channels.conf, yendo a valores por " "defecto.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" @@ -1901,11 +1936,13 @@ msgstr "" "input_dvb: especificación de canal inválida, usaremos el ultimo canal " "visualizado.\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "input_dvb: especificación de canal inválida, usaremos el canal 0.\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1913,7 +1950,8 @@ msgstr "" "input_dvb: se especificó mrl dvbs pero el sintonizador no aparenta ser QPSK " "(DVB-S)\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1921,7 +1959,8 @@ msgstr "" "input_dvb: se especificó mrl dvbt pero el sintonizador no aparenta ser OFDM " "(DVB-T)\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" @@ -1929,7 +1968,8 @@ msgstr "" "input_dvb: se especificó mrl dvbc pero el sintonizador no aparenta ser QAM " "(DVB-C)\n" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" @@ -1937,20 +1977,21 @@ msgstr "" "input_dvb: se especificó mrl dvba pero el sintonizador no aparenta ser ATSC " "(DVB-A)\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: no se puede abrir el dispositivo DVR '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: no se puede crear el hilo actualizador de EPG\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "usar corte de la zona central del DVB (zoom)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1958,15 +1999,15 @@ msgstr "" "Esto permitirá reproducción a pantalla completa de contenido en formato 4:3 " "transmitido en un cuadro 16:9." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "complemento de entrada DVB (TV Digital)" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Recordar el último canal DVB visto" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " @@ -1974,19 +2015,19 @@ msgstr "" "En autoejecución, xine recordará y cambiará al canal indicado en media.dvb." "last_channel. " -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Último canal DVB visto" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "Si se activa xine recordará y cambiará a este canal. " -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "Número de segundos hasta que la sintonización temporice." -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." @@ -1994,35 +2035,37 @@ msgstr "" "Dejar como 0 significa probar indefinidamente. Mayor que cero significa " "esperar esos segundos hasta conseguir un ajuste. El mínimo son 5 segundos." -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Número de tarjeta DVB a usar." -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" "Dejar esto a cero a menos que realmemte tenga más de 1 tarjeta en sus " "sistema." -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" -msgstr "" +msgstr "Activar el IGU de DVB" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" +"Activar el IGU de DVB, grabación y cambio de canal controlados por ratón." -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "input_dvd: ¡valores de \\beta darán lugar a 'dom'!\n" @@ -2031,15 +2074,16 @@ msgstr "input_dvd: ¡valores de \\beta darán lugar a 'dom'!\n" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Error al conseguir el siguiente bloque desde el DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Error abriendo dispositivo DVD\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "dispositivo usado para reproducción de DVD" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -2047,11 +2091,11 @@ msgstr "" "El camino al dispositivo, usualmente una unidad de DVD, que desea usar para " "reproducir DVDs." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "dispositivo bruto usado para acceso al DVD" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -2070,11 +2114,11 @@ msgstr "" "Vea la documentación de configuración de dispositivos en bruto (man raw) " "para más información." -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "método de desencriptación CSS" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -2084,11 +2128,11 @@ msgstr "" "DVDs protegidos de copia. Pruebe los varios métodos, si tiene problemas " "reproduciendo DVDs cifrados." -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "camino al caché de claves de títulos" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -2102,11 +2146,11 @@ msgstr "" "crearán ficheros con nombres incontrolables. Asegúrse de usar un directorio " "dedicado que no se use para otra cosa excepto cacheado de claves de DVDs." -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "Región a la cual el reproductor de DVDs dice pertenecer (1 a 8)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -2116,11 +2160,11 @@ msgstr "" "código regional equivocado. No tiene nada ue ver con el código regional " "puesto en los reproductores de DVD, esto es puramente software." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "idioma por defecto para reproducción de DVD" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -2131,11 +2175,11 @@ msgstr "" "idioma.\n" "El valor debe ser un código de idioma de dos caracteres según ISO639." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "caché de lectura adelantada" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " @@ -2145,11 +2189,11 @@ msgstr "" "Esto puede dar lugar a reproducción a golpes en unidades lentas, pero mejora " "el impacto del cambio de capa del DVD en unidades más rápidas." -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "unidad para la acción de salto (skip)" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2185,11 +2229,11 @@ msgstr "" "saltará un título del DVD, que es una unidad estructural representando " "piezas completas en el DVD" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "unidad para búsqueda" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2214,11 +2258,11 @@ msgstr "" "la busqueda abarcará un programa del DVD, que es una unidad navigacional " "representando un capítulo de la feature actual" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "modo de ejecución cuando se da el título/capítulo" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2239,45 +2283,45 @@ msgstr "" "un capítulo\n" "reproducir únicamente el título capítulo especificado y entonces parar" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: error de lectura (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Permiso denegado: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Fichero no encontrado: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Fichero vacío: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "complemento de fichero entrada" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "localización de comienzo de ojeado de ficheros" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" "El ojeador para seleccionar el fichero a reproducir comenzará en esta " "localización." -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "listar ficheros ocultos" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -2285,7 +2329,7 @@ msgstr "" "si se activa. el ojeador para seleccionar el fichero a reproducir también " "mostrará los ficheros ocultos." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "complemento de entrada gnome-vfs tal como vino con xine" @@ -2294,82 +2338,82 @@ msgstr "complemento de entrada gnome-vfs tal como vino con xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) falló: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: error de lectura %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Conectando servidor HTTP..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: respuesta http no válida\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: redirección 3xx: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: el estado de http no es 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: longitud del contenido = %<PRIdMAX> bytes\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: tampón agotado después de %d bytes." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "complemento de entrada http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "Servidor delegado de HTTP" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "El nombre del servidor delegado (\"proxy\") de HTTP." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "Puerto del servidor delegado de HTTP" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "El número de puerto en el servidor delegado (\"proxy\") de HTTP." -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "Usuario en el servidor delegado de HTTP" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "El nombre de usuario en el servidor delegado de HTTP." -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "Contraseña en el servidor delegado de HTTP" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "La contraseña en el servidor delegado de HTTP." -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "Dominios para los cuales se ignorará el servidor HTTP delegado" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2381,15 +2425,15 @@ msgstr "" "Si un nombre de dominio se antecede con '=' entonces se trata como un " "nombre de servidor sólamente (se requiere coincidencia completa)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "complemento de flujo de bits mms" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "ancho de banda de red" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2399,11 +2443,11 @@ msgstr "" "usará cuando servidores de flujos de bits ofrezcan diferentes versiones con " "diferentes requisitos de ancho de banda del mismo flujo." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "protocolo MMS" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2431,55 +2475,57 @@ msgstr "input_net: no se puede resolver '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: no se puede conectar a '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "complemento de entrada de red incluido en xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "complemento de flujo de bits pnm de entrada" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: error al crear el archivo pvr (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: error al abrir el archivo pvr (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: error de lectura (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: error al abrir el dispositivo %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_G_CODEC falló, ¿quizás cambió la API? (interfase para " "programación de aplicaciones)\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_S_CODEC falló, ¿quizás cambió la API? (interfase para " "programación de aplicaciones)\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "complemento de entrada para WinTV-PVR 250/350" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "dispositivo usado para WinTV-PVR 250/350 (complemento pvr)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "El camino al dispositivo de su tarjeta WinTV." @@ -2532,88 +2578,89 @@ msgstr "incapaz de conectar a '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: parando el hilo de lectura...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: hilo de lectura terminado\n" # Cer: no esoy seguro del formato. -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Abriendo >fichero:%s puerto:%d interfase:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: no se puede crear un hilo nuevo (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "complemento de entrada RTP y UDP original de xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "complemento de flujo de bits de entrada rtsp" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "Complemento de entrada CIFS/SMB basado en libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: ¡no puedo ir hacia atrás! (%<PRIdMAX> > %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: falló al abrir '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "complemento de entrada de flujo de bits" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Memoria intermedia vacía..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Memoria intermedia rebosando..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Ajustando..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Nombre del sintonizador no encontrado\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "Complemento de entrada v4l tv" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "Complemento de entrada v4l radio" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "dispositivo vídeo v4l" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "El camino a su dispositivo de vídeo Video4Linux." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 msgid "v4l ALSA audio input device" -msgstr "dispositivo entrada audio ALSA v4l" +msgstr "dispositivo audio de entrada ALSA v4l" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." @@ -2621,25 +2668,29 @@ msgstr "" "El nombre del dispositivo de audio que corresponde a su dispositivo de vídeo " "Video4Linux." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" -msgstr "" +msgstr "Estandar v4l de TV" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 +#, fuzzy msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" +"Selecciona el estandar de TV de las señales de entrada. Ha de ser una de: " +"PAL, NTSC o SECAM. " -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "dispositivo audio v4l" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "El camino a su dispositivo de radio Video4Linux." #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: MRL mal formada. Use vcdo:/<núm. pista>\n" @@ -2652,21 +2703,21 @@ msgstr "input_vcd: pista %d no válida (rango válido: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Complemento de entrada de vídeo CD" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "incapaz de abrir %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: incapaz de abrir %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "dispositivo usado para reproducción de VCD" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2690,10 +2741,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: falló en conectar al servidor %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: la sesión no pudo establecerse.\n" #: src/input/librtsp/rtsp_session.c:153 +#, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2718,6 +2771,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Conectando a servidor MMS (sobre tcp)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: error de envío\n" @@ -2778,6 +2832,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: falló en conectar '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: falló en poner el flujo de bits\n" @@ -3022,6 +3077,7 @@ msgstr "" "2048: Depurando desde VCDINFO\n" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "¡AYUDA! ¿¡Un manejador de audio exclusivamente mono-aural?!\n" @@ -3073,14 +3129,17 @@ msgstr "" "opción de modo que los canales adicionales se mezclen en la señal estéreo." #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() falló.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 falló.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit falló.\n" @@ -3090,10 +3149,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: falló lectura mpc_streaminfo_read: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: datos después de la última trama ignorados\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: falló mpc_decoder_initialise\n" @@ -3123,6 +3184,7 @@ msgstr "" "sobre cómo instalar los codificadores." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" "libreal: ¡Error resolviendo símbolos! (¿incompatibilidad de versión?)\n" @@ -3146,58 +3208,59 @@ msgstr "" "0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: Ostras, ¿puede real hacer más de dos canales?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "mostrar los subtítulos en flujos MPEG-2" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "Son subtítulos (Closed Captions) pensados mayormente para ayudar a las " "personas con deficiencias auditivas." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "esquema de subtitulado en primer o segundo plano" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Escoja su renderizado favorito de los subtítulos." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "tipografía estándard de subtitulado" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Escoja la fuente tipográfica estándard para el texto del subtitulado." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "tipografía cursiva de subtitulado" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Escoja la fuente tipográfica cursiva para el texto del subtitulado." -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "tamaño de la tipografía del subtitulado" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" "Escoja el tamaño de la fuente tipográfica para el texto del subtitulado." -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "subtitulado ajustado al centro " -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3460,6 +3523,7 @@ msgstr "" "para escuchar sólo un canal de un flujo de datos dado.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": mejorando Mono a Stereo.\n" @@ -3474,6 +3538,7 @@ msgstr[1] "" ": mejorando un canal simple desde los %d canales del flujo original.\n" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": dispositivo audio incapaz de AO_CAP_MODE_STEREO.\n" @@ -3499,7 +3564,8 @@ msgstr "" # Ignoro que nombre puede tener en español. Lo de “pulldown” # viene del arrastre de la pelicula, de la que se tira con una uña # en la cámara -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 +#, fuzzy msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3513,6 +3579,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3609,7 +3678,8 @@ msgstr "" "está disponibles para todas las plataformas)\n" "\n" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: No hay métodos de desentrelazado disponibles, saliendo.\n" @@ -3704,7 +3774,7 @@ msgstr "" "\n" "Parámetros\n" " Radius (radio): tamaño del filtro\n" -" Power (potencia): qué a menudo debería ser aplicado el filtro\n" +" Power (potencia): cuan a menudo debería ser aplicado el filtro\n" "\n" "* mplayer's boxblur (C) 2002 Michael Niedermayer\n" @@ -3914,7 +3984,7 @@ msgid "" "\n" "* mplayer's unsharp (C) 2002 Remi Guyomarch\n" msgstr "" -"Unsharp mask / gaussian blur (Máscara de des-nitidez / borrosidad " +"Unsharp mask / gaussian blur (máscara de des-nitidez / borrosidad " "gaussiana)\n" "Es posible ajustar el ancho y altura de la matriz, tamaño impar en ambas " "direcciones (min = 3x3, máx = 13x11 o 11x13, usualmente algo entre 3x3 y " @@ -3946,7 +4016,7 @@ msgstr "" "Complemento de xine de salida de vídeo usando la librería de arte ascii " "(ascii-art)" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "" "Complemento de xine de salida de vídeo usando la librería de arte ascii a " @@ -4026,22 +4096,27 @@ msgstr "" "\"=desactivado)." #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "video_out_directfb: usando aceleración hardware de subimagen\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_directfb: la capa soporta salida de vídeo\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_directfb: ¡la capa no soporta YV12!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: ¡la capa no soporta YUV2!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -4059,10 +4134,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: ¡la capa no soporta las opciones 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "video_out_directfb: usando escalado de imagen en hardware acelerado.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -4089,6 +4166,7 @@ msgid "xine video output plugin using DirectFB." msgstr "complemento de xine de salida de vídeo usando DirectFB." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" "video_out_directfb: ¡no se encontró una capa de visualización usable!\n" @@ -4097,7 +4175,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "complemento de xine de salida de vídeo usando DirectFB bajo XDirectFB." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "complemento de xine de salida de vídeo para win32 usando directx" @@ -4130,6 +4208,7 @@ msgstr "" "es realmente un verdadero dispositivo framebuffer." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Lo sentimos, su modo de vídeo no fue reconocido .\n" @@ -4156,6 +4235,7 @@ msgstr "" # frame flips --> volteos de cuadro # Zero copy buffers --> tampones copia cero #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -4278,6 +4358,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "Complemento de xine de salida de vídeo usando la API gráfica 3D OpenGL" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx32: Error: no puedo coger el DGA pintable para la ventana de " @@ -4297,6 +4378,7 @@ msgstr "" # Cer: Mmm, coger :-? #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx64: Error: no puedo coger el DGA pintable para la ventana de " @@ -4326,6 +4408,7 @@ msgstr "" "cuadro) xvr100/pgx64/pgx24 \n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" @@ -4333,24 +4416,29 @@ msgstr "" "ya está en uso\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Error: incapaz de poner las propiedades de ventana\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Aviso: memoria de vídeo baja, multi-tamponeado desactivado\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Error: memoria de vídeo insuficiente\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Aviso: memoria de vídeo baja, tamponeado-doble desactivado\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Error: falló ioctl (FBIOGATTR)\n" @@ -4407,11 +4495,13 @@ msgstr "" "desactivar, si las cosas van mal." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" "sdl tiene que emular superficies de16 bit, que enlentecerán las cosas.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: el modo de pantalla completa NO está soportado\n" @@ -4428,36 +4518,44 @@ msgstr "" "complemento de vídeo de xine usando el \"Libstk Surface Set-top Toolkit\"" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: error. (YUY2 no está soportado por su tarjeta gráfica)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: error. (YV12 no está soportado por su tarjeta gráfica)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "video_out_syncfb: info. (módulo SyncFB soporta YUV 4:2:0 (3 planos))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "video_out_syncfb: info. (módulo SyncFB soporta YUV 4:2:0 (2 planos))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: info. (módulo SyncFB soporta YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: info. (módulo SyncFB soporta YUY2)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: info. (módulo SyncFB soporta RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -4466,6 +4564,7 @@ msgstr "" "RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4548,19 +4647,23 @@ msgstr "" "memoria gráfica." #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: el adaptador soporta el formato yuy2\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: el adaptador soporta el formato yv12\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "" "video_out_vidix: Tiene usted la versión incorrecta de la librería VIDIX\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: No pude localizar el driver VIDIX que funcione\n" @@ -4601,6 +4704,7 @@ msgstr "" "Shared Memory).\n" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4612,6 +4716,7 @@ msgstr "" "Shared Memory).\n" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4637,12 +4742,14 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xcbshm: la extensión de memoria compartida del MIT (MIT Shared " "Memory) no está presente en la pantalla.\n" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xcbshm: su modo de vídeo no fué reconocido, lo siento :-(\n" @@ -4652,7 +4759,8 @@ msgstr "" "complemento de salida de vídeo de xine usando la extensión de memoria " "compartida del MIT (MIT Shared Memory) " -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4661,7 +4769,7 @@ msgstr "" "video_out_xcbxv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4671,7 +4779,8 @@ msgstr "" "video_out_xcbxv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4680,17 +4789,24 @@ msgstr "" "video_out_xcbxv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: la extensión Xv no está presente.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" +msgstr "%s: no se pudo abrir el puerto Xv %d - autodetectando\n" + +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4701,7 +4817,7 @@ msgstr "" "puerto yuv12 usable.\n" " ¡¿Parece que su driver de hardware gráfico no soporta Xv?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4710,11 +4826,11 @@ msgstr "" "video_out_xcbxv: usando puerto Xv %d del adaptador %s para conversión y " "escalado de espacio de color en hardware .\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "activar sincronismo de blanqueo vertical (vblank sync)" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -4728,21 +4844,23 @@ msgstr "" "\" (configuración de nvidia) y escoger que dispositivo de pantalla debe " "sincronizar bajo la pestaña de configuración de XVideo" -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xcbxv: éste adaptador soporta el formato yv12.\n" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: éste adaptador soporta el formato yuy2.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "método de desentrelazado (obsolescente)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4817,12 +4935,13 @@ msgstr "" "Aplica un ligero borrón vertical para eliminar los artifactos de peine. " "Buenos resultados con uso de CPU mediano." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "complemento de salida de vídeo usando la extensión MIT X vídeo" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4842,6 +4961,7 @@ msgstr "" "Shared Memory).\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4852,6 +4972,7 @@ msgstr "" "Shared Memory).\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4861,16 +4982,19 @@ msgstr "" "Shared Memory).\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: la extensión de memoria compartida del MIT (MIT Shared " "Memory) no está presente en la pantalla.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: su modo de vídeoo no fué reconocido, lo siento :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4879,7 +5003,8 @@ msgstr "" "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4888,7 +5013,7 @@ msgstr "" "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4898,7 +5023,8 @@ msgstr "" "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4907,11 +5033,18 @@ msgstr "" "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " "Shared Memory).\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: la extensión Xv no está presente.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, fuzzy, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "%s: no se pudo abrir el puerto Xv %d - autodetectando\n" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4921,7 +5054,7 @@ msgstr "" "puerto yuv12 usable.\n" " ¡¿Parece que su driver de hardware gráfico no soporta Xv?!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4930,23 +5063,27 @@ msgstr "" "video_out_xv: usando puerto Xv %ld del adaptador %s para conversión y " "escalado de espacio de color en hardware .\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: éste adaptador soporta el formato yv12.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: éste adaptador soporta el formato yuy2.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "complemento de vídeo de xine usando extensión de vídeo X XvMC" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: extensión XvMC no presente.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4954,7 +5091,7 @@ msgstr "" "video_out_xvmc: la extensión Xv está presente pero no pude encontrar un " "puerto yuv12 usable.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4963,24 +5100,28 @@ msgstr "" "video_out_xvmc: usando puerto %ld de Xv del adaptador %s\n" " para conversión del espacio de color y escalado en hardware\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " compensación de movimiento y aceleración idct \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " sólo compensación de aceleración \n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " sin soporte XvMC \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " Con Overlay = %d; UnsignedIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4990,6 +5131,7 @@ msgstr "" "compartida MIT).\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -5009,6 +5151,7 @@ msgstr "" "compartida MIT).\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -5018,11 +5161,13 @@ msgstr "" "video_out_xxmc: => no se usará la extensión \"MIT Shared Memory\" (memoria " "compartida MIT).\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: extensión Xv no presente.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -5033,7 +5178,7 @@ msgstr "" " ¿Parece como que su driver de hardware gráfico no soporta " "Xv?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -5042,19 +5187,21 @@ msgstr "" "video_out_xxmc: usando el puerto %ld de Xv del adaptador %s para conversión " "y escalado del espacio de color en hardware.\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: éste adaptador soporta el formato yv12.\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: éste adaptador soporta el formato yuy2.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "Hacer que XvMC ubique más cuadros more cuadros para mejor tamponeado." -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" @@ -5064,11 +5211,11 @@ msgstr "" "Esta opción, cuando se activa, hace que el manejador trate de\n" "ubicar 15 cuadros. hay que tenerlo para VDR uni cromático y en vivo.\n" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Ahorro de cpu unichrome" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" @@ -5078,11 +5225,11 @@ msgstr "" "Sólo para Linux con kernel serie 2.6 series o 2.4 con parche multimedia.\n" "Experimental.\n" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Arreglar colores de subimagen en NVIDIA XvMC con errores" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" @@ -5091,24 +5238,24 @@ msgstr "" "rojo en el DEP aparezca como azul y viceversa.\n" "Esta opción proporciona un arreglo.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Use «bob» como método acelerado de desentrelazado." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -"Cuando el entrelazado está activado para cuadros acelerados \n" -"en hardware, alterna entre el campo superior e inferior \n" +"Cuando el entrelazado está activado para cuadros acelerados\n" +"en hardware, alterna entre el campo superior e inferior\n" "al doble de la frecuencia de cuadro.\n" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "No usar desentrelazado «bob» para cuadros progresivos." -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" @@ -5116,12 +5263,12 @@ msgstr "" "Los cuadros progresivos no necesitan desentrelazado, de manera\n" "que desentrelazarlos bajo demanda no resultará en una mejor imagen.\n" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" "No usar desentrelazado «bob» mientras una escalado de VEP (OSD) está activo." -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" @@ -5131,18 +5278,21 @@ msgstr "" "mejor imagen VEP (visualización en pantalla, OSD)\n" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: extensión XShape no disponible. Superposición no escalada " "desactivada.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: error al crear ventana . Superposición no escalada desactivada.\n" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: error al crear pixmap (mapa de píxeles). Superposición no escalada " @@ -5192,13 +5342,12 @@ msgstr "" "2 - sactivar filtrado bilineal completo" #: src/video_out/xv_common.h:53 -#, fuzzy msgid "Xv port number" -msgstr "mal número de entrada" +msgstr "puerto Xv número" #: src/video_out/xv_common.h:54 msgid "Selects the Xv port number to use (0 to autodetect)." -msgstr "" +msgstr "Selecciona el número de puerto Xv a usar (0 para autodetectar)." #: src/video_out/xv_common.h:57 msgid "pitch alignment workaround" @@ -5210,16 +5359,30 @@ msgstr "" "Algunos drivers de vídeo con errores necesitan un rodeo para que funcionen " "adecuadamente." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" -msgstr "" +msgstr "preferencia de método de visualización de vídeo (display)" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +"Selecciona que método de salida de vídeo se prefiere. La detección se hace " +"usando los nombres reportados del adaptador Xv.\n" +"(Sólo aplica al detectar qué puerto Xv a usar.)" + +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "filtro de parpadeo" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" @@ -5265,6 +5428,7 @@ msgstr "" "memoria." #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" @@ -5272,20 +5436,24 @@ msgstr "" "disponible\n" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" "la escritura a la tarjeta de sonido falló. Supondremos que el dispositivo se " "desconectó.\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "8 bits no soportados por el driver, convirtiendo a 16 bits.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "mono no soportado por el driver, convirtiendo a estéreo.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "estéreo no soportado por el driver, convirtiendo a mono.\n" @@ -5393,8 +5561,8 @@ msgid "" msgstr "" "Si activa esta opción, el audio se escuchará incluso cuando la velocidad de " "reproducción no sea 1X. Por supuesto, sonará distorsionado (tono más agudo o " -"grave). Si desea experimentar preservando el tono, puede probar el " -"postcomplemento de sonido 'stretch' en su lugar." +"grave). Si desea experimentar preservando el tono, puede probar el post-" +"complemento de sonido 'stretch' en su lugar." #: src/xine-engine/audio_out.c:2229 msgid "startup audio volume" @@ -5414,6 +5582,7 @@ msgstr "" "Si se desactiva, xine no modificará ningún ajuste del mezclador al arrancar." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: lo siento, ésto no debiera ocurrir. Por favor reinicie xine.\n" @@ -5425,46 +5594,48 @@ msgstr "" "xine-lib: buffer.c: Ha ocurrido un error fatal: DEMASIADAS LIBERACIONES DE " "MEMORIA (FREE'S)\n" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "El fichero actual de configuración ha sido modificado por una versión de " "xine más nueva." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: AVISO: la copia de seguridad del fichero de configuración a %s " "falló\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: AVISO: su configuración no será guardada\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: AVISO: la escritura de la configuración a %s falló\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: AVISO: eliminando fichero de configuración %s posiblemente roto\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: AVISO: debería comprobar el fichero de respaldo %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: la entrada '%s' no debería ser modificada desde MRL\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "" "info_helper: no puedo encontrar el \"locale\" actual del juego de " @@ -5506,7 +5677,7 @@ msgstr "input_rip: error escribiendo al fichero %<PRIdMAX> bytes: %s\n" #: src/xine-engine/input_rip.c:182 #, c-format msgid "input_rip: open() function should never be called\n" -msgstr "input_rip: la función open() no debería ser llamada nunca\n" +msgstr "input_rip: la función open() no debiera ser nunca llamada\n" #: src/xine-engine/input_rip.c:313 src/xine-engine/input_rip.c:418 #, c-format @@ -5739,6 +5910,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: fallé al cargar complemento de salida de audio <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5755,51 +5927,53 @@ msgstr "" "load_plugins: no puedo descargar librería de complementos %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "la tipografía '%s-%d' ya estaba cargada, raro.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "la carga de la tipografía '%s' falló (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" "versión incorrecta para la tipografía '%s'. Se esperaba %d se encontró %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: no puedo inicializar librería ft2\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: error encajando tipografía %s con FontConfig" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: error cargando tipografía %s con FontConfig" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: error buscando tipografía %s con FontConfig" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: error cargando tipografía %s con ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "osd: error poniendo tamaño de (¿tipografía no escalable?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5808,41 +5982,46 @@ msgstr "" "osd: secuencia desconocida comenzando con byte 0x%02X en codificación \"%s" "\", saltando\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: no puedo encontrar juego de caracteres actual del \"locale\"\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: conversión no soportada %s -> %s, conversión no realizada\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: la tipografía no está definida\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: error cargando glifo\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: error en renderizado de glifo\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: error cargando glifo %i\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: error en renderizado\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "paleta (frente-borde-fondo) a usar para subtítulos y VEP (OSD)" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5928,6 +6107,7 @@ msgstr "" "programados para su visualización a tiempo, xine envía una notificación." #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: Lo siento, esto no debería ocurrir. Por favor, reinicie xine.\n" @@ -5995,6 +6175,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: error mientras se interpretaba mrl\n" @@ -6025,6 +6206,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: complemento de entrada join rip \n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: error al abrir instancia de complemento de entrada rip\n" @@ -6036,18 +6218,22 @@ msgstr "" "iniciarse \n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "ignorando vídeo\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "ignorando audio\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "ignorando subimagen\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "caché del complemento de entrada desactivado\n" @@ -6057,6 +6243,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "abierto mrl de subtítulos '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: error abriendo mrl de subtítulos\n" @@ -6119,6 +6306,7 @@ msgstr "" "seguridad." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: \"locale\" no soportada por la librería de C\n" @@ -6296,17 +6484,6 @@ msgstr "" "automáticamente." #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Evaluando métodos \"memcpy\" (menor es mejor):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Incapaz de crear eventos posicionales de búfer." - -#~ msgid "Unable to get notification interface" -#~ msgstr "Incapaz de conseguir interfase de notificación" - -#~ msgid "Unable to set notification positions" -#~ msgstr "Incapaz de poner posiciones de notificación" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": retrasado en %ld msec\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib-1\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2005-02-17 14:29+0100\n" "Last-Translator: Piarres Beobide <pi@beobide.net>\n" "Language-Team: lubrezale <librezale@librezale.org>\n" @@ -54,6 +54,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "%s audio_alsa_out: snd_pcm_open()-ek huts egin du: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> Egiaztatu beste programa batek PCM darabilkien<<<\n" @@ -332,193 +333,193 @@ msgstr "xine audio irteera plugina kde artsd erabiliaz" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "xine irteera plugina Coreaudio/Mac OS X-entzat" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 #, fuzzy msgid "Error" msgstr "Errorerik ez" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 #, fuzzy msgid "requested buffer control is not available" msgstr "eskatutako botoia ez da erabilgarri\n" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 #, fuzzy msgid "DirectSound hardware device is unavailable" msgstr "Erabili hardware azelerazioa eskuragarri badago" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 #, fuzzy msgid "requested COM interface not available" msgstr "eskatutako botoia ez da erabilgarri\n" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 #, fuzzy msgid "unknown error" msgstr "Errore ezezaguna" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, fuzzy, c-format msgid ": can't create pthread condition: %s\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, fuzzy, c-format msgid ": can't create pthread mutex: %s\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, fuzzy, c-format msgid ": can't create buffer pthread: %s\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, fuzzy, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, fuzzy, c-format msgid ": unknown control command %d\n" msgstr "iff-ilbm: konpresio ezezaguna: %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 #, fuzzy msgid "second xine audio output plugin using directx" msgstr "xine audio irteera plugina win32-arentzat directx erabiliaz" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "xine audio irteera plugina win32-arentzat directx erabiliaz" @@ -528,6 +529,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: %s ESD zerbitzarira konektatzen: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: esd zerbitzarira konektatzen...\n" @@ -646,11 +648,13 @@ msgstr "" "da OSS audio gailu izena\"auto\" bezala ezarririk badago." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" "audio_oss_out: audio.device.oss_device_name = auto, gailuak frogatzen\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Audio gailu auto-frogak huts egin du\n" @@ -730,6 +734,7 @@ msgstr "" "badituzu" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -855,12 +860,13 @@ msgstr "ffmpeg_audio_dec: bufferra%d-ra handitzen askieza sahiesteko.\n" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 -#, fuzzy +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, fuzzy, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: ezin da deskodetzailea ireki\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: ezin da deskodetzailea ireki\n" @@ -869,38 +875,41 @@ msgstr "ffmpeg_audio_dec: ezin da deskodetzailea ireki\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: bufeera %d -ra handitzen askieza sahiesteko.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: marko formatu onartezina, DR1 ezgaiturik.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 -#, fuzzy +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, fuzzy, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "ffmpeg_video_dec: marko formatu onartezina, DR1 ezgaiturik.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: ezin da deskodetzailea ireki\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: direct reenderizazioa gaiturik\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: bufferra %d -ra handitzen askieza saiesteko.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "MPEG-4 postprozesatze kalitatea" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -909,11 +918,11 @@ msgid "" "much." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -922,11 +931,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -936,11 +945,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1040,6 +1049,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "" @@ -1064,6 +1074,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: Zati ezezaguna: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -1077,6 +1088,7 @@ msgstr "" "garatzaileei.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1097,7 +1109,7 @@ msgstr "" "demux_mpeg_block: kontuz: PES goiburuak korrontea enkriptaturik dagoela " "ezartzen du (enkriptazioa %d modua)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1106,19 +1118,19 @@ msgstr "" "xine-lib:demux_mpeg_pes: 0x%02x korronte_id ezezaguna. MEsedez honen berri " "eman xine garatzaileei.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: kontuz: PACK korronte -aid=0x%x dekodifikatzerakoan huts.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: abisua: PES buruarentzat gorderiko 10 bit ez dira aurkitu\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1127,7 +1139,7 @@ msgstr "" "demux_mpeg_pes: abisua: PES buruak korronte hau enkriptaturik dagoela " "adierazten du (enkriptazio mota: %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1154,6 +1166,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: onartzen ez den audio mota: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1200,6 +1213,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Huts %s (%s) spu gailua irekitzerakoan\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "eskatutako botoia ez da erabilgarri\n" @@ -1282,6 +1296,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Huts %s (%s) bideo gailua irekitzerakoan\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: gailuan idaztea blokeatuta egon liteke. garbitzen\n" @@ -1296,16 +1311,19 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: KONTUZ: %d marko abiadura kode ezezaguna\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" "dxr3_decode_video: ABISUA: marko abiaradura PAT-etik NTSC-ra biurtzen\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: huts librte abiaraztean\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1314,10 +1332,12 @@ msgstr "" "ditzake\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: huts rte contestua eskuratzerakoan.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: Ezin da kodeka sortu.\n" @@ -1344,6 +1364,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: ezin kodifikazioa abiarazi: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: Ezin da FAME liburutegia abiarazi\n" @@ -1450,18 +1471,22 @@ msgstr "" "zaharkiturik dago beraz exkeutatzean huts egin dezalekete." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "video_out_dxr3: Mpeg kodetzaile libavcodec huts abiaraztean.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: Mpeg kodetzaile rte huts abiaraztean.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: Mpeg kodetzaile fame huts abiaraztean.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1478,6 +1503,7 @@ msgstr "" "konfigurazioa.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1572,6 +1598,7 @@ msgstr "" "gaitu gainjarpen goi eta beheko aldean lerro orlegiak ikusi ezkero." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: mesedez autocal abiarazi, gainjarpena ezgaiturik\n" @@ -1596,10 +1623,12 @@ msgstr "" "default: mantendu txartel ezarpenak" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: bideo modu ezarpenak huts egin du.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1609,6 +1638,7 @@ msgstr "" "video_out_dxr3: README.dxr3 begiratu xehetasunentzat.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: ERROREA gainjarri abiarazte fitxategia irakurtzeab. Run " @@ -1731,58 +1761,62 @@ msgstr "input_dvb: huts '%s' dvb kanal fitxategia irekitzerakoan\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: huts '%s' dvb kanal fitxategia irekitzerakoan\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: irrati_ezarpen_kanalak huts egin du\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: ezin da dvb gailua ireki\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: %d kanala eremutik kanpo, 0-ra lehenesten\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: %s kanala bilatzen\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: ez da %s-ren parekatze zehatzik aurkitu: parekatze hurbilduak " "saiatzen\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: %s kanal parekatzea aurkiturik\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, fuzzy, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "input_dvb: %s kanala ez da kanaletan aurkitu, 0 kanalera lehenesten\n" -#: src/input/input_dvb.c:2867 -#, fuzzy +#: src/input/input_dvb.c:2871 +#, fuzzy, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "input_dvb: baliogabeko kanal ezarpena, 0 kanalera lehenesten\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "input_dvb: baliogabeko kanal ezarpena, 0 kanalera lehenesten\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1790,7 +1824,8 @@ msgstr "" "input_dvb: dvbs mrl ezarririk baina sintonizatzailea ez dirudu QPSK (DVB-S) " "dagoenik\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1798,7 +1833,8 @@ msgstr "" "input_dvb: dvbt mrl ezarririk baina sintonizatzailea ez dirudu OFDM (DVB-T) " "dagoenik\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" @@ -1806,8 +1842,8 @@ msgstr "" "input_dvb: dvbc mrl ezarririk baina sintonizatzailea ez dirudu QAM (DVB-C) " "dagoenik\n" -#: src/input/input_dvb.c:2954 -#, fuzzy +#: src/input/input_dvb.c:2958 +#, fuzzy, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" @@ -1815,21 +1851,21 @@ msgstr "" "input_dvb: dvbc mrl ezarririk baina sintonizatzailea ez dirudu QAM (DVB-C) " "dagoenik\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: ezin da '%s' dvr gailua ireki\n" -#: src/input/input_dvb.c:3012 -#, fuzzy +#: src/input/input_dvb.c:3016 +#, fuzzy, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1837,67 +1873,68 @@ msgstr "" "Honek pantaila osoko erreprdukzioa 4:3 formatu edukiak 16:9 markotan " "transmititzea gaitzen du." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "DVB (Telebista Digitala) sarrera plugina" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 #, fuzzy msgid "Last DVB channel viewed" msgstr "bistaratu DVB kanal izena" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 #, fuzzy msgid "Number of dvb card to use." msgstr "audio buffer kopurua" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1906,15 +1943,16 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Errorea DVD-tik hurrengo blokea eskuratzerakoan (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Errorea DVD gailua irekitzerakoan\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "DVD-a erreproduzitzeko erabiliko den gailua" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -1922,11 +1960,11 @@ msgstr "" "DVD-ak erreproduzitzeko erabli nahi duzun, arruntean DVD gailu bat, gaiuaren " "bidea." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "DVD irakurleantzat gailu gordin (raw) ezarpenak" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1937,22 +1975,22 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "CSS desenkriptazio metodoa" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1961,11 +1999,11 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "DVD erreproduktorean eskatzen duen erregioa (1 - 8)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -1975,11 +2013,11 @@ msgstr "" "bakarrik behar da hau. Honek ez du zerikusirik DVD gailuetan ezarritako " "erregio kodearekin, hau software hutsa da." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "DVD erreprodukzioaren lehenetsirako hizkuntza" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -1990,22 +2028,22 @@ msgstr "" "hizkuntza honetan emango dira.\n" "Balioak bi karaktereko ISO639 kode bat izan behar da." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "irakuketa-goiburu gordetzea" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "Ekintza egingo ez den unitatea" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2024,11 +2062,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "Bilatuko den untitatea" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2042,11 +2080,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2058,44 +2096,44 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: irakurketa errorea (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Baimena ukaturik: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Fitxategia ez da aurkitu: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, fuzzy, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Fitxategia ez da aurkitu: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "fitxategi sarrera plugina" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "fitxategi kudeatzailearen abiarazte kokalekua" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" "Erreproduzitzeko fitxategi kudeatzailea kokaleu horretan abiaraziko da." -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "bistaratu ezkutatuako fitxategiak" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -2103,7 +2141,7 @@ msgstr "" "gaiturik dagoenean, fitxategi kudeatzaileak ezkutatutako fitxategia " "bistaraziko ditu." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "gnome-vfs sarrera plugina, xinerekin banatzen dena" @@ -2112,83 +2150,83 @@ msgstr "gnome-vfs sarrera plugina, xinerekin banatzen dena" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s)-ek huts egin du: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: irekurketa errorea %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "HTTP zerbitzarira konektatzen..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: http erantzun baliogabea\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx birbideratzea: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: http egoera ez da 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, fuzzy, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: eduki luzera = %Ld bite\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, fuzzy, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: irekurketa errorea %d\n" -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "http sarrera plugina" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "HTTP proxy ostalaria" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "HTTP proxy-aren ostalari izena." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "HTTP proxy ataka" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "HTTP proxy-aren ataka zenbakia." -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "HTTP proxy erabiltzailea" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "HTTP proxy-aren erabiltzaile izena" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "HTTP proxy pasahitza" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "HRRP proxy-aren pasahitza." -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 #, fuzzy msgid "Domains for which to ignore the HTTP proxy" msgstr "Domeinuak, non ez den HTTP proxy-a erabiliko" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2196,15 +2234,15 @@ msgid "" "(full match required)." msgstr "" -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "mms korronte sarrera plugina" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "sare zabalera" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2214,11 +2252,11 @@ msgstr "" "korronte berdinaren konexio zabalera behar duten korronte bertsio ezberdinak " "eskeintzean erabiliko da." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "MMS protokoloa" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2246,51 +2284,53 @@ msgstr "input_net: ezin da '%s' ebatzi.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: ezin da '%s'-ra konektatzen.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "sare sarrera plugina, xinerekin anatzen dena" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "pnm korronte sarrera plugina" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: errorea¡pvr fitxategia (%s) sortzerakoan\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: errorea¡pvr fitxategia (%s) irekitzerakoan\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: irakurketa errorea (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: errorea %s gailua irekitzerakoan\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_G_CODEC-ak huts egin du, agian API-a aldatu da?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_S_CODEC-ak huts egin du, agian API-a aldatu da?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "WinTV-PVR 250/350 sarrera plugina" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "WinTV-PVR 250/350 (pvr plugin)-ek erabiliko duen gailua" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "WinTV txartelaren gailuaren bidea." @@ -2343,113 +2383,115 @@ msgstr "Ezin da '%s' lotu.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: geratu irakurketa haria...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: hari irakurketa amaiturik\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Opening >fitxategia:%s ataka:%d interfazea:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "RTP eta UDP sarrera plugina, xinerekin banatzen dena" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "rtsp korronte sarrera plugina" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, fuzzy, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: ezin da atzera salto egin! (%lld > %lld)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: ezin da '%s' ireki\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "stdin korronte sarrera plugina" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Buffer gainditzea..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Buffer askieza..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Egokitzen..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "sintonizatzaile izena ez da aurkitu\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "v4l tv sarrera plugina" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "v4l irrati sarrera plugina" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "v4l bideo gailua" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Video4Linux bideo gailuaren bidea." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "v4l irrati gailua" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Video4Linux bideo gailuaren bidea." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "v4l irrati gailua" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Video4Linux irrati gailuaren bidea." #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: gaikieraturiko MRL-a. vcdo:/<pista #> erbili\n" @@ -2462,21 +2504,21 @@ msgstr "input_vcd: %d pista baliogabea (baliozko eremua: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Bideoa CD sarrera plugina" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "Ezin da %s ireki: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: Ezin da %s ireki: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "VCD erreproduzitzeko erabiliko den gailua" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2498,11 +2540,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: huts %s zerbitzarira konektatzerakoan\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: ezin da saioa sortu.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2526,6 +2569,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "MMS zerbitzarira konektatzen (tcp bidez),,," #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: bidalketa errorea\n" @@ -2582,6 +2626,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: ezin da '%s' konektatu\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: huts korrotea ezartzerakoan\n" @@ -2799,6 +2844,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "LAGUNTZA! mono bakarrik audio kontrolatzailea?\n" @@ -2838,17 +2884,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad faacDecOpen()-ek huts egin du.\n" #: src/libfaad/xine_faad_decoder.c:141 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad faacDecInit2-ek huts egin du.\n" #: src/libfaad/xine_faad_decoder.c:152 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad faacDecInit-ek huts egin du.\n" @@ -2858,10 +2904,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2891,6 +2939,7 @@ msgstr "" "buruzko argibide gehiagorako." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" "libreal: Errorea sinboloak ebazterakoan! (bertsio bateragarritasun eza?)\n" @@ -2912,57 +2961,58 @@ msgstr "" "libareal: deskodetzaile zapore konfigurazio hutsa, errore kodea: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "bistaratu itxitako izenburuak MPEG-2 korronteetan" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "Itxitako Tituluak (closed caption) normalean entzumen arazoak dituztenei " "laguntzeko azpitituluak dira." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "Itxitako-tituluen atzealdeko eskema" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Aukeratu itxitako tituluentzat gustoko duzun errendarizatzailea." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "Lehenetsitako itxitako titulu letra-tipoa" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Aukeratu ixtitako titulu testuarentzat lehenetsitako letra-tipoa." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "etzandako itxitako izenburu letra-tipoa" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Aukeratu etzandako itxitako tituluen letra-tipoa." -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "Itxitako izenburuen letra-tamaina" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Aukeratuko itxitako tituluen letra tamaina" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "erdira-doitu itxitako tituluak" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3211,6 +3261,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -3222,6 +3273,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -3235,7 +3287,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3249,6 +3301,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3288,7 +3343,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Ez dago elkargurutzatur modurik eskuragarri, irteten.\n" @@ -3524,7 +3580,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "xine bideo irteera plugina AsCii Arte liburutegia erabiliaz" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "xine bideo irteera plugina Kolore AsCii Arte liburutegia erabiliaz" @@ -3589,25 +3645,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_vidix: egokigailuak yuy2 formatua onartzen du\n" #: src/video_out/video_out_directfb.c:1535 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_syncfb: info. (SyncFB moduluak YUY2 onartzen du)\n" #: src/video_out/video_out_directfb.c:1542 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_syncfb: info. (SyncFB moduluak YUY2 onartzen du)\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3623,10 +3681,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3653,6 +3713,7 @@ msgid "xine video output plugin using DirectFB." msgstr "xine bideo irteera plugina DirectFB liburutegia erabiliaz" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3661,7 +3722,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "xine bideo irteera plugina DirectFB liburutegia erabiliaz" -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "xine bideo irteera plugina win32-rentzat directx erabiliaz" @@ -3689,6 +3750,7 @@ msgstr "" "balioaegiazko framebuffer gailu bat dela ziurtatu behar duzu." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Bideo modua ez da ezagutzen, barkatu.\n" @@ -3707,6 +3769,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3789,6 +3852,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "xine bideo irteera OpenGL - TNG erabiliaz" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3803,6 +3867,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "video_out_pgx32: Errorea: '%s' ez da pgx32 framebuffer gailua\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3827,30 +3892,36 @@ msgstr "" "video_out_pgx64: Errorea: '%s' ez da xvr100/pgx64/pgx24 framebuffer gailua\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" "video_out_pgx64: Errorea: pantaila honetako bideo ingurunea erabilia dago\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Errorea: ezin dira leiho propietateak ezarri\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Abisua: bideo memoria baxua, buffer-anitza ezgaiturik\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Errorea: Bideo memoria askieza\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Abisua: bideo memoria baxua, buffer-bikoitza ezgaiturik\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Errorea: ioctl hutsa (FBIOGATTR)\n" @@ -3902,11 +3973,13 @@ msgstr "" "oker joan ezkero ezgaitu ezazu." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" "sdl-ek ez ditu 16 bit gainazalak emulatu, honek gauzak geldot ditzake.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: pantaila osoko modua EZ da onartzen\n" @@ -3919,36 +3992,44 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "xine video output plugina \"Libstk Surface Set-top Toolkit\" erabiliaz" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "video_out_syncfb: errorea. (txartela grafikoak ez du YUY2 onartzen)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "video_out_syncfb: errorea. (txartela grafikoak ez du YV12 onartzen)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: info. (SyncFB moduluak YUV 4:2:0 (3 plano) onartzen du)\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: info. (SyncFB moduluak YUV 4:2:0 (2 plano) onartzen du)\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: info. (SyncFB moduluak YUV 4:2:2 onartzen du)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: info. (SyncFB moduluak YUY2 onartzen du)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: info. (SyncFB moduluak RGB565 onartzen du)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -3957,6 +4038,7 @@ msgstr "" "onartzen)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4029,18 +4111,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: egokigailuak yuy2 formatua onartzen du\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: egokigailuak yv12 formatua onartzen du\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: VIDIX liburutegiaren okerreko bertsio bat duzu\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: Ezin da dabilen VIDIX kontrolatzailerik\n" @@ -4078,6 +4164,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4085,6 +4172,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4101,13 +4189,13 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:1114 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT partekatutako memoria luzapena ez dago pantailan.\n" #: src/video_out/video_out_xcbshm.c:1213 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: bideo modua ez da ezagutzen, barkatu :-(\n" @@ -4115,38 +4203,45 @@ msgstr "video_out_xshm: bideo modua ez da ezagutzen, barkatu :-(\n" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1375 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1354 +#, fuzzy, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xv: Xv luzapena ez dago.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, fuzzy, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4157,18 +4252,18 @@ msgstr "" "erabilgarririkaurkitu.\n" " Dirudienez zure txartela grafikoak ez du Xv onartzen?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -4176,23 +4271,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1579 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: adaptadoreak yv12 formatua onartzen du.\n" -#: src/video_out/video_out_xcbxv.c:1587 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1584 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: adaptadoreak yuy2 formatua onartzen du.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "ez-elkarlituriko metodoa (zaharkiturik)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4230,12 +4325,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "xine bideo irteera plugina MIT X bideo luzapena erabiltzen" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4249,56 +4345,70 @@ msgid "" msgstr "" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT partekatutako memoria luzapena ez dago pantailan.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: bideo modua ez da ezagutzen, barkatu :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Xv luzapena ez dago.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4308,66 +4418,75 @@ msgstr "" "erabilgarririkaurkitu.\n" " Dirudienez zure txartela grafikoak ez du Xv onartzen?!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: adaptadoreak yv12 formatua onartzen du.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: adaptadoreak yuy2 formatua onartzen du.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "xineo bideo irteera plugina XvMC X bideo luzapena erabiltzen" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: XvMC luzapena ez dago.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" " for hardware colour space conversion and scaling\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " ez da XvMC onartzen \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr "" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4381,18 +4500,19 @@ msgid "" msgstr "" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2436 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2432 +#, fuzzy, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xvmc: XvMC luzapena ez dago.\n" -#: src/video_out/video_out_xxmc.c:2474 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2476 +#, fuzzy, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4402,96 +4522,99 @@ msgstr "" "erabilgarririkaurkitu.\n" " Dirudienez zure txartela grafikoak ez du Xv onartzen?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2641 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2649 +#, fuzzy, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: adaptadoreak yv12 formatua onartzen du.\n" -#: src/video_out/video_out_xxmc.c:2646 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2654 +#, fuzzy, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: adaptadoreak yuy2 formatua onartzen du.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: errorea leihoa sorzterakoan, eskala gabeko gainjarria ezgaiturik.\n" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: errorea pixel mapa sorzterakoan, eskala gabeko gainjarria " @@ -4546,17 +4669,27 @@ msgstr "" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4592,26 +4725,30 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" "audio_out: atzerapena kalkulatzea ezinezko audio gailu eskuraezin batekin\n" #: src/xine-engine/audio_out.c:1249 -#, fuzzy +#, fuzzy, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" "Hus soinu txartelan idazterakoan. Konektatu gabeko USB gailu bat ote?\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "kontrolatzaileak ez du 8bit onartzen, 16bit-era bihurtzen.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "kontrolatzaileak ez du mono onartzen, estereo-ra bihurtzen.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "kontrolatzaileak ez du estereo onartzen, mono-ra bihurtzen.\n" @@ -4706,6 +4843,7 @@ msgstr "" "ezgaiturik badago, xine-k ez ditu nahasle ezarpenak aldatuko abiaraztean." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: barkatu, hau ez zen gertatu beharko. mesedez xine berrabiarazi.\n" @@ -4715,47 +4853,48 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "Konfigurazio fitxategia xine-ren bertsio berriagobategatik aldatua izan da." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: ABISUA: %s-en konfigurazio fitxategia segurtasun kopia egiten\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: ABISUA: zure konfigurazioa ezin da gorde\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: ABISUA: huts %s konfigurazioa gordetzerakoan\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: ABISUA: agian apurturiko %s konfigurazio fitxategia ezabatzen\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "" "configfile: ABISUA: zuk segurtasun kopia %s fitxategia egiaztatu beharko " "zenuke\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: ¡'%s' sarrera ezin MRL-tik aldatu\n" #: src/xine-engine/info_helper.c:228 -#, fuzzy +#, fuzzy, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "osd: ezin da irteera karaktere jokoa aurkitu\n" @@ -5008,6 +5147,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: huts <%s> audio irteera plugina kargatzerakoan\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5024,94 +5164,101 @@ msgstr "" "load_plugins: ezin da %s plugin liburutegia ireki:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "'%s-%d' letra-tipoa dagoeneko kargaturik, bitxia.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "huts '%s' letra tipoa kargatzerakoan (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" "'%s' letra tipoaren okerreko bertsioa. %d espero zen baina %d aurkitu da.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: ezin da ft2 liburutegia abiarazi\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, fuzzy, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: errorea glyph %i kargatzerakoan\n" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" "osd: errorea letra-tipo tamaina ezarpenean (letra-tipo ez eskalagarria?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " "skipping\n" msgstr "" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: ezin da irteera karaktere jokoa aurkitu\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: ez da moldatzea onartzen: %s -> %s, ez da moldatuko\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: letra-tipoa ez dago ezarririk\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: errorea glyph kargatzerkaoan\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: errorea glyph reenderizatzerakoan\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: errorea glyph %i kargatzerakoan\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: errorea reenderizatzerakoan\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "" "OSD eta azpitituluetan erabiliko den paleta (aurreko-ertza-atzeko koloreak)" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5183,6 +5330,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: barkatu, hau ez zen gertatu beharko. mesedez xine berrabiarazi.\n" @@ -5232,6 +5380,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: errorea mrl analizatzerakoan\n" @@ -5261,6 +5410,7 @@ msgid "xine: join rip input plugin\n" msgstr "" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "" @@ -5270,18 +5420,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "bidoa alde batetara uzten\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "audioa alde batetara uzten\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "azpi-irudia alde batetara uzten\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -5291,6 +5445,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "'%s' azpititulu mrl-a irekirik\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: errorea azpititulu mrl-a irekitzerakoan\n" @@ -5352,6 +5507,7 @@ msgstr "" "Ezarritako gordetze karpeta (save_dir) segurtasun arrisku bat izan daiteke." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: lokala ez du C liburutegiak onartzen\n" @@ -5509,66 +5665,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "memcpy metodoak frogatzen (txeikiena obea da)\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: Okerreko ASX bertsioa: %s\n" - -#, fuzzy -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" - -#~ msgid "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) failed.\n" -#~ msgstr "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) hutsa.\n" - -#~ msgid "video brightness" -#~ msgstr "bideo distira" - -#~ msgid "The brightness of the video image." -#~ msgstr "Bideo imagenaren distira." - -#~ msgid "The saturation of the video image." -#~ msgstr "Bideo irudiaren saturazioa" - -#~ msgid "brightness correction" -#~ msgstr "distira zuzentzea" - -#~ msgid "" -#~ "The brightness correction can be used to lighten or darken the image. It " -#~ "changes the blacklevel without modifying the contrast, but it limits the " -#~ "tonal range." -#~ msgstr "" -#~ "Distira zuzenketa irudia argitu edo iluntzeko erabili daiteke. Berauk " -#~ "kontrastea aldatu gabe beltz maila aldatzen du, baina tonalitate eremua " -#~ "murrizten du." - -#~ msgid "Do we use read-ahead caching?" -#~ msgstr "Irakurketa-goiburu katxea erabili nahi al duzu?" - -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "audio_oss_out: open() %s huts egin du: %s\n" - -#~ msgid "" -#~ "This will display the current channel name in xine's on-screen-display. " -#~ "Menu button 7 will disable this temporarily." -#~ msgstr "" -#~ "Honek erreproduzitzen aru den kanal izen xine leihoan bistaratuko du. " -#~ "Menuko 7 botoiak hau denbora batez ezgaituko du." - -#~ msgid "" -#~ "A Comma separated list of domain names, where the proxy is to be ignored." -#~ msgstr "" -#~ "Domeinu izenen gakoz bereizitako zarrenda, non proxy zerbitzaria ez den " -#~ "erabiliko." - -#~ msgid "selection has no DEFAULT entry" -#~ msgstr "Aukerak ez du LEHENETSIRIKO sarrerarik" - -#~ msgid "" -#~ "You can disable video scaling globally. The image will then no longer " -#~ "adapt to the size of the video window, which can dramatically reduce CPU " -#~ "usage." -#~ msgstr "" -#~ "Bideo eskalatzea orokorrean ezgaitu dezakezu. Irudia ez da gehiago bideo " -#~ "leihoaren tamainaren arabera aldatuko, CPU erabilera asko murriztuz." @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 1.1.9\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2008-01-01 15:18+0100\n" "Last-Translator: Christophe Giraud <chris256gnu@gmail.com>\n" "Language-Team: french <fr@li.org>\n" @@ -52,6 +52,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() de %s a echoué: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> Vérifie si un autre programme utilise déjà PCM <<<\n" @@ -342,187 +343,187 @@ msgstr "plugin de sortie audio xine utilisant arts de kde" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "plugin de sortie audio xine pour Coreaudio/Mac OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Erreur" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "succès" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "accès interdit" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "la ressource est déjà en cours d'utilisation" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "L'objet était déjà initialisé" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "Le format wave spécifié n'est pas supporté" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "le tampon mémoire a été perdu et doit être restauré" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "Le contrôle du buffer requis n'est pas disponible" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "Erreur interne indéterminée du sous-système DirectSound" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "Le périphérique matériel DirectSound est indisponible" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "La fonction n'est pas valide pour l'état actuel de l'objet" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "Un paramètre invalide a été passé" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "L'objet ne supporte pas l'agrégation" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "pas de pilote son disponible" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "L'interface COM requise n'est pas disponible" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "une autre application a un niveau de priorité plus élevé" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "mémoire insuffisante" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "Niveau de priorité bas pour cette fonction" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound n'était pas initialisé" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "cette fonction n'est pas supportée" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "erreur inconnue" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Impossible de créer l'objet direct sound." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Impossible de créer un second tampon pour direct sound " -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Ne peut pas utiliser le buffer audio" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Ne peut pas stopper le buffer audio" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Ne peut pas obtenir la position du buffer" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Ne peut pas ajuster la position du buffer" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Impossible de régler le volume sonore" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": buffer perdu, tentative de restauration\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Impossible de verrouiller le buffer de direct sound" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Impossible de déverrouiller le buffer de direct sound" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "incapable d'allouer le buffer d'entré." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": ne peux pas créer la condition pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": ne peut pas créer pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": ne peut pas créer le pthread du buffer: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": ne peut pas détruire le pthread du buffer: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ":ne peut pas détruire la condition pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": ne peut pas détruire pthread mutex: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": commande inconnu %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "second plugin de sortie audio xine utilisant directx" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "plugin de sortie audio xine pour win32 utilisant directx" @@ -532,6 +533,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: connexion au serveur ESD en cours %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: connexion au serveur esd en cours...\n" @@ -645,10 +647,12 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "" @@ -701,6 +705,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -808,11 +813,13 @@ msgstr "" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "" @@ -821,38 +828,42 @@ msgstr "" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: augmentation du buffer à %d pour éviter sa saturation.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" "ffmpeg_video_dec: augmentation du buffer à %d pour éviter sa saturation.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "Qualité du post-traitement MPEG-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -868,11 +879,11 @@ msgstr "" "vidéo de haute qualité, un post-traitement trop important peut actuellement " "dégrader l'image en la rendant plus floue . " -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -881,11 +892,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -895,11 +906,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -997,6 +1008,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "aucun flux audio ou vidéo n'est présent dans ce fichier.\n" @@ -1021,6 +1033,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -1032,6 +1045,7 @@ msgid "" msgstr "" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1050,7 +1064,7 @@ msgstr "" "demux_mpeg_block: attention: l'entête PES indique que ce flux peut être " "crypté (mode de cryptage %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1059,17 +1073,17 @@ msgstr "" "xine-lib:demux_mpeg_pes: stream_id 0x%02x non reconnu. Veuillez reporter " "ceci aux développeurs xine.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1078,7 +1092,7 @@ msgstr "" "demux_mpeg_block: attention: l'entête PES indique que ce flux peut être " "crypté (mode de cryptage %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1105,6 +1119,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: type audio non supporté: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1145,6 +1160,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "" @@ -1212,6 +1228,7 @@ msgstr "" "dxr3_decode_video: L'ouverture du périphérique vidéo a echouée %s (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "" @@ -1226,25 +1243,30 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "" @@ -1269,6 +1291,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: ne peut pas démarrer l'encodage: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "" @@ -1352,18 +1375,22 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1374,6 +1401,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1453,6 +1481,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "" @@ -1471,16 +1500,19 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" @@ -1583,156 +1615,166 @@ msgstr "" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, fuzzy, c-format msgid "input_dvb: tuner_set_channel failed\n" -msgstr "" +msgstr "input_cda: fopen(%s) à échoué: %s\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: ne peux pas ouvrir le périphérique dvb\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: recherche pour le canal %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" msgstr "" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: ne peut pas ouvrir le périhérique dvr '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." msgstr "" -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1741,15 +1783,16 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Erreur à l'ouverture du périphérique DVD\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "périphérique utilisé pour la lecture des DVD" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -1757,11 +1800,11 @@ msgstr "" "Le chemin d'accès vers le périphérique, généralement un lecteur CD ou DVD, " "choisissez celui que vous souhaitez utiliser pour lire vos DVD ." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1772,22 +1815,22 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1796,44 +1839,44 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "langue par défaut pour la lecture des DVD" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1852,11 +1895,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1870,11 +1913,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1886,43 +1929,43 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: erreur de lecture (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Permission refusée: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Fichier non trouvé: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Fichier vide: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "lister les fichiers cachés" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -1930,7 +1973,7 @@ msgstr "" "Si activé, le navigateur qui vous permet de sélectionner les fichiers à " "jouer vous montrera également ceux qui sont cachés." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "plugin d'entré gnome-vfs fourni avec xine" @@ -1939,82 +1982,82 @@ msgstr "plugin d'entré gnome-vfs fourni avec xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) a echoué: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: erreur de lecture %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Connexion au serveur HTTP..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: réponse http invalide\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx redirection: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: buffer épuisé après %d bytes." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "plugin d'entré http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "Le nom d'hôte pour le proxy HTTP." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2022,26 +2065,26 @@ msgid "" "(full match required)." msgstr "" -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "Protocole MMS" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2067,53 +2110,55 @@ msgstr "input_net: impossible de résoudre '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: impossible de se connecter à '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "plugin d'entré réseau fournis avec xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: erreur à la création du fichier pvr (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: erreur à l'ouverture du fichier pvr (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: erreur de lecture (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: erreur à l'ouverture du périphérique %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_G_CODEC a échoué, peut-être que l' API a changé ?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_S_CODEC a échoué, peut-être que l' API a changé ?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "plugin d'entré WinTV-PVR 250/350" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "périphérique utilisé pour WinTV-PVR 250/350 (pvr plugin)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "Le chemin d'accès vers le périphérique de votre carte WinTV." @@ -2166,113 +2211,115 @@ msgstr "incapable de se connecter à '%s'.\n" msgid "recv(): %s.\n" msgstr "" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: arrêt de la lecture du thread...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: ne peux pas créer le nouveau thread (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "plugin d'entré RTP et UDP fournis avec xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "plugin d'entré CIFS/SMB basé sur libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: impossible d'ouvrir '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "" -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "" -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "" -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Tuner non trouvé\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "plugin d'entré tv V4l" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "plugin d'entré radio v4l" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "périphérique vidéo v4l" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Le chemin d'accès vers votre périphérique vidéo Video4Linux" -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "périphérique radio v4l" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Le chemin d'accès vers votre périphérique vidéo Video4Linux" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "périphérique radio v4l" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Le chemin d'accès vers votre périphérique radio Video4Linux" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: MRL mal formée. Utilisez vcdo:/<track #>\n" @@ -2285,21 +2332,21 @@ msgstr "input_vcd: piste %d invalide (limites correctes: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "plugin d'entré Video CD" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "incapable d'ouvrir %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: incapable d'ouvrir %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "périphérique utilisé pour la lecture des VCD" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2323,11 +2370,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: impossible de se connecter au serveur %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: la session ne peut pas être établie.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2350,6 +2398,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Connexion au serveur MMS (over tcp)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "" @@ -2404,6 +2453,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: impossible de se connecter '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "" @@ -2597,6 +2647,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "" @@ -2636,14 +2687,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() a échoué.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 a échoué.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit a échoué.\n" @@ -2653,10 +2707,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2680,6 +2736,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" @@ -2699,55 +2756,56 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "" -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -2959,6 +3017,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -2970,6 +3029,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -2983,7 +3043,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -2997,6 +3057,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3036,7 +3099,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "" @@ -3241,7 +3305,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "plugin de sortie video xine utilisant la bibliothèque ascii-art" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "plugin de sortie video xine utilisant la bibliothèque Color AsCii Art" @@ -3306,22 +3370,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3337,10 +3406,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3365,6 +3436,7 @@ msgid "xine video output plugin using DirectFB." msgstr "plugin de sortie vidéo xine utilisant DirectFB." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3372,7 +3444,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "plugin de sortie vidéo xine utilisant DirectFB sous XDirectFB." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "plugin de sortie vidéo xine pour win32 utilisant directx" @@ -3396,6 +3468,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "" @@ -3414,6 +3487,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3496,6 +3570,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "plugin de sortie vidéo xine utilisant l'API graphique 3D OpenGL" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3510,6 +3585,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3537,27 +3613,33 @@ msgstr "" "pgx64/pgx24\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Erreur: ioctl a échoué (FBIOGATTR)\n" @@ -3604,10 +3686,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "" @@ -3621,40 +3705,49 @@ msgstr "" "plugin de sortie video xine utilisant le toolkit Libstk Surface Set-top" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3720,18 +3813,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "" @@ -3769,6 +3866,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -3776,6 +3874,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -3792,10 +3891,12 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "" @@ -3803,36 +3904,45 @@ msgstr "" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -3840,18 +3950,18 @@ msgid "" "Xv?!\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -3859,21 +3969,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -3911,12 +4023,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "plugin de sortie video xine utilisant l'extension video MIT X" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -3930,121 +4043,144 @@ msgid "" msgstr "" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "plugin de sortie video xine utilisant l'extension video XvMC " -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" " for hardware colour space conversion and scaling\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr "" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4058,109 +4194,117 @@ msgid "" msgstr "" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" @@ -4214,17 +4358,27 @@ msgstr "" "Certains pilotes vidéo buggés ont besoin d'un workaround ( une solution de " "rechange/contournement ) pour fonctionner correctement." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4260,23 +4414,28 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "" @@ -4370,6 +4529,7 @@ msgid "If disabled, xine will not modify any mixer settings at startup." msgstr "" #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" @@ -4378,41 +4538,43 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "" @@ -4657,6 +4819,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: impossible de charger le plugin de sortie audio <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -4671,91 +4834,98 @@ msgstr "" "load_plugins: ne peut pas décharger plugin lib %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " "skipping\n" msgstr "" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: conversion non supportée %s -> %s, pas de conversion effectuée\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -4826,6 +4996,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" @@ -4874,6 +5045,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "" @@ -4903,6 +5075,7 @@ msgid "xine: join rip input plugin\n" msgstr "" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "" @@ -4912,18 +5085,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -4933,6 +5110,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: erreur à l'ouverture des sous-titres de la mrl\n" @@ -4991,6 +5169,7 @@ msgid "The specified save_dir might be a security risk." msgstr "" #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "" @@ -5131,995 +5310,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" - -#~ msgid "Unable to get notification interface" -#~ msgstr "Impossible d'obtenir une notification de l'interface" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": retardé de %ld msec\n" - -#, fuzzy -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: copyright : %s\n" - -#, fuzzy -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "input_rtp: ne peux pas créer le nouveau thread (%s)\n" - -#, fuzzy -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "input_cda: open(%s) a échoué: %s.\n" - -#, fuzzy -#~ msgid "device used for 5+ channel output" -#~ msgstr "périphérique utilisé pour la sortie 5 canaux" - -#~ msgid "used to inform xine about what the sound card can do" -#~ msgstr "Utilisé pour informer xine de ce que la carte son sait faire" - -#~ msgid "Adjust a/v sync for OSS softsync" -#~ msgstr "Ajuste a/v sync pour softsync d'OSS" - -#~ msgid "Use this to manually adjust a/v sync if you're using softsync" -#~ msgstr "" -#~ "A utiliser pour ajuster automatiquement a/v sync si vous utilisez softsync" - -#~ msgid "Enable 4.0 channel analog surround output" -#~ msgstr "Active la sortie surround analogique 4.0 canaux" - -#~ msgid "Enable 5.0 channel analog surround output" -#~ msgstr "Active la sortie surround analogique 5.0 canaux" - -#~ msgid "Enable 5.1 channel analog surround output" -#~ msgstr "Active la sortie surround analogique 5.1 canaux" - -#, fuzzy -#~ msgid "OSS mixer device" -#~ msgstr "périphérique du mixeur oss" - -#~ msgid "device used for audio output with the 'Sun' audio plugin" -#~ msgstr "Périphérique utilisé pour le plugin audio 'Sun'" - -#, fuzzy -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_net: impossible de se connecter à '%s'.\n" - -#, fuzzy -#~ msgid "input_cdda: unable to resolve '%s'.\n" -#~ msgstr "input_net: impossible de resoudre '%s'.\n" - -#, fuzzy -#~ msgid "input_cdda: unable to connect to '%s'.\n" -#~ msgstr "input_net: impossible de se connecter à '%s'.\n" - -#~ msgid "/dev/dsp# device to use for oss output, -1 => auto_detect" -#~ msgstr "" -#~ "périphérique /dev/dsp# a utiliser pour la sortie oss, -1 => détection auto" - -#~ msgid "" -#~ "demux_mpeg_block: too many errors, stopping playback. Maybe this stream " -#~ "is scrambled?\n" -#~ msgstr "" -#~ "demux_mpeg_block: trop d'erreurs, arrêt de la lecture. Ce flux est peut " -#~ "être crypté ?\n" - -#, fuzzy -#~ msgid "RTP: waiting for preview data\n" -#~ msgstr "metronom: attente de démarrage vidéo...\n" - -#~ msgid "Opening >%s<\n" -#~ msgstr "Ouvre >%s<\n" - -#~ msgid "Enable A52 / AC5 digital audio output via spdif" -#~ msgstr "Active la sortie audio numérique A52 / AC5 par spdif" - -#, fuzzy -#~ msgid "demux_wc3movie: encountered unknown chunk: %c%c%c%c\n" -#~ msgstr "demux_film: codec vidéo inconnu '%c%c%c%c'\n" - -#, fuzzy -#~ msgid "input_http: timeout\n" -#~ msgstr "input_file: erreur de lecture (%s)\n" - -#~ msgid "OUCH - ran out of buffers\n" -#~ msgstr "AILLE - débordement de buffers.\n" - -#~ msgid "OUCH - dropped input packet %d %d\n" -#~ msgstr "AILLE - saute les pacquet %d %d\n" - -#~ msgid "rtp input plugin as shipped with xine" -#~ msgstr "plugin d'entrée rtp fournis avec xine" - -#~ msgid "demux_mpgaudio: no audio driver!\n" -#~ msgstr "demux_mpgaudio: pas de pilote audio!\n" - -#~ msgid "input_cda: ioctl(CDROM_MEDIA_CHANGED) failed: %s.\n" -#~ msgstr "input_cda: l'ioctl(CDROMSUBCHNL) a échouée: %s.\n" - -#~ msgid "input_cda: No rights to open %s.\n" -#~ msgstr "input_cda: pas de droits pour ouvrir %s.\n" - -#~ msgid "input_cda: error seek to origin %d not implemented!\n" -#~ msgstr "input_cda: erreur seek depuis origine %d non implémentée!\n" - -#~ msgid "cd audio plugin as shipped with xine" -#~ msgstr "plugin d'entrée pour lecture de CD audio fournis avec xine" - -#~ msgid "demux_qt: Apple Quicktime file, %srunning time: %d min, %d sec\n" -#~ msgstr "" -#~ "demux_qt: Fichier Apple Quicktime, %stemps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_qt: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_qt: audio '%c%c%c%c' @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_film: FILM version %c%c%c%c, running time: %d min, %d sec\n" -#~ msgstr "" -#~ "demux_film: Fichier FILM %c%c%c%c, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_film: %c%c%c%c video @ %dx%d, %d Hz playback clock\n" -#~ msgstr "demux_film: '%c%c%c%c' video @ %dx%d, %d Hz\n" - -#, fuzzy -#~ msgid "demux_fli: %d frames, %dx%d\n" -#~ msgstr "demux_fli: %d taille de trame vidéo %d x %d\n" - -#, fuzzy -#~ msgid "demux_fli: running time: %d min, %d sec\n" -#~ msgstr "demux_wav: Fichier WAV, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_smjpeg: SMJPEG file, running time: %d min, %d sec\n" -#~ msgstr "demux_smjpeg: Fichier SMJPEG, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_smjpeg: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_smjpeg: video '%c%c%c%c' @ %dx%d\n" - -#, fuzzy -#~ msgid "demux_smjpeg: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_smjpeg: audio '%c%c%c%c' @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_wav: format 0x%X audio, %d Hz, %d bits/sample, %d %s\n" -#~ msgstr "demux_wav: audio 0x%X @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_wav: running time = %lld min, %lld sec\n" -#~ msgstr "demux_wav: Fichier WAV, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_aiff: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_qt: audio '%c%c%c%c' @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_aiff: running time: %d min, %d sec\n" -#~ msgstr "demux_wav: Fichier WAV, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "demux_snd: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_qt: audio '%c%c%c%c' @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_snd: running time: %d min, %d sec\n" -#~ msgstr "demux_wav: Fichier WAV, temps d'execution: %d min, %d sec\n" - -#, fuzzy -#~ msgid "" -#~ "demux_voc: VOC format 0x%X audio, %d Hz, running time: %d min, %d sec\n" -#~ msgstr "demux_wav: audio 0x%X @ %d Hz, %d bits, %d %s\n" - -#~ msgid "xine audio output plugin using arts-compliant audio devices/drivers" -#~ msgstr "" -#~ "plugin de sortie audio de xine utilisant les pilotes/périphériques arts" - -#~ msgid "demux_ts: error %02x %02x %02x (should be 0x000001)\n" -#~ msgstr "demux_ts: erreur %02x %02x %02x (devrais être 0x000001)\n" - -#~ msgid "demux_ts: unexpected cc %d (expected %d)\n" -#~ msgstr "demux_ts: cc inattendu %d (%d attendu)\n" - -#~ msgid "demux_ts: corrupted pes encountered\n" -#~ msgstr "demux_ts : pes corrompu rencontré\n" - -#~ msgid "demux error! PMT with invalid pointer\n" -#~ msgstr "erreur demux ! PMT avec pointeur invalide\n" - -#~ msgid "" -#~ "demux_ts: demux error! PMT with invalid CRC32: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" -#~ msgstr "" -#~ "demux_ts : erreur demux! PMT avec CRC non valide : packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" - -#~ msgid "demux error! PMT with inconsistent progInfo length\n" -#~ msgstr "erreur demux ! PMT avec taille de progInfo inconsistente\n" - -#~ msgid "demux error! PMT with inconsistent streamInfo length\n" -#~ msgstr "erreur demux ! PMT avec taille de streamInfo inconsistente\n" - -#~ msgid "demux error! invalid ts sync byte %.2x\n" -#~ msgstr "erreur demux ! octet de sync ts %.2x invalide\n" - -#~ msgid "demux error! transport error\n" -#~ msgstr "erreur demux ! erreur de transport\n" - -#~ msgid "demux_mpeg: please specify mpeg(mpeg1/mpeg2) stream type.\n" -#~ msgstr "" -#~ "demux_mpeg: specifiez le type de flux mpeg (mpeg1/mpeg2), s'il vous plait " -#~ "le type.\n" - -#~ msgid "stdin/fifo input plugin as shipped with xine" -#~ msgstr "plugin d'entrée stdin/fifo fournis avec xine" - -#~ msgid "vcd device input plugin as shipped with xine" -#~ msgstr "Plugin d'entrée VCD fournis avec xine" - -#, fuzzy -#~ msgid "demux_film: unknown video codec %c%c%c%c\n" -#~ msgstr "demux_film: codec vidéo inconnu '%c%c%c%c'\n" - -#, fuzzy -#~ msgid "demux_vqa: running time: %d min, %d sec\n" -#~ msgstr "demux_wav: Fichier WAV, temps d'execution: %d min, %d sec\n" - -#~ msgid "lstat failed for %s{%s}\n" -#~ msgstr "lstat a échoué pour %s{%s}\n" - -#~ msgid "%s(%d): readlink() failed: %s\n" -#~ msgstr "%s(%d): readlink() à échoué: %s\n" - -#~ msgid "plain file input plugin as shipped with xine" -#~ msgstr "plugin d'entrée pour lecteur de fichier fournis avec xine" - -#~ msgid "demux_avi: video format = %s\n" -#~ msgstr "demux_avi: format vidéo = %s\n" - -#~ msgid "demux_avi: video frame size %ld x %ld\n" -#~ msgstr "demux_avi: taille de trame vidéo %ld x %ld\n" - -#~ msgid "demux_avi: audio format[%d] = 0x%lx\n" -#~ msgstr "demux_avi: format[%d] audio = 0x%lx\n" - -#~ msgid "demux_avi: unknown audio type 0x%lx\n" -#~ msgstr "demus_avi: type audio inconnu 0x%lx\n" - -#~ msgid "demux_avi: audio type %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_avi: type audio %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_avi: unknown video codec '%.4s'\n" -#~ msgstr "demux_avi: codec vidéo inconnu '%.4s'\n" - -#~ msgid "demux_avi: video codec is '%s'\n" -#~ msgstr "demux_avi: le codec vidéo est '%s'\n" - -#~ msgid "demux_mpgaudio: MPEG %s Layer %d %ldkbps\n" -#~ msgstr "demux_mpgaudio: MPEG %s Layer %d %ldkbps\n" - -#, fuzzy -#~ msgid "ogg: vorbis avg. bitrate %d, samplerate %d\n" -#~ msgstr "" -#~ "ogg: flux audio vorbis detecté\n" -#~ "\n" - -#, fuzzy -#~ msgid "ogg: video format %.4s, frame size %d x %d, %d fps\n" -#~ msgstr "demux_avi: taille de trame vidéo %ld x %ld\n" - -#, fuzzy -#~ msgid "" -#~ "ogg: unknown stream type (signature >%.8s<). hex dump of bos packet " -#~ "follows:\n" -#~ msgstr "ogg: type de flux inconnu (signature >%.8s<)\n" - -#~ msgid "demux_asf: audio format : %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_asf: format audio: %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_asf: video format : %s\n" -#~ msgstr "demux_asf: format vidéo: %s\n" - -#~ msgid "demux_asf: stream length is %d sec, rate is %d bytes/sec\n" -#~ msgstr "" -#~ "demux_asf: la longeur du flux est de %d sec, cadence à %d octets/" -#~ "secondes\n" - -#~ msgid "demux_asf: title : %s\n" -#~ msgstr "demux_asf: titre : %s\n" - -#~ msgid "demux_asf: author : %s\n" -#~ msgstr "demux_asf: auteur : %s\n" - -#~ msgid "demux_asf: comment : %s\n" -#~ msgstr "demux_asf: commentaire : %s\n" - -#~ msgid "demux_mpeg_block: unknown block size. try using demux_mpeg.\n" -#~ msgstr "" -#~ "demux_mpeg_block: taille de bloc inconnu. Tente d'utiliser demux_mpeg.\n" - -#~ msgid "" -#~ "demux_ts: plugin doesn't support plugin API version %d.\n" -#~ " This means there's a version mismatch between xine and this " -#~ "demuxer plugin.\n" -#~ " Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ts: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ " Installer la version courante des plugins de \n" -#~ " demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_avi: this plugin doesn't support plugin API version %d.\n" -#~ "demux_avi: this means there's a version mismatch between xine and this " -#~ "demux_avi: demuxer plugin.\n" -#~ "Installing current demuxer plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_elem: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_elem: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_mpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_pes: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_qt: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_ogg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_asf: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_cda: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_cda: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_film: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_film: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "demux_mpeg_block: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg_block: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_roq: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_idcin: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_smjpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins " -#~ "should help.\n" -#~ msgstr "" -#~ "demux_smjpeg: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_wav: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_wav: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_aiff: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_snd: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_voc: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_vqa: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_wc3movie: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#~ msgid "" -#~ "net input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin net ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "rtp input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin rtp ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "stdin/fifo input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin stdin/fifo ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "file input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin file ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "vcd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin vcd ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "http input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin http ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "" -#~ "cda input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin cda ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libmpeg2: plugin doesn't support plugin API version %d.\n" -#~ "libmpeg2: this means there's a version mismatch between xine and this " -#~ "libmpeg2: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libmpg123: plugin doesn't support plugin API version %d.\n" -#~ "libmpg123: this means there's a version mismatch between xine and this " -#~ "libmpg123: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libspudec: Doesn't support plugin API version %d.\n" -#~ "libspudec: This means there is a version mismatch between XINE and\n" -#~ "libspudec: this plugin.\n" -#~ msgstr "" -#~ "Le plugin file ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "w32codec: plugin doesn't support plugin API version %d.\n" -#~ "w32codec: this means there's a version mismatch between xine and this " -#~ "w32codec: decoder plugin.\n" -#~ "Installing current decoder plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "Modes" -#~ msgstr "codec" - -#, fuzzy -#~ msgid "" -#~ "liblpcm: plugin doesn't support plugin API version %d.\n" -#~ "liblpcm: this means there's a version mismatch between xine and this " -#~ "liblpcm: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "ffmpeg: plugin doesn't support plugin API version %d.\n" -#~ "ffmpeg: this means there's a version mismatch between xine and this " -#~ "ffmpeg: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "dxr3_decode_spu: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_spu: this means there's a version mismatch between xine and " -#~ "this dxr3_decode_spu: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "dxr3_decode_video: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_video: this means there's a version mismatch between xine and " -#~ "this\n" -#~ "dxr3_decode_video: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libmad: plugin doesn't support plugin API version %d.\n" -#~ "libmad: this means there's a version mismatch between xine and this " -#~ "libmad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "liba52: plugin doesn't support plugin API version %d.\n" -#~ "liba52: this means there's a version mismatch between xine and this " -#~ "liba52: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libdts: plugin doesn't support plugin API version %d.\n" -#~ "libdts: this means there's a version mismatch between xine and this " -#~ "libdts: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "divx4: plugin doesn't support plugin API version %d.\n" -#~ "divx4: this means there's a version mismatch between xine and this divx4: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veut dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#~ msgid "priority of the divx4 plugin (>5 => enable)" -#~ msgstr "priorité pour le plugin divx4 (>5 => activé)" - -#, fuzzy -#~ msgid "" -#~ "libvorbis: plugin doesn't support plugin API version %d.\n" -#~ "libvorbis: this means there's a version mismatch between xine and this " -#~ "libvorbis: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libsputext: doesn't support plugin api version %d.\n" -#~ "libsputext: This means there is a version mismatch between xine and\n" -#~ "libsputext: this plugin.\n" -#~ msgstr "" -#~ "Le plugin file ne supporte pas la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les versions entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peut aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libspucc: doesn't support plugin api version %d.\n" -#~ "libspucc: This means there is a version mismatch between xine and\n" -#~ "libspucc: this plugin.\n" -#~ msgstr "" -#~ "Le plugin file ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "xvid: plugin doesn't support plugin API version %d.\n" -#~ "xvid: this means there's a version mismatch between xine and this\n" -#~ "xvid: decoder plugin. Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "priority of the xvid plugin (>5 => enable)" -#~ msgstr "priorité pour le plugin divx4 (>5 => activé)" - -#, fuzzy -#~ msgid "" -#~ "cinepak: plugin doesn't support plugin API version %d.\n" -#~ "cinepak: this means there's a version mismatch between xine and this " -#~ "cinepak: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "RoQ: plugin doesn't support plugin API version %d.\n" -#~ "RoQ: this means there's a version mismatch between xine and this RoQ: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "RoQ Audio: plugin doesn't support plugin API version %d.\n" -#~ "RoQ Audio: this means there's a version mismatch between xine and this\n" -#~ "RoQ Audio: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne support par la version de l'API %d.\n" -#~ " ceci veux dire que les version entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peux aider.\n" - -#, fuzzy -#~ msgid "" -#~ "libfaad: plugin doesn't support plugin API version %d.\n" -#~ "libfaad: this means there's a version mismatch between xine and this " -#~ "libfaad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: le plugin ne supporte pas la version de l'API %d.\n" -#~ " ceci veux dire que les versions entre xine et le\n" -#~ " plugin de demultiplexage ne correspondent pas.\n" -#~ "Installer la version courante des plugins de demultiplexage peut aider.\n" - -#~ msgid "bad status: READ DVD STRUCTURE (copyright)\n" -#~ msgstr "mauvais status: READ DVD STRUCTURE (copyright)\n" - -#~ msgid "input_dvd: Could not read Copyright Structure\n" -#~ msgstr "input_dvd: Ne peux pas lire la structure de Copyright\n" - -#~ msgid "" -#~ "input_dvd: Could not read Copyright Structure.\n" -#~ " Assuming disk is not encrypted.\n" -#~ msgstr "" -#~ "input_dvd: Ne peux pas lire la structure de Copyright.\n" -#~ " Considère que le disque n'est pas encrypté.\n" - -#~ msgid "" -#~ "\n" -#~ "input_dvd: Sorry, this plugin doesn't play encrypted DVDs. The legal " -#~ "status\n" -#~ " of CSS decryption is unclear and we can't provide such code.\n" -#~ " Please check http://dvd.sf.net for more information.\n" -#~ msgstr "" -#~ "\n" -#~ "input_dvd: Désolé, xine ne peux pas jouer des DVDs encryptés. Le status " -#~ "légal du\n" -#~ " decryptage CSS n'est pas clair et nous ne fournirons pas un " -#~ "tel code.\n" -#~ " Please check http://dvd.sf.net for more information.\n" - -#~ msgid "input_dvd: Unable to find >%s< on dvd.\n" -#~ msgstr "input_dvd: impossible de trouver >%s< sur le dvd.\n" - -#~ msgid "input_dvd: error read: %Ld bytes is not a sector!\n" -#~ msgstr "input_dvd: erreur de lecture: %Ld octets n'est pas un secteur!\n" - -#~ msgid "input_dvd: read error in input_dvd plugin (%s)\n" -#~ msgstr "input_dvd: erreur de lecture dans le plugin input_dvd (%s)\n" - -#~ msgid "input_dvd: short read in input_dvd (%d != %d)\n" -#~ msgstr "input_dvd: lecture trop courte dans input_dvd (%d != %d)\n" - -#~ msgid "" -#~ "input_dvd: error in input_dvd plugin read: %Ld bytes is not a sector!\n" -#~ msgstr "" -#~ "input_dvd: erreur de lecture dans le plugin input_dvd: %Ld octets n'est " -#~ "pas un secteur!\n" - -#~ msgid "input_dvd: seek: %d is an unknown origin\n" -#~ msgstr "input_dvd: seek: %d est une origine inconnue\n" - -#~ msgid "input_dvd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_dvd: CDROMCLOSETRAY a échoué: %s\n" - -#~ msgid "input_dvd: CDROMEJECT failed: %s\n" -#~ msgstr "input_dvd: CDROMEJECT a échoué: %s\n" - -#~ msgid "input_dvd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_dvd: CDROM_DRIVE_STATUS a échoué: %s\n" - -#~ msgid "dvd device input plugin as shipped with xine" -#~ msgstr "Plugin d'entrée pour lecteur de DVD fournis avec xine" - -#~ msgid "" -#~ "dvd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "Le plugin dvd ne support par la version de l'API %d.\n" -#~ "PLUGIN DESACTIVE.\n" -#~ "Ceci veux dire que les version entre xine et le plugin \n" -#~ "d'entrée ne correspondent pas.\n" -#~ "Installer la version courante des plugins d'entrée peux aider.\n" - -#~ msgid "metronom: video stream start...\n" -#~ msgstr "metronom: démarrage flux vidéo ...\n" - -#~ msgid "metronom: video stream start ignored\n" -#~ msgstr "metronom: démarrage flux vidéo ignoré\n" - -#~ msgid "metronom: waiting for audio to start...\n" -#~ msgstr "metronom: attente de démarrage de l'audio...\n" - -#~ msgid "metronom: video stream end\n" -#~ msgstr "metronom: fin de flux vidéo\n" - -#~ msgid "metronom: video stream end ignored\n" -#~ msgstr "metronom: fin de flux vidéo ignoré\n" - -#~ msgid "metronom: waiting for audio to end...\n" -#~ msgstr "metronom: attente de fin d'audio...\n" - -#~ msgid "metronom: audio stream start...\n" -#~ msgstr "metronom: démarrage de flux audio...\n" - -#~ msgid "metronom: audio stream start ignored\n" -#~ msgstr "metronom: démarrage de flux audio ignoré\n" - -#~ msgid "metronom: audio stream start...done\n" -#~ msgstr "metronom: démarrage flux audio...terminé\n" - -#~ msgid "metronom: waiting for video to end...\n" -#~ msgstr "metronom: attente de fin de vidéo...\n" - -#~ msgid "metronom: video discontinuity #%d\n" -#~ msgstr "metronom: discontinuitée vidéo #%d\n" - -#~ msgid "metronom: waiting for audio discontinuity #%d\n" -#~ msgstr "metronom: attente de discontinuitée audio #%d\n" - -#~ msgid "metronom: video vpts adjusted to %d\n" -#~ msgstr "metronom: vpts vidéo ajusté à %d\n" - -#~ msgid "metronom: audio/video vpts too old, adjusted to %d\n" -#~ msgstr "metronom: vpts audio/vidéo trop vieux, ajusté a %d\n" - -#, fuzzy -#~ msgid "inputs" -#~ msgstr "entrée" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: it\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2007-12-24 16:09+0100\n" "Last-Translator: Diego 'Flameeyes' Pettenò <flameeyes@gentoo.org>\n" "Language-Team: Italian\n" @@ -54,6 +54,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() di %s non riuscito: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> controlla se un altro programma sta già usando PCM <<<\n" @@ -335,188 +336,188 @@ msgstr "plugin output audio di xine che usa artsd di KDE" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "plugin di uscita audio per xine per Coreaudio/Max OS X" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Errore" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "successo" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "accesso negato" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "risorsa già in uso" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "oggetto già inizializzato" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "il formato d'onda specificato non è supportato" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "il buffer in memoria è stato perso e deve essere ripristinato" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "il controllo del buffer richiesto non è disponibile" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "errore non determinato nel sistema DirectSound" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "il dispositivo hardware DirectSound non è disponibile" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "la funzione non è valida per l'attuale stato dell'oggetto" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "parametro passato non valido" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "l'oggetto non supporta aggregazione" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "nessun driver sonoro disponibile all'uso" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "l'interfaccia COM richiesta non è disponibile" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "un'altra applicazione ha un livello di priorità maggiore" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "memoria insufficiente" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "basso livello di priorità per questa funzione" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound non inizializzato" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "la funzione non è supportata" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "errore sconosciuto" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Impossibile creare l'oggetto DirectSound." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "Impossibile impostare il livello cooperativo DirectSound." -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "Impossibile creare il buffer DirectSound secondario." -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Impossibile riprodurre il buffer sonoro" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Impossibile fermare il buffer sonoro" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Impossibile leggere la posizione del buffer" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Impossibile impostare la posizione del buffer" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Impossibile impostare il volume sonoro" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": buffer perso, provando a recuperare\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Impossibile bloccare il buffer DirectSound" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Impossibile sbloccare il buffer DirectSound" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Impossibile creare il buffer DirectSound primario." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, fuzzy, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" ": il cursore di riproduzione è uscito dai limiti, svuotamento dei buffer.\n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": impossibile creare la condizione pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": impossibile creare il mutex pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": impossibile creare il buffer pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": impossibile cancellare il buffer pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": impossibile cancellare la condizione pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": impossibile cancellare il mutex pthread: %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr "; comando di controllo sconosciuto %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "secondo plugin di uscita audio per xine utilizzante directx" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "plugin output audio di xine che usa directx per win32" @@ -526,6 +527,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: si sta connettendo al server ESD %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: si sta connettendo al server ESD...\n" @@ -648,10 +650,12 @@ msgstr "" "ignorata quando il nome del dispositivo audio OSS è settato a \"auto\"." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, si provano i dev\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "" "audio_oss_out: controllo automatico per il dispositivo audio non riuscito\n" @@ -734,6 +738,7 @@ msgstr "" "di sincronia dopo una lunga riproduzione." #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -863,11 +868,13 @@ msgstr "" "ffmpeg_audio_dec: impossibile trovare il decoder ffmpeg per il tipo di " "buffer 0x%X\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: provando ad aprire un codec nullo.\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: impossibile aprire il decoder.\n" @@ -876,40 +883,44 @@ msgstr "ffmpeg_audio_dec: impossibile aprire il decoder.\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "dvaudio: aumentando il buffer a %d per evitare overflow.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: formato frame non supportato, DR1 disabilitato.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" "ffmpeg_video_dec: dimensioni del frame non supportate. DR1 disabilitato.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" "ffmpeg_video_dec: impossibile trovare il decoder ffmpeg per il tipo di " "buffer 0x%X\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: impossibile aprire il decoder\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: visualizzazione diretta abilitata\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: buffer aumentato a %d per evitare overflow.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "qualità di post-elaborazione MPEG-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -923,11 +934,11 @@ msgstr "" "otnenuto ad alta qualità, una post elaborazione troppo alta può in realtà " "rendere l'immagine peggiore sfocandola troppo." -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "Numero di thread di decodifica FFmpeg" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 #, fuzzy msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" @@ -943,11 +954,11 @@ msgstr "" "(tipicamente da 1 a 4). La modifica avrà effetto alla riproduzione del " "prossimo flusso." -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -957,11 +968,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1072,6 +1083,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "Versione FLV non supportata (%d).\n" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "Non ci sono flussi audio o video in questo file.\n" @@ -1096,6 +1108,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: pezzo sconosciuto: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: frame troppo grande per il buffer" @@ -1109,6 +1122,7 @@ msgstr "" "agli sviluppatori di xine.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1131,7 +1145,7 @@ msgstr "" "demux_mpeg_block: attenzione: l'intestazione PES indica che questo stream " "può essere cifrato (modalità di cifratura %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1140,21 +1154,21 @@ msgstr "" "xine-lib:demux_mpeg_pes: stream_id 0x%02x sconosciuto. Segnala la cosa agli " "sviluppatori di.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: attenzione: lo stream PACK con id=0x%x non è riuscito nella " "decodifica.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: attenzione: l'intestazione PES ha riservato 10 bit non " "trovati\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1163,7 +1177,7 @@ msgstr "" "demux_mpeg_block: attenzione: l'intestazione PES indica che questo stream " "può essere cifrato (modalità di cifratura %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1190,6 +1204,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: tipo audio non supportato: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "demux_tta: numero di frame totali troppo alto\n" @@ -1240,6 +1255,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: apertura dispositivo SPU %s non riuscita (%s)\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "pulsante richiesto non disponibile\n" @@ -1331,6 +1347,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: apertura dispositivo video %s non riuscita (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "" "dxr3_decode_video: scrittura al dispositivo potrebbe bloccherebbe " @@ -1347,6 +1364,7 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: ATTENZIONE: codice tasso frame sconosciuto %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" @@ -1354,10 +1372,12 @@ msgstr "" "PAL a NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: inizializzazione librte non riuscita\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1366,10 +1386,12 @@ msgstr "" "di 16\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: rilevazione contesto rte non riuscito.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: impossibile creare codec.\n" @@ -1397,6 +1419,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: impossibile avviare codifica: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: impossibile avviare la libreria FAME\n" @@ -1505,19 +1528,23 @@ msgstr "" "quindi questi potrebbero non funzionare." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" "video_out_dxr3: inizializzazione encoder MPEG libavcodec non riuscita.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: inizializzazione encoder MPEG rte non riuscita.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: inizializzazione encoder MPEG fame non riuscita.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1534,6 +1561,7 @@ msgstr "" "configurazione di un codificatore.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1659,6 +1687,7 @@ msgstr "" "l'immagine." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: autocalibrazione necessaria, overlay disabilitato.\n" @@ -1683,10 +1712,12 @@ msgstr "" "default: mantieni l'impostazione della scheda" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: impostazione della modalità video fallita.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1696,6 +1727,7 @@ msgstr "" "video_out_dxr3: Si legga README.dxr3 per dettagli.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: ERRORE leggendo il file di inizializzazione dell'overlay. Si " @@ -1820,50 +1852,53 @@ msgstr "input_dvb: apertura file canali DVB non riuscita '%s': %s\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: il file canali '%s' non è un file di testo semplice\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: tuner_set_channel non riuscito\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: impossibile aprire dispositivo DVB\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" "input_dvb: canale %d fuori scala, sarà utilizzato il valore predefinito 0\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: ricerca del canale %s\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: corrispondenza esatta per %s non trovata: saranno provate le " "corrispondenze parziali.\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: trovato canale corrispondente %s\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" "input_dvb: canale %s non trovato in channels.conf, sarà utilizzata un " "predefinito.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" @@ -1871,13 +1906,15 @@ msgstr "" "input_dvb: specifica del canale non valida, sarà utilizzato l'ultimo canale " "visto.\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" "input_dvb: specifica del canale non valida, sarà utilizzato il canale " "predefinito 0.\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1885,7 +1922,8 @@ msgstr "" "input_dvb: è stato specificato un MRL DVB-S, ma il sintonizzatore non pare " "essere QPSK (DVB-S)\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1893,7 +1931,8 @@ msgstr "" "input_dvb: è stato specificato un MRL DVB-T ma il sintonizzatore non pare " "essere OFDM (DVB-T)\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" @@ -1901,7 +1940,8 @@ msgstr "" "input_dvb: è stato specificato un MRL DVB-C ma il sintonizzatore non pare " "essere QAM (DVB-C)\n" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" @@ -1909,20 +1949,21 @@ msgstr "" "input_dvb: è stato specificato un MRL DVB-A ma il sintonizzatore non pare " "essere ATSC (DVB-C)\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: impossibile aprire dispositivo DVR '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: impossibile creare thread di aggiornamento EPG.\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "usa il 'taglio centrale' DVB (zoom)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1930,15 +1971,15 @@ msgstr "" "Questo permetterà la riproduzione a pieno schermo di contenuto 4:3 trasmesso " "in un frame 16:9." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "plugin di input per DVB (TV Digitale)" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Ricorda l'ultimo canale DVB visto." -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " @@ -1946,19 +1987,19 @@ msgstr "" "Durante l'auto riproduzione xine ricorderà e scambierà al canale indicato in " "media.dvb.last_channel ." -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Ultimo canale DVB visto" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "Se abilitato xine ricorderà e scambierà a questo canale." -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "Numero di secondi prima dell'interruzione della sintonizzazione." -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." @@ -1966,35 +2007,36 @@ msgstr "" "Lasciandolo a 0 proverà all'infinito. Un valore maggiore a 0 significa " "attendi quei secondi per ricevere il controllo. Il minimo è di 5 secondi." -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Indice di scheda DVB da utilizzare." -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" "Lasciare questo a zero a meno che non si abbia davvero più di una scheda nel " "proprio sistema." -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "input_dvd: values of \\beta will give rise to dom!\n" @@ -2003,15 +2045,16 @@ msgstr "input_dvd: values of \\beta will give rise to dom!\n" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Errore nella lettura del prossimo blocco dal DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Errore di apertura del dispositivo DVD\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "dispositivo utilizzato per la riproduzione DVD" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -2019,11 +2062,11 @@ msgstr "" "Il percorso al dispositivo, solitamente un lettore DVD, che si intende usare " "per riprodurre DVD." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "dispositivo diretto impostato per l'accesso DVD" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -2043,11 +2086,11 @@ msgstr "" "Si veda la documentazione sull'impostazione dei dispositivi diretti (man " "raw) per maggiori informazioni." -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "Metodo di decifratura CSS" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -2057,11 +2100,11 @@ msgstr "" "DVD protetti da copia. Si provino i vari metodi se si hanno problemi nella " "riproduzione di DVD cifrati." -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "percorso alla cache delle chiavi dei titoli" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -2076,11 +2119,11 @@ msgstr "" "dedicata non utilizzata per altri scopi oltre alla memorizzazioni delle " "chiavi DVD." -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "regione a cui il lettore DVD dirà di appartenere (da 1 a 8)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -2091,11 +2134,11 @@ msgstr "" "nulla a che vedere con il codice regionale settato nei lettori DVD, è " "interamente software." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "lingua predefinita per la riproduzione DVD" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -2106,11 +2149,11 @@ msgstr "" "questa lingua.\n" "Questo valore deve essere un codice di lingua di due caratteri ISO639." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "read-ahead caching" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " @@ -2120,11 +2163,11 @@ msgstr "" "Questo può portare a cattiva riproduzione su lettori lenti, ma migliora " "l'impatto con il cambio di strato nel DVD sui lettori più veloci." -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "unità per l'azione di salto" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2158,11 +2201,11 @@ msgstr "" "salterà un titolo DVD, un'unità strutturale che rappresenta intere " "funzionalità sul DVD." -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "unità per la ricerca" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2187,11 +2230,11 @@ msgstr "" "la ricerca sarà effettuata su un programma DVD, che è un'unità di " "navigazione che rappresenta un capitolo della corrente funzionalità." -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "modalità di riproduzione quando si fornisce un titolo/capitolo" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2212,45 +2255,45 @@ msgstr "" "one chapter\n" "riproduce soltanto lo specifico titolo/capitolo e quindi si ferma." -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: errore di lettura (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: Permesso negato: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: File non trovato: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: File vuoto: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "plugin di input del file" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "Posizione di partenza del navigatore di file" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" "Il navigatore per selezionare i file da riprodurre partirà da questa " "posizione." -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "elenca i file nascosti" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -2258,7 +2301,7 @@ msgstr "" "Se abilitato, il navigatore per selezionare i file da riprodurre mostrerà " "anche i file nascosti." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "plugin di input gnome-vfs incluso con xine" @@ -2267,82 +2310,82 @@ msgstr "plugin di input gnome-vfs incluso con xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) fallito: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: errore di lettura %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Connessione in corso al server HTTP..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: risposta http non valida\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx ridirezione: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: lo stato di http non è 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_httml: lunghezza del contenuto = %<PRIdMAX> byte\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: buffer esaurito dopo %d byte." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "plugin di ingresso http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "Server proxy HTTP" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "Nome del proxy HTTP" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "Porta proxy HTTP" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "Il numero di porta del proxy HTTP" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "Nome utente proxy HTTP" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "Il nome utente per il proxy HTTP" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "Password proxy HTTP" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "La password per il proxy HTTP" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "Domini per cui si vuole ignorare il proxy HTTP" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2354,15 +2397,15 @@ msgstr "" "Se un nome di dominio è prefissato da =, allora è trattato come il nome di " "un singolo host (e viene richiesta corrispondenza completa)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "plugin di ingresso per stream MMS" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "larghezza di banda" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2372,11 +2415,11 @@ msgstr "" "Questa sarà utilizzata quando i server di streaming offrano versioni diverse " "con diversi requisiti di banda dello stesso flusso." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "Protocollo MMS" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2404,51 +2447,53 @@ msgstr "input_net: impossibile risolvere '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: impossibile connettesi a '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "plugin di input della rete trasportato così con xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "plugin di input per lo stream pnm" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: errore creando il file pvr (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: errore aprendo il file pvr (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: errore di lettura (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: errore aprendo il dispotivo %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_G_CODEC fallito, forse l'interfaccia è cambiata?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_S_CODEC fallito, forse l'interfaccia è cambiata?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "WinTV-PVR 250/350 input plugin" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "dispositivo utilizzato per WinTV-PVR 250/350 (pvr plugin)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "Il percorso al dispositivo della propria scheda WinTV." @@ -2502,113 +2547,115 @@ msgstr "impossibile fare il bind a '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: interruzione di lettura di thread...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: lettura thread terminata\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Apertura in corso > nome del file: %s porta: %d interfaccia: %s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: impossibile creare nuova thread (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "plugin input RTP e UDP tarsportati così con xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "plugin di input per lo stream rtsp" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "Plugin di ingresso CIFS/SMB basato su libsmbclient" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: impossibile tornare indietro! (%<PRIdMAX> %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: apertura non riuscita '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "plugin di input per lo stream di stdin" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Buffer underrun..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Buffer overrun..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Calibrando..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Nome del sintonizzatore non trovato.\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "plugin di ingresso TV V4L" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "plugin di ingresso radio V4L" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "dispositivo video v4l" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Il percorso al proprio dispositivo video Video4Linux." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "dispositivo radio v4l" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Il percorso al proprio dispositivo video Video4Linux." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "dispositivo radio v4l" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Il percorso al proprio dispositivo radio Video4Linux," #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: MRL malformata. Utilizzare vcdo://<track #>\n" @@ -2621,21 +2668,21 @@ msgstr "input_vcd: traccia %d non valida (intervallo valido: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "plugin di input per Video CD" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "impossibile aprire %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: impossibile aprire %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "dispositivo utilizzato per la riproduzione VCD" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2659,11 +2706,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: connessione al server fallita: %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: impossibile stabilire una sessione.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2685,6 +2733,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Connessione in corso al server MMS (su TCP)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: errore di invio\n" @@ -2741,6 +2790,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: connessione fallita '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: impostazione dello stream fallita.\n" @@ -2982,6 +3032,7 @@ msgstr "" "2048: Debugging from VCDINFO\n" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "AIUTO! un driver audio solo mono?\n" @@ -3034,14 +3085,17 @@ msgstr "" "stereo." #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() fallita.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 fallita.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit fallita.\n" @@ -3051,10 +3105,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: mpc_streaminfo_read fallita: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: dati dopo l'ultimo frame ignorati.\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: mpc_decoder_initialise fallita\n" @@ -3083,6 +3139,7 @@ msgstr "" "installare i codec." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" "libreal: Errore nella risoluzione dei simboli (incompatibilità di " @@ -3106,57 +3163,58 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "libareal: setup del tipo di decoder fallito, codice di errore: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: ops, real può usare più di 2 canali?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "visualizza sottotitoli CC (closed captions) negli stream MPEG-2" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "I sottotitoli CC sono sottotitoli perlopiù utilizzati per aiutare i non " "udenti." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "schema colori primo piano/sfondo per sottotitoli CC" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Si scelga la visualizzazione preferita per i sottotitoli CC." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "carattere standard per i sottitotoli CC" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Si scelga il carattere per il testo standard dei sottotitoli CC." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "carattere corsivo per i sottotitoli CC" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "Si scelga il carattere per il testo corsivo dei sottotitoli CC" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "dimensione del carattere per sottotitoli CC" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Si celga la dimensione del carattere per i sottotitoli CC." -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "allinea al centro i sottititoli CC" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3415,6 +3473,7 @@ msgstr "" "un certo flusso.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": mixando da Mono a Stereo.\n" @@ -3426,6 +3485,7 @@ msgstr[0] ": mixando un singolo canale da un flusso originale a %d canale.\n" msgstr[1] ": mixando un singolo canale da un flusso originale a %d canali.\n" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": dispositivo audio incapace di usare AO_CAP_MODE_STEREO.\n" @@ -3446,7 +3506,7 @@ msgstr "" "utilizza diversi campioni per assottigliare le variazioni attraverso la " "media standard pesata sui campioni precedenti.\n" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3460,6 +3520,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3499,7 +3562,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Nessun metodo di deinterlacciamento disponibile. uscita.\n" @@ -3827,7 +3891,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "plugin di uscita video per xine usante la libreria art ascii" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "" "plugin di uscita video per xine utilizzante la libreria Color AsCii Art" @@ -3906,23 +3970,28 @@ msgstr "" "(\"none\" = disabilitato)." #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" "video_out_directfb: si utilizza l'accelerazione sottotitoli hardware.\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_vidix: lo strato supporta l'output video.\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_syncfb: lo strato non supporta YV12!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: lo strato non supporta YUY2!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3940,11 +4009,13 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: lo strato non supporta le opzioni 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" "video_out_directfb: utilizzando il ridimensionamento accelerato hardware.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3971,6 +4042,7 @@ msgid "xine video output plugin using DirectFB." msgstr "plugin di output video per xine utilizzante DirectFB" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" "video_out_directfb: nessuno strato di visualizzazione utilizzabile trovato!\n" @@ -3979,7 +4051,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "plugin di output video per xine utilizzante DirectFB sotto XDirectFB" -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "plugin di output video per xine per win32 che usa directx" @@ -4010,6 +4082,7 @@ msgstr "" "veramente un dispositivo framebuffer valido." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out-fb: la modalità video non è stata riconosciuta.\n" @@ -4032,6 +4105,7 @@ msgstr "" " Abbassare la risoluzione del frame buffer può aiutare.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -4152,6 +4226,7 @@ msgstr "" "plugin di output video per xine utilizzante l'interfaccia grafica 3D OpenGL" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx32: errore: impossibile controllare la superficie DGA per la " @@ -4168,6 +4243,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "video_out_pgx32: Errore: '%s' non`e un dispositivo framebuffer pgx32\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" "video_out_pgx64: errore: impossibile controllare la superficie DGA per la " @@ -4194,33 +4270,39 @@ msgstr "" "pgx24\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" "video_out_pgx64: Errore: l'overlay video su questo schermo è già in uso.\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" "video_out_pgx64: Error: impossibile impostare le priorità della finestra.\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Attenzione: poca memoria video, buffer multiplo " "disabilitato.\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Error: memoria video insufficiente.\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Attenzione: poca memoria video, doppio buffer " "disabilitato.\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Errore: ioctl fallita (FBIOGATTR)\n" @@ -4276,11 +4358,13 @@ msgstr "" "lo supporta. Nel caso in cui non funzionasse è possibile disabilitarla." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" "sdl dovrà emulare una superficie a 16 bit, questo rallenterà le cose.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: la modalità a pieno schermo NON è supportata.\n" @@ -4293,39 +4377,47 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "plugin di output video di xine che usa Libstk Surface Set-top Toolkit" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "video_out_syncfb: errore. (YUV2 non supportato dalla scheda grafica)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "video_out_syncfb: errore. (YV12 non supportato dalla scheda grafica)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: informazione. (il modulo SyncFB supporta YUV 4:2:0 (3 " "piani))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: informazione. (il modulo SyncFB supporta YUV 4:2:0 (2 " "piani))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" "video_out_syncfb: informazione. (il modulo SyncFB supporta YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: informazione. (il modulo SyncFB supporta YUY2)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: informazione. (il modulo SyncFB supporta RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -4334,6 +4426,7 @@ msgstr "" "RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4414,18 +4507,22 @@ msgstr "" "gli sfarfallii e gli artifatti, ma utilizzerà più memoria video." #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: il dispositivo supporta il formato yuv2\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: il dispositivo supporta il formato yv12\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: la versione della libreria VIDIX è errata\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: impossibile trovare un driver VIDIX funzionante\n" @@ -4465,6 +4562,7 @@ msgstr "" "video_out_xcbshm: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4475,6 +4573,7 @@ msgstr "" "video_out_xcbshm: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4499,11 +4598,13 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xcbshm: l'estensione MIT Shared Meory non è presente sul display.\n" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xcbshm: modalità video non riconosciuta.\n" @@ -4512,7 +4613,8 @@ msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" "plugin di output video per xine utilizzante l'estensione MIT X Shared Memory" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4520,7 +4622,7 @@ msgstr "" "video_out_xcbxv: XvShmCreateImage ha restituito una dimensione pari a zero.\n" "video_out_xcbxv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4529,7 +4631,8 @@ msgstr "" "video_out_xcbxv: errore nella memoria condivisa in shmget: %s\n" "video_out_xcbxv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4538,17 +4641,24 @@ msgstr "" "memoria condivisa.\n" "video_out_xcbxv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: estensione Xv non presente.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4559,7 +4669,7 @@ msgstr "" "porta yuv12 utilizzabile.\n" " sembrerebbe che l'hardware grafico non supporti Xv.\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4568,11 +4678,11 @@ msgstr "" "video_out_xcbxv: utilizzando la porta Xv %d del dispositivo %s per la " "conversione di colori e il ridimensionamento hardware.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 #, fuzzy msgid "" "This option will synchronize the update of the video image to the repainting " @@ -4584,21 +4694,23 @@ msgstr "" "ridisegnod ell'intero schermo (ritracciamento verticale). Questo eliminerà " "gli sfarfallii e gli artifatti, ma utilizzerà più memoria video." -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xcbxv: questo dispositivo supporta il formato yv12\n" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: questo dispositivo supporta il formato yuv2.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "metodo di deinterlacciamento (deprecato)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4671,12 +4783,13 @@ msgstr "" "Applica un leggero sfocamento verticale per rimuovere gli artefatti di comb. " "Buoni risultati con un uso di CPU medio." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "plugin di output video di xine che usa l'estensione video MIT X" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4694,6 +4807,7 @@ msgstr "" "video_out_xshm: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4703,6 +4817,7 @@ msgstr "" "video_out_xshm: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4712,15 +4827,18 @@ msgstr "" "video_out_xshm: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: l'estensione MIT Shared Meory non è presente sul display.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: modalità video non riconosciuta.\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4728,7 +4846,8 @@ msgstr "" "video_out_xv: XvShmCreateImage fallita.\n" "video_out_xv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4736,7 +4855,7 @@ msgstr "" "video_out_xv: XvShmCreateImage ha restituito una dimensione pari a zero.\n" "video_out_xv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4745,7 +4864,8 @@ msgstr "" "video_out_xv: errore nella memoria condivisa in shmget: %s\n" "video_out_xv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4754,11 +4874,18 @@ msgstr "" "condivisa.\n" "video_out_xv: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: estensione Xv non presente.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4768,7 +4895,7 @@ msgstr "" "porta yuv12 utilizzabile. sembrerebbe che l'hardware grafico " "non supporti Xv.\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4777,23 +4904,27 @@ msgstr "" "video_out_xv: utilizzando la porta Xv %ld dal dispositivo %s per la " "conversione di colori e il ridimensionamento hardware.\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: questo dispositivo supporta il formato yv12\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: questo dispositivo supporta il formato yuv2.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "plugin di output video per xine utilizzante l'estensione X video XvMC" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: estensione XvMC non presente.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4801,7 +4932,7 @@ msgstr "" "video_out_xvmc: estensione XV presente ma non è stato possibile trovare una " "porta yuv12 utilizzabile.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4810,24 +4941,28 @@ msgstr "" "video_out_xxmc: utilizzando la porta Xv %ld dal dispositivo %s\n" " per la conversione di colori e il ridimensionamento hardware.\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " accelerazione idct e compensazione del movimento \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " solo accelerazione della compensazione di movimento\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " nessun supporto XvMC \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " Con overlay = %d; UnsignedIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4836,6 +4971,7 @@ msgstr "" "video_out_xxmc: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4853,6 +4989,7 @@ msgstr "" "video_out_xxmc: => l'estensione MIT Shared Memory non sarà utilizzata.\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4861,11 +4998,13 @@ msgstr "" "memoria condivisa.\n" "video_out_xxmc: => l'estensione MIT Shared Memory non sarà utilizzata.\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: estensione Xv non presente.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4875,7 +5014,7 @@ msgstr "" "porta yuv12 utilizzabile. sembrerebbe che l'hardware grafico " "non supporti Xv.\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4884,19 +5023,21 @@ msgstr "" "video_out_xxmc: utilizzando la porta Xv %ld dal dispositivo %s per la " "conversione di colori e il ridimensionamento hardware.\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: questo dispositivo supporta il formato yv12\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: questo dispositivo supporta il formato yuv2.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "Fa sì che XvMC riservi più frame per un miglior buffer." -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" @@ -4906,11 +5047,11 @@ msgstr "" "Questa opzione, quando abilitata, fa sì che il drive tenti\n" "di riservare 15 frame. Necessario per unichrom e VDR istantanei.\n" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Risparmio CPU Unichrome" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" @@ -4920,11 +5061,11 @@ msgstr "" "Solo per kernel Linux 2.6 o 2.4 con patch multimediale.\n" "Sperimentale.\n" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Correggi i colori dei sottotitoli difettosi su NVIDIA XvMC" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" @@ -4932,11 +5073,11 @@ msgstr "" "C'è un errore nella libreria XvMC NVIDIA che rende i colori rossi dell'OSD " "blu e viceversa. Questa opzione fornisce un workaround.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Utilizza bob come metodo di deinterlacciamento accelerato." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" @@ -4944,11 +5085,11 @@ msgstr "" "Quando l'interlacciamento è abilitato per i frame accelerati hardware, " "alterna i campi superiore e inferiori al doppio del frame rate.\n" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "Non utilizzare il deinterlacciamento bob per frame progressivi." -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" @@ -4956,13 +5097,13 @@ msgstr "" "I frame progressivi non devono essere deinterlacciati, quindi disabilitarlo\n" "a richiesta dovrebbe fornire una migliore immagine.\n" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" "Non utilizzare il deinterlacciamento bob quando è attivo un OSD " "ridimensionato." -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" @@ -4972,12 +5113,14 @@ msgstr "" "disabilitarlo a richiesta dovrebbe fornire una migliore immagine OSD.\n" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: estensione XShape non disponibile: overlay non ridimensionato " "disabilitato.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: errore creando la finestra, overlay non ridimensionato " @@ -4985,6 +5128,7 @@ msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: errore creando la pixmap, overlay non ridimensionato disabilitato.\n" @@ -5051,17 +5195,28 @@ msgstr "" "Alcuni driver video difettosi richiedono un workaround per funzionare " "correttamente." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "filtro sfarfallio" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "disabilita la trasparenza esatta per gli overlay" @@ -5104,6 +5259,7 @@ msgstr "" "inaffidabili, ma aumenta la latenza e il consumo di memoria." #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" @@ -5111,20 +5267,24 @@ msgstr "" "disponibile.\n" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" "scrittura sulla scheda audio fallita. Si suppone il dispositivo sia stato " "scollegato.\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "8 bit non supportati dal driver, conversione a 16 bit.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "mono non supportato dal driver, conversione a stereo.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "stereo non supportato dal driver, conversione a mono.\n" @@ -5257,6 +5417,7 @@ msgstr "" "all'avvio." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: spiacente, non sarebbe dovuto succedere. Per favore riavvia " @@ -5267,48 +5428,50 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "xine-lib: buffer.c: C'è stato un errore fatale: TROPPI FREE\n" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "L'attuale file di configurazione è stato modificato da una nuova versione di " "xine." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: ATTENZIONE: copia di backup del file di configurazione in %s " "fallita.\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: ATTENZIONE: la propria configurazione non sarà salvata.\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "" "configfile: ATTENZIONE: scrittura della configurazione in %s fallita.\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: ATTENZIONE: rimozione del file di configurazione %s " "possibilmente rovinato.\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: ATTENZIONE: si controlli il file di backup %s.\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: la voce '%s' non deve essere modificata da MRL\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "" "info_helper: impossibile individuare il set di caratteri locale corrente.\n" @@ -5579,6 +5742,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: caricamento del plugin output audio fallito <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5595,52 +5759,54 @@ msgstr "" "load_plugins: impossibile rimuovere la libreria plugin %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "il carattere '%s-%d' è già caricato, strano.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "caricamento del carattere '%s' fallito (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "versione del font '%s' errata. Richiesto %d trovato %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: impossibile inizializzare la libreria ft2\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: errore nel trovare il caratter carattere %s con FontConfig" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: errore nel caricamento del carattere %s con FontConfig" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: errore nella ricerca del carattere %s con FontConfig" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: errore nel caricamento del carattere %s con ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" "osd: errore impostando la dimensione del carattere (nessun carattere " "scalabile?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5649,43 +5815,48 @@ msgstr "" "osd: sequenza sconosciuta cominciante con byte 0x%02X nella codifica \"%s\", " "ignorata.\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: impossibile individuare il set di caratteri locale corrente.\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "" "osd: conversione %s -> %s non supportata, nessuna conversione eseguita\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: carattere non definito.\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: errore nel caricamento del glifo.\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: errore nella visualizzazione del glifo.\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: errore nel caricamento del glifo %i.\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: errore nella visualizzazione.\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "" "palette (primo piano-bordo-sfondo) da utilizzare per i sottotitoli e OSD" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5770,6 +5941,7 @@ msgstr "" "non disposti alla visualizzazione in tempo, xine invia una notifica." #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: spiacente, non sarebbe dovuto succedere. Per favore riavvia " @@ -5837,6 +6009,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: errore durante l'interpretazione del MRL\n" @@ -5866,6 +6039,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: avvio del plugin di estrazione.\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: errore nell'avvio del plugin di estrazione.\n" @@ -5875,18 +6049,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: l'avvio dell'ultimo demuxer provato %s è fallito.\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "video ignorato\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "audio ignorato\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "sottotitoli ignorati\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "plugin cache d'ingresso disattivato.\n" @@ -5896,6 +6074,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "aperto il MRL sottotitoli '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: errore nell'apertura del MRL dei sottotitoli.\n" @@ -5958,6 +6137,7 @@ msgstr "" "sicurezza." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: locale non supportarto dalla liberaria C\n" @@ -6135,23 +6315,6 @@ msgstr "" "tale copia. Solitamente il metodo migliore è riconosciuto automaticamente." #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Test di velocità dei metodi memcpy (più piccolo è migliore):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Impossibile creare gli eventi di posizione del buffer." - -#~ msgid "Unable to get notification interface" -#~ msgstr "Impossibile leggere l'interfaccia di notifica." - -#~ msgid "Unable to set notification positions" -#~ msgstr "Impossibile impostare le posizioni di notifica" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": ritardato di %ld msec\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: versione ASX errata: %s\n" - -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "dvbsub: impossibile creare thread timer\n" diff --git a/po/libxine1.pot b/po/libxine1.pot index db69a233d..9e90aedf2 100644 --- a/po/libxine1.pot +++ b/po/libxine1.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -52,6 +52,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" @@ -275,187 +276,187 @@ msgstr "" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "" @@ -465,6 +466,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "" @@ -568,10 +570,12 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "" @@ -622,6 +626,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -723,11 +728,13 @@ msgstr "" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "" @@ -736,37 +743,41 @@ msgstr "" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -775,11 +786,11 @@ msgid "" "much." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -788,11 +799,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -802,11 +813,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -904,6 +915,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "" @@ -928,6 +940,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -939,6 +952,7 @@ msgid "" msgstr "" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -955,31 +969,31 @@ msgid "" "encrypted (encryption mode %d)\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " "to xine developers.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " "encrypted (encryption mode %d)\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1002,6 +1016,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1042,6 +1057,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "" @@ -1108,6 +1124,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "" @@ -1122,25 +1139,30 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "" @@ -1165,6 +1187,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "" @@ -1248,18 +1271,22 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1270,6 +1297,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1349,6 +1377,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "" @@ -1367,16 +1396,19 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" @@ -1477,156 +1509,166 @@ msgstr "" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" msgstr "" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." msgstr "" -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1635,25 +1677,26 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." msgstr "" -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1664,22 +1707,22 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1688,44 +1731,44 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1744,11 +1787,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1762,11 +1805,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1778,49 +1821,49 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "" -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "" @@ -1829,82 +1872,82 @@ msgstr "" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "" -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "" -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -1912,26 +1955,26 @@ msgid "" "(full match required)." msgstr "" -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -1957,51 +2000,53 @@ msgstr "" msgid "input_net: unable to connect to '%s'.\n" msgstr "" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "" @@ -2054,111 +2099,113 @@ msgstr "" msgid "recv(): %s.\n" msgstr "" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "" -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "" -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "" -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "" -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 msgid "v4l ALSA audio input device" msgstr "" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "" @@ -2171,21 +2218,21 @@ msgstr "" msgid "Video CD input plugin" msgstr "" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2207,10 +2254,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "" #: src/input/librtsp/rtsp_session.c:153 +#, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2231,6 +2280,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "" #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "" @@ -2285,6 +2335,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "" @@ -2478,6 +2529,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "" @@ -2517,14 +2569,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "" @@ -2534,10 +2589,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2561,6 +2618,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" @@ -2580,55 +2638,56 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "" -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -2840,6 +2899,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -2851,6 +2911,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -2864,7 +2925,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -2878,6 +2939,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -2917,7 +2981,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "" @@ -3122,7 +3187,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "" @@ -3187,22 +3252,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3218,10 +3288,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3246,6 +3318,7 @@ msgid "xine video output plugin using DirectFB." msgstr "" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3253,7 +3326,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "" -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "" @@ -3277,6 +3350,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "" @@ -3295,6 +3369,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3376,6 +3451,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3390,6 +3466,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3411,27 +3488,33 @@ msgid "" msgstr "" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "" @@ -3478,10 +3561,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "" @@ -3494,40 +3579,49 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3593,18 +3687,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "" @@ -3641,6 +3739,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -3648,6 +3747,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -3664,10 +3764,12 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "" @@ -3675,36 +3777,45 @@ msgstr "" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -3712,18 +3823,18 @@ msgid "" "Xv?!\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -3731,21 +3842,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -3783,12 +3896,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -3802,121 +3916,144 @@ msgid "" msgstr "" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" " for hardware colour space conversion and scaling\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr "" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -3930,109 +4067,117 @@ msgid "" msgstr "" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" @@ -4084,17 +4229,27 @@ msgstr "" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4130,23 +4285,28 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "" @@ -4240,6 +4400,7 @@ msgid "If disabled, xine will not modify any mixer settings at startup." msgstr "" #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" @@ -4248,41 +4409,43 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "" @@ -4525,6 +4688,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -4537,91 +4701,98 @@ msgid "" "%s\n" msgstr "" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " "skipping\n" msgstr "" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -4692,6 +4863,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" @@ -4740,6 +4912,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "" @@ -4769,6 +4942,7 @@ msgid "xine: join rip input plugin\n" msgstr "" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "" @@ -4778,18 +4952,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -4799,6 +4977,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "" @@ -4857,6 +5036,7 @@ msgid "The specified save_dir might be a security risk." msgstr "" #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "" @@ -4997,5 +5177,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pl_PL\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2003-05-24 12:36+0200\n" "Last-Translator: Bartłomiej Muryn <_4ever_@irc.pl>\n" "Language-Team: Polish <pl@li.org>\n" @@ -53,6 +53,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" @@ -289,195 +290,195 @@ msgstr "wtyczka wyjścia dźwięku używająca kde artsd" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "wtyczka wyjścia dźwięku używająca kde artsd" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" # src/xine-engine/video_out.c:890 -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, fuzzy, c-format msgid ": can't create pthread condition: %s\n" msgstr "video_out: nie mogę utworzyć wątku (%s)\n" # src/xine-engine/video_out.c:890 -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, fuzzy, c-format msgid ": can't create pthread mutex: %s\n" msgstr "video_out: nie mogę utworzyć wątku (%s)\n" # src/input/input_rtp.c:339 -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, fuzzy, c-format msgid ": can't create buffer pthread: %s\n" msgstr "input_rtp: nie mogę utworzyć nowego wątku (%s)\n" # src/xine-engine/video_out.c:890 -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, fuzzy, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr "video_out: nie mogę utworzyć wątku (%s)\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr "" # src/xine-engine/video_out.c:890 -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, fuzzy, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr "video_out: nie mogę utworzyć wątku (%s)\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr "" # src/audio_out/audio_esd_out.c:441 -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 #, fuzzy msgid "second xine audio output plugin using directx" msgstr "wtyczka wyjścia dźwięku używająca kde artsd" # src/audio_out/audio_esd_out.c:441 -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 #, fuzzy msgid "xine audio output plugin for win32 using directx" msgstr "wtyczka wyjścia dźwięku używająca kde artsd" @@ -488,6 +489,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "" @@ -604,10 +606,12 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "" @@ -661,6 +665,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -774,11 +779,13 @@ msgstr "" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "" @@ -787,38 +794,42 @@ msgstr "" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 #, fuzzy msgid "MPEG-4 postprocessing quality" msgstr "jakość post-przetwarzania ffmpeg mpeg-4" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -827,11 +838,11 @@ msgid "" "much." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -840,11 +851,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -854,11 +865,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -961,6 +972,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "" @@ -985,6 +997,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -996,7 +1009,7 @@ msgid "" msgstr "" #: src/demuxers/demux_mpeg_block.c:305 -#, fuzzy +#, fuzzy, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1018,25 +1031,25 @@ msgstr "" "demux_mpeg_block: uwaga: nagłówek pes wskazuje na to ze strumień może być " "zaszyfrowany (tryb szyfrowania %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " "to xine developers.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" # src/demuxers/demux_mpeg_block.c:456 -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, fuzzy, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1045,7 +1058,7 @@ msgstr "" "demux_mpeg_block: uwaga: nagłówek pes wskazuje na to ze strumień może być " "zaszyfrowany (tryb szyfrowania %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, fuzzy, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1073,6 +1086,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: niewspierany typ dźwięku %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1120,6 +1134,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "" @@ -1193,6 +1208,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "" @@ -1207,25 +1223,30 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "" @@ -1255,6 +1276,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "" @@ -1351,18 +1373,22 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1373,6 +1399,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1461,6 +1488,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "" @@ -1481,16 +1509,19 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" @@ -1597,161 +1628,170 @@ msgstr "input_http: otwarcie gniazda zawiodło\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_http: otwarcie gniazda zawiodło\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" # src/input/input_http.c:98 -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, fuzzy, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_http: otwarcie gniazda zawiodło\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" # src/input/input_http.c:98 -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, fuzzy, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_http: otwarcie gniazda zawiodło\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" msgstr "" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "" # src/input/input_rtp.c:339 -#: src/input/input_dvb.c:3012 -#, fuzzy +#: src/input/input_dvb.c:3016 +#, fuzzy, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_rtp: nie mogę utworzyć nowego wątku (%s)\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." msgstr "" -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 #, fuzzy msgid "DVB (Digital TV) input plugin" msgstr "wtyczka wejścia pliku" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1760,28 +1800,29 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "" # src/audio_out/audio_alsa_out.c:181 src/audio_out/audio_alsa_out.c:728 # src/audio_out/audio_alsa_out.c:913 src/audio_out/audio_alsa_out.c:957 -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 #, fuzzy msgid "device used for DVD playback" msgstr "urządzenie użyte w trybie mono" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." msgstr "" -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1792,11 +1833,11 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -1804,12 +1845,12 @@ msgid "" msgstr "" # src/input/input_vcd.c:1184 -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 #, fuzzy msgid "path to the title key cache" msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1818,44 +1859,44 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1874,11 +1915,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1892,11 +1933,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1909,52 +1950,52 @@ msgid "" msgstr "" # src/input/input_file.c:353 -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: błąd odczytu (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "" # src/input/input_file.c:353 -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, fuzzy, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: błąd odczytu (%s)\n" # src/input/input_file.c:353 -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, fuzzy, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: błąd odczytu (%s)\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "wtyczka wejścia pliku" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "miejsce startu nawigatora plików" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "listowanie ukrytych plików" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "" # src/input/input_net.c:302 -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 #, fuzzy msgid "gnome-vfs input plugin as shipped with xine" msgstr "wtyczka wejścia net dostarczana z xine" @@ -1966,88 +2007,88 @@ msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_rtp: nie mogę utworzyć nowego wątku (%s)\n" # src/input/input_http.c:416 src/input/input_http.c:537 -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: błąd odczytu %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "" # src/input/input_http.c:445 -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: błędna odpowiedź http\n" # src/input/input_http.c:450 -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: przekierowanie 3xx: >%d %s<\n" # src/input/input_http.c:455 -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: status http nie jest 2xx: >%d %s<\n" # src/input/input_http.c:464 -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, fuzzy, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: długość zawartości = %Ld bytes\n" # src/input/input_http.c:416 src/input/input_http.c:537 -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, fuzzy, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: błąd odczytu %d\n" # src/input/input_http.c:640 -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "wtyczka wejścia http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2056,27 +2097,27 @@ msgid "" msgstr "" # src/input/input_http.c:640 -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 #, fuzzy msgid "mms streaming input plugin" msgstr "wtyczka strumienia standardowego wejścia" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2107,55 +2148,57 @@ msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: nie mogę podłączyć się do '%s'.\n" # src/input/input_net.c:302 -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "wtyczka wejścia net dostarczana z xine" # src/input/input_http.c:640 -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 #, fuzzy msgid "pnm streaming input plugin" msgstr "wtyczka strumienia standardowego wejścia" # src/input/input_rtp.c:339 -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, fuzzy, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_rtp: nie mogę utworzyć nowego wątku (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "" # src/input/input_file.c:353 -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, fuzzy, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_file: błąd odczytu (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "" @@ -2216,135 +2259,137 @@ msgstr "nie da się dowiązać do '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: zatrzymuje odczyt wątku...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: odczyt wątku zakończony\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "" # src/input/input_rtp.c:339 -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: nie mogę utworzyć nowego wątku (%s)\n" # src/input/input_net.c:302 -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "wtyczka wejścia RTP i UDP dostarczana z xine" # src/input/input_http.c:640 -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 #, fuzzy msgid "rtsp streaming input plugin" msgstr "wtyczka strumienia standardowego wejścia" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "" # src/input/input_http.c:98 -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, fuzzy, c-format msgid "stdin: failed to open '%s'\n" msgstr "input_http: otwarcie gniazda zawiodło\n" # src/input/input_http.c:640 -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "wtyczka strumienia standardowego wejścia" # src/input/net_buf_ctrl.c:67 -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 #, fuzzy msgid "Buffer underrun..." msgstr "Buforowanie..." # src/input/net_buf_ctrl.c:67 -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 #, fuzzy msgid "Buffer overrun..." msgstr "Buforowanie..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "" -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 #, fuzzy msgid "v4l tv input plugin" msgstr "wtyczka wejścia pliku" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 #, fuzzy msgid "v4l radio input plugin" msgstr "wtyczka wejścia pliku" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 #, fuzzy msgid "v4l video device" msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 #, fuzzy msgid "The path to your Video4Linux video device." msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 #, fuzzy msgid "v4l radio device" msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" # src/input/input_vcd.c:1184 -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 #, fuzzy msgid "The path to your Video4Linux radio device." msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "" @@ -2359,25 +2404,25 @@ msgid "Video CD input plugin" msgstr "wtyczka wejścia VCD" # src/input/input_rtp.c:205 -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, fuzzy, c-format msgid "unable to open %s: %s.\n" msgstr "nie mogę znaleźć IP dla '%s'.\n" # src/input/input_net.c:126 -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, fuzzy, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_net: nie mogę znaleźć IP dla '%s'.\n" # src/audio_out/audio_alsa_out.c:181 src/audio_out/audio_alsa_out.c:728 # src/audio_out/audio_alsa_out.c:913 src/audio_out/audio_alsa_out.c:957 -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 #, fuzzy msgid "device used for VCD playback" msgstr "urządzenie użyte w trybie mono" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2401,10 +2446,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "http: nie mogę się podłączyć do >%s<\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "" #: src/input/librtsp/rtsp_session.c:153 +#, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2426,7 +2473,7 @@ msgstr "" # src/input/input_http.c:416 src/input/input_http.c:537 #: src/input/mmsh.c:197 -#, fuzzy +#, fuzzy, c-format msgid "libmmsh: send error\n" msgstr "input_http: błąd odczytu\n" @@ -2486,7 +2533,7 @@ msgstr "input_net: nie mogę podłączyć się do '%s'.\n" # src/input/input_http.c:98 #: src/input/pnm.c:763 -#, fuzzy +#, fuzzy, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_http: otwarcie gniazda zawiodło\n" @@ -2680,6 +2727,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "" @@ -2725,14 +2773,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "" @@ -2742,10 +2793,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2771,6 +2824,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" @@ -2790,67 +2844,68 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "" # src/libspucc/xine_decoder.c:220 -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 #, fuzzy msgid "display closed captions in MPEG-2 streams" msgstr "włącz closed-caption w strumieniach mpeg-2" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" # src/libspucc/xine_decoder.c:227 -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 #, fuzzy msgid "closed-captioning foreground/background scheme" msgstr "schemat (tło/napisy) dla closed-caption" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "" # src/libspucc/xine_decoder.c:233 -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 #, fuzzy msgid "standard closed captioning font" msgstr "standardowa czcionka dla closed-caption" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "" # src/libspucc/xine_decoder.c:239 -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 #, fuzzy msgid "italic closed captioning font" msgstr "czcionka italic dla closed-caption" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "" # src/libspucc/xine_decoder.c:245 -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 #, fuzzy msgid "closed captioning font size" msgstr "rozmiar czcionki closed-caption" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" # src/libspucc/xine_decoder.c:250 -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 #, fuzzy msgid "center-adjust closed captions" msgstr "centrowanie closed-caption" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3076,6 +3131,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -3087,6 +3143,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -3100,7 +3157,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -3114,6 +3171,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3153,7 +3213,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "" @@ -3360,7 +3421,7 @@ msgid "xine video output plugin using the ascii-art library" msgstr "wtyczka wyjścia obrazu xine używająca biblioteki ascii-art" # src/video_out/video_out_aa.c:307 -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 #, fuzzy msgid "xine video output plugin using the Color AsCii Art library" msgstr "wtyczka wyjścia obrazu xine używająca biblioteki ascii-art" @@ -3430,22 +3491,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3461,10 +3527,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3491,6 +3559,7 @@ msgid "xine video output plugin using DirectFB." msgstr "wtyczka wyjścia obrazu xine używająca biblioteki DirectFB" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3501,7 +3570,7 @@ msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "wtyczka wyjścia obrazu xine używająca biblioteki DirectFB" # src/video_out/video_out_vidix.c:869 -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 #, fuzzy msgid "xine video output plugin for win32 using directx" msgstr "wtyczka wyjścia obrazu xine używająca libvidix dla X11" @@ -3528,6 +3597,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "" @@ -3546,6 +3616,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3633,6 +3704,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "wtyczka wyjścia obrazu xine używająca OpenGL - TNG" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3647,6 +3719,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3668,27 +3741,33 @@ msgid "" msgstr "" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "" @@ -3737,10 +3816,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "" @@ -3756,40 +3837,49 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "wtyczka wyjścia obrazu xine używająca biblioteki ascii-art" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3857,18 +3947,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "" @@ -3915,6 +4009,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -3922,6 +4017,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -3938,10 +4034,12 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "" @@ -3951,36 +4049,45 @@ msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" "wtyczka wyjścia obrazu xine używajaca rozszerzenie dzielonej pamięci MIT X" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -3988,18 +4095,18 @@ msgid "" "Xv?!\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -4007,21 +4114,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4060,12 +4169,13 @@ msgid "" msgstr "" # src/video_out/video_out_xv.c:1479 -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "wtyczka wyjścia obrazu xine używająca rozszerzenia obrazu MIT X" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4079,123 +4189,146 @@ msgid "" msgstr "" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "" # src/video_out/video_out_xv.c:1479 -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 #, fuzzy msgid "xine video output plugin using the XvMC X video extension" msgstr "wtyczka wyjścia obrazu xine używająca rozszerzenia obrazu MIT X" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" " for hardware colour space conversion and scaling\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr "" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4209,109 +4342,117 @@ msgid "" msgstr "" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" @@ -4367,17 +4508,27 @@ msgstr "" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4413,23 +4564,28 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "" @@ -4536,7 +4692,7 @@ msgstr "" # src/xine-engine/video_out.c:893 #: src/xine-engine/audio_out.c:2264 -#, fuzzy +#, fuzzy, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: przykro mi, to nie powinno sie zdarzyć.\n" @@ -4547,42 +4703,43 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "" #: src/xine-engine/info_helper.c:228 -#, fuzzy +#, fuzzy, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "osd: nie można znaleźć zestawu znaków dla aktualnej lokalizacji\n" @@ -4850,6 +5007,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: nie udał się start %s\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -4865,50 +5023,52 @@ msgstr "" "load_plugins: nie mogę (etap 2) otworzyć biblioteki wtyczki %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -4917,44 +5077,48 @@ msgstr "" "osd: nieznana sekwencja zaczynająca się od bajtu 0x%02X w kodowaniu \"%s\", " "pomijanie\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: nie można znaleźć zestawu znaków dla aktualnej lokalizacji\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, fuzzy, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: niewspierana konwersja %s -> UCS-2\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: nie został zdefiniowany font\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "" -#: src/xine-engine/osd.c:1333 -#, fuzzy +#: src/xine-engine/osd.c:1350 +#, fuzzy, c-format msgid "osd: error in rendering\n" msgstr "osd: nie został zdefiniowany font\n" # src/xine-engine/osd.c:863 -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 #, fuzzy msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "paleta użyta przy napisach (tło-napisy-kontur)" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5028,6 +5192,7 @@ msgstr "" # src/xine-engine/video_out.c:893 #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: przykro mi, to nie powinno sie zdarzyć.\n" @@ -5080,6 +5245,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "" @@ -5115,7 +5281,7 @@ msgstr "wtyczka wejścia VCD" # src/input/input_http.c:640 #: src/xine-engine/xine.c:959 -#, fuzzy +#, fuzzy, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "wtyczka wejścia VCD" @@ -5126,18 +5292,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: zawiódł start ostatnio próbowanego demultiplexera %s\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -5147,6 +5317,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "" @@ -5212,6 +5383,7 @@ msgid "The specified save_dir might be a security risk." msgstr "" #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "" @@ -5356,304 +5528,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" - -# src/xine-engine/video_out.c:890 -#, fuzzy -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "video_out: nie mogę utworzyć wątku (%s)\n" - -# src/audio_out/audio_alsa_out.c:211 src/audio_out/audio_alsa_out.c:934 -#, fuzzy -#~ msgid "device used for 5+ channel output" -#~ msgstr "urządzenie użyte do wyjścia 5-kanałowego" - -# src/audio_out/audio_alsa_out.c:1009 src/audio_out/audio_alsa_out.c:1022 -# src/audio_out/audio_alsa_out.c:1035 src/audio_out/audio_alsa_out.c:1053 -#~ msgid "used to inform xine about what the sound card can do" -#~ msgstr "używane do informowania xine o możliwościach karty dźwiękowej" - -# src/audio_out/audio_oss_out.c:775 -#~ msgid "Adjust a/v sync for OSS softsync" -#~ msgstr "regulacja synchronizacji a/v dla softsync OSS" - -# src/audio_out/audio_oss_out.c:776 -#~ msgid "Use this to manually adjust a/v sync if you're using softsync" -#~ msgstr "manualna regulacja sychronizacji a/v z wykożystaniem softsync" - -# src/audio_out/audio_oss_out.c:802 -#~ msgid "Enable 4.0 channel analog surround output" -#~ msgstr "włącz 4-kanałowe, analogowe wyjście dźwięku surround" - -# src/audio_out/audio_oss_out.c:813 -#~ msgid "Enable 5.0 channel analog surround output" -#~ msgstr "włącz 5-kanałowe, analogowe wyjście dźwięku surround" - -# src/audio_out/audio_oss_out.c:824 -#~ msgid "Enable 5.1 channel analog surround output" -#~ msgstr "włącz 5.1-kanałowe, analogowe wyjście dźwięku surround" - -# src/audio_out/audio_oss_out.c:851 -#, fuzzy -#~ msgid "OSS mixer device" -#~ msgstr "urządzenie miksera oss" - -# src/audio_out/audio_sun_out.c:664 -#~ msgid "device used for audio output with the 'Sun' audio plugin" -#~ msgstr "urządzenie używane do wyjścia dźwięku z wtyczką dźwięku 'Sun'" - -# src/dxr3/dxr3.h:34 -#~ msgid "The device file of the dxr3 mpeg decoder card control device." -#~ msgstr "plik urządzenia karty dekodującej dxr3" - -# src/dxr3/dxr3_decode_video.c:177 -#~ msgid "This is relevant for progressive video only (most PAL films)." -#~ msgstr "" -#~ "to jest związane tylko z progresywnym obrazem (większość filmów PAL)" - -# src/dxr3/dxr3_decode_video.c:185 -#~ msgid "Enable this for streams with wrong frame durations." -#~ msgstr "włącz to dla strumieni z błędnymi długościami ramek" - -# src/dxr3/dxr3_mpeg_encoders.c:390 -#~ msgid "The encoding quality of the libfame mpeg encoder library." -#~ msgstr "jakość kodowania przez bibliotekę kodera libfame" - -# src/dxr3/dxr3_scr.c:82 -#~ msgid "Scr priorities greater 5 make the dxr3 xine's master clock." -#~ msgstr "priorytet SCR większy od 5 robi dxr3 głównym zegarem xine" - -# src/dxr3/video_out_dxr3.c:157 -#~ msgid "If disabled, will assume source has 4:3 aspect ratio." -#~ msgstr "jeśli wyłączone, przyjmie że źródło ma proporcje 4:3" - -# src/dxr3/video_out_dxr3.c:222 -#~ msgid "" -#~ "Content other than mpeg has to pass an additional reencoding stage, " -#~ "because the dxr3 handles mpeg only." -#~ msgstr "" -#~ "zawartość inna niż mpeg musi przejść etap ponownego kodowania, ponieważ " -#~ "karty dxr3 wspierają tylko format mpeg" - -# src/dxr3/video_out_dxr3.c:291 -#~ msgid "A greater value widens the tolerance for the overlay keycolor" -#~ msgstr "większa wartość zwiększa tolerancję dla koloru kluczowego overlay" - -# src/input/input_http.c:107 -#, fuzzy -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_http: nie mogę podłączyć się do hosta\n" - -# src/input/input_net.c:126 -#, fuzzy -#~ msgid "input_cdda: unable to resolve '%s'.\n" -#~ msgstr "input_net: nie mogę znaleźć IP dla '%s'.\n" - -# src/input/input_net.c:138 -#, fuzzy -#~ msgid "input_cdda: unable to connect to '%s'.\n" -#~ msgstr "input_net: nie mogę podłączyć się do '%s'.\n" - -# src/input/input_vcd.c:1184 -#~ msgid "path to your local vcd device file" -#~ msgstr "ścieżka dostępu do pliku lokalnego urządzenia vcd" - -# src/liba52/xine_decoder.c:574 -#~ msgid "a/52 volume control" -#~ msgstr "kontrola głośności a/52" - -# src/libdivx4/xine_decoder.c:569 -#~ msgid "Relative path to libdivxdecore.so to open" -#~ msgstr "wzgędna ścieżka do otwarcia libdivxdecore.so" - -# src/libdivx4/xine_decoder.c:599 -#~ msgid "the postprocessing level, 0 = none and fast, 6 = all and slow" -#~ msgstr "poziom post-przetwarzania, 0 = brak i szybki, 6 = pełny ale powolny" - -# src/libdivx4/xine_decoder.c:602 -#~ msgid "use divx4 plugin for msmpeg4v3 streams" -#~ msgstr "użyj wtyczki divx4 dla strumieni msmpeg4v3" - -# src/libdivx4/xine_decoder.c:607 -#~ msgid "Divx version to check for (set to 0 (default) if unsure)" -#~ msgstr "" -#~ "wersja divx której ma szukać xine (ustwić na 0 (domyślnie) jeśli brak " -#~ "pewności)" - -# src/dxr3/dxr3_mpeg_encoders.c:183 -#, fuzzy -#~ msgid "" -#~ "The bitrate the libavcodec mpeg encoder should use for dxr3's encoding " -#~ "mode" -#~ msgstr "" -#~ "częstotliwość jaką biblioteka librte powinna użyć dla trybu kodowania dxr3" - -# src/libsputext/xine_decoder.c:1084 -#, fuzzy -#~ msgid "Subtitle size (relative window size)" -#~ msgstr "rozmiar napisów (względny rozmiar okna)" - -# src/libxvid/xine_decoder.c:236 -#~ msgid "" -#~ "xvid: there is mismatch between API used by currently installed XviD\n" -#~ "xvid: library (%d.%d) and library used to compile this plugin (%d.%d).\n" -#~ "xvid: Compiling this plugin against current XviD library should help.\n" -#~ msgstr "" -#~ "xvid: wystąpiła niezgodność między obecnie używaną biblioteką XviD\n" -#~ "xvid:(%d.%d) a biblioteką użytą do kompilacji tej wtyczki (%d.%d).\n" -#~ "xvid: rekompilacja tej wtyczki z obecną biblioteką XviD powinna pomóc.\n" - -# src/video_out/video_out_opengl.c:1106 -#~ msgid "gamma correction for OpenGL driver" -#~ msgstr "korekta gamma dla sterownika OpenGL" - -# src/video_out/video_out_syncfb.c:995 -#~ msgid "syncfb (teletux) device node" -#~ msgstr "węzeł urządzenia syncfb (teletux)" - -# src/video_out/video_out_xshm.c:1426 -#~ msgid "gamma correction for XShm driver" -#~ msgstr "korekta gamma dla sterownika XShm" - -#~ msgid "Colorkey used for Xv video overlay" -#~ msgstr "Kolor-klucz użyty dla wyjścia obrazu Xv overlay." - -# src/video_out/video_out_xv.c:1414 -#~ msgid "double buffer to sync video to the retrace" -#~ msgstr "podwójny pufor do synchronizacji obrazu do powrotu plamki" - -#~ msgid "workaround for some (buggy) XVideo drivers" -#~ msgstr "obejście problemu niektórych (popsutych) sterowników XVideo" - -# src/video_out/video_out_xv.c:1463 -#~ msgid "Software deinterlace method (Key I toggles deinterlacer on/off)" -#~ msgstr "" -#~ "metoda korekty przeplotu (klawisz I włącza/wyłacza korekte przeplotu)" - -#~ msgid "" -#~ "'resample' might be better if you use a DXR3/H+ card and (analog) audio " -#~ "is processed by your sound card" -#~ msgstr "" -#~ "'resample' mogło by być lepsze jeśli użyjesz karty DXR3/H+ i " -#~ "(analogowego) dźwięku przetwarzanego przez Twoją kartę dźwiękową" - -# src/xine-engine/audio_out.c:825 -#~ msgid "adjust whether resampling is done or not" -#~ msgstr "włączeni/wyłączenie ponownego próbkowania" - -#~ msgid "adjust if audio is offsync" -#~ msgstr "Dopasuj jeśli dźwięk nie jest zsynchronizowany" - -# src/xine-utils/memcpy.c:439 -#~ msgid "Memcopy method to use in xine for large data chunks." -#~ msgstr "metoda kopiowania pamięci używana dla dużych porcji danych" - -# src/audio_out/audio_oss_out.c:640 -#~ msgid "/dev/dsp# device to use for oss output, -1 => auto_detect" -#~ msgstr "/dev/dsp# urządzenie używane dla wyjścia oss, - 1 => auto_detect" - -# src/demuxers/demux_mpeg_block.c:345 -#~ msgid "" -#~ "demux_mpeg_block: too many errors, stopping playback. Maybe this stream " -#~ "is scrambled?\n" -#~ msgstr "" -#~ "demux_mpeg_block: zbyt wiele błędów, zatrzymanie odtwarzania Może " -#~ "strumień jest zaszyfrowany?\n" - -#, fuzzy -#~ msgid "input not seekable, can not handle!\n" -#~ msgstr "demux_roq.c: wejście nie przeszukiwalne, nie wspierane!\n" - -# src/demuxers/demux_pes.c:532 src/demuxers/demux_pes.c:620 -#~ msgid "valid mrls for pes demuxer" -#~ msgstr "prawidłowe mrls dla demultipleksera pes" - -# src/demuxers/demux_pes.c:562 src/demuxers/demux_pes.c:624 -#~ msgid "valid mrls ending for pes demuxer" -#~ msgstr "prawidłowe rozszerzenia plików dla demultipleksera pes" - -#~ msgid "RTP: waiting for preview data\n" -#~ msgstr "RTP: oczekiwanie na zapowiedź danych\n" - -#~ msgid "RTP: waiting for preview data: timeout\n" -#~ msgstr "RTP: oczekiwanie na zapowiedź danych: timeout\n" - -# src/input/input_rtp.c:311 -#~ msgid "Opening >%s<\n" -#~ msgstr "Otwieram >%s<\n" - -# src/libsputext/xine_decoder.c:1084 -#~ msgid "subtitle size (relative window size)" -#~ msgstr "rozmiar napisów (względny rozmiar okna)" - -#~ msgid "" -#~ "FLI: in chunk FLI_COPY : source data (%d bytes) bigger than image, " -#~ "skipping chunk\n" -#~ msgstr "" -#~ "FLI: in chunk FLI_COPY : źródło danych (%d bajtów) większe niż obraz, " -#~ "opuszczam fragment\n" - -# src/demuxers/demux_film.c:254 -#~ msgid "FLI: Unrecognized chunk type: %d\n" -#~ msgstr "FLI nie rozpoznany typ fragmentu %d\n" - -#~ msgid "" -#~ " warning: processed FLI chunk where chunk size = %d\n" -#~ " and final chunk ptr = %d\n" -#~ msgstr "" -#~ " uwaga: obrobiony fragment FLI gdzie rozmiar fragmentu = %d\n" -#~ " a końcowy fragment ptr = %d\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: strumień ptr właśnie wyszedł poza granice (1)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (1)\n" -#~ msgstr "MS RLE: ramka ptr właśnie wykroczyła poza granice (1)\n" - -#~ msgid "MS RLE: stream ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: ramka ptr właśnie wykroczyła poza granice (2)\n" - -#~ msgid "MS RLE: frame ptr just went out of bounds (2)\n" -#~ msgstr "MS RLE: ramka ptr właśnie wykroczyła poza granice (2)\n" - -#~ msgid "MS RLE: ended frame decode with bytes left over (%d < %d)\n" -#~ msgstr "" -#~ "MS RLE: zakończono dekodowanie ramki z pozostałymi bajtami (%d < %d)\n" - -# src/audio_out/audio_oss_out.c:835 -#~ msgid "Enable A52 / AC5 digital audio output via spdif" -#~ msgstr "włącz cyfrowe wyjście dźwięku a52/ac5 przez spdif" - -#~ msgid "demux_fli.c: input not seekable, can not handle!\n" -#~ msgstr "demux_fli.c: wejście nie przeszukiwalne, nie wspierane!\n" - -#~ msgid "demux_smjpeg.c: input not seekable, can not handle!\n" -#~ msgstr "demux_smjpeg.c: wejście nie przeszukiwalne, nie wspierane!\n" - -# src/demuxers/demux_film.c:606 -#~ msgid "demux_wc3movie: encountered unknown chunk: %c%c%c%c\n" -#~ msgstr "demux_wc3movie: napotkano nieznany fragment %c%c%c%c\n" - -# src/input/input_http.c:122 -#~ msgid "input_http: unable to resolve >%s<\n" -#~ msgstr "input_http: nie mogę rozwiązać adresu >%s<\n" - -# src/input/input_http.c:416 src/input/input_http.c:537 -#~ msgid "input_http: timeout\n" -#~ msgstr "input_http: timeout\n" - -# src/input/input_http.c:334 -#~ msgid "input_http: opening >/%s< on host >%s<" -#~ msgstr "input_http: otwieram >/%s< na hoście >%s<" - -# src/input/input_http.c:337 -#~ msgid "%s via proxy >%s<" -#~ msgstr "%s via proxy >%s<" - -# src/input/input_http.c:413 src/input/input_http.c:534 -#~ msgid "input_http: EAGAIN\n" -#~ msgstr "input_http: EAGAIN\n" - -#~ msgid "NVidia TV-Out support." -#~ msgstr "Wsparcie dla wyjścia TV kart NVidia." diff --git a/po/pt_BR.po b/po/pt_BR.po index 642f8d586..01df92730 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 0.9.13\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2002-01-22 18:31GMT-3\n" "Last-Translator: Marcelo Roberto Jimenez <mroberto@cetuc.puc-rio.br>\n" "Language-Team: Portuguese (Brazilian) <pt_BR@li.org>\n" @@ -51,6 +51,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" @@ -275,188 +276,188 @@ msgstr "" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, fuzzy, c-format msgid "Unable to create primary direct sound buffer." msgstr "incapaz de alocar buffer de entrada.\n" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, fuzzy, c-format msgid ": can't create pthread condition: %s\n" msgstr "video_out : não consigo criar thread (%s)\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, fuzzy, c-format msgid ": can't create pthread mutex: %s\n" msgstr "video_out : não consigo criar thread (%s)\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, fuzzy, c-format msgid ": can't create buffer pthread: %s\n" msgstr "demux_qt: não consigo criar um novo thread (%s)\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, fuzzy, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr "demux_qt: não consigo criar um novo thread (%s)\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, fuzzy, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr "video_out : não consigo criar thread (%s)\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 #, fuzzy msgid "second xine audio output plugin using directx" msgstr "http network stream input plugin" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "" @@ -466,6 +467,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "" @@ -571,10 +573,12 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "" @@ -625,6 +629,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -728,11 +733,13 @@ msgstr "" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "" @@ -741,37 +748,41 @@ msgstr "" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -780,11 +791,11 @@ msgid "" "much." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -793,11 +804,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -807,11 +818,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -909,7 +920,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 -#, fuzzy +#, fuzzy, c-format msgid "neither video nor audio stream in this file.\n" msgstr "metronom: audio stream end ignorado\n" @@ -934,6 +945,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -945,6 +957,7 @@ msgid "" msgstr "" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -963,24 +976,24 @@ msgstr "" "demux_mpeg_block: aviso: o cabeçalho de pes inidca que este stream pode " "estar encriptado (encryption mode %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " "to xine developers.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, fuzzy, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -989,7 +1002,7 @@ msgstr "" "demux_mpeg_block: aviso: o cabeçalho de pes inidca que este stream pode " "estar encriptado (encryption mode %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1012,6 +1025,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_asf: tipo de audio desconhecido 0x%x\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1052,6 +1066,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "" @@ -1118,6 +1133,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "input_dvd: incapaz de abrir o acionador de dvd (%s): %s\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "" @@ -1132,25 +1148,30 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "" @@ -1175,6 +1196,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "" @@ -1258,18 +1280,22 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1280,6 +1306,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1359,6 +1386,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "" @@ -1377,17 +1405,19 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:482 -#, fuzzy +#, fuzzy, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out: sigprocmask failed.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" msgstr "" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" @@ -1488,160 +1518,167 @@ msgstr "input_file: tentando abrir o arquivo de subtítulos '%s'\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_file: tentando abrir o arquivo de subtítulos '%s'\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 -#, fuzzy +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, fuzzy, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_vcd: read data failed\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 -#, fuzzy +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, fuzzy, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvd: não consigo abrir o acionador de dvd >%s<\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, fuzzy, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_file: tentando abrir o arquivo de subtítulos '%s'\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, fuzzy, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_file: tentando abrir o arquivo de subtítulos '%s'\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" msgstr "" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, fuzzy, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvd: não consigo abrir o acionador de dvd >%s<\n" -#: src/input/input_dvb.c:3012 -#, fuzzy +#: src/input/input_dvb.c:3016 +#, fuzzy, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_rtp: não consigo criar um novo thread (%s)\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." msgstr "" -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 #, fuzzy msgid "DVB (Digital TV) input plugin" msgstr "http network stream input plugin" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1650,26 +1687,26 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "" -#: src/input/input_dvd.c:1491 -#, fuzzy +#: src/input/input_dvd.c:1494 +#, fuzzy, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: não consigo abrir o arquivo >%s<\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." msgstr "" -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1680,22 +1717,22 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1704,44 +1741,44 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1760,11 +1797,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1778,11 +1815,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1794,49 +1831,49 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: erro de leitura (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, fuzzy, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_cda: fopen(%s) failed: %s\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, fuzzy, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: erro de leitura (%s)\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, fuzzy, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: erro de leitura (%s)\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "" -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 #, fuzzy msgid "gnome-vfs input plugin as shipped with xine" msgstr "net input plugin tal como enviado com xine" @@ -1846,83 +1883,83 @@ msgstr "net input plugin tal como enviado com xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_cda: fopen(%s) failed: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, fuzzy, c-format msgid "input_http: read error %d\n" msgstr "input_http: read error\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "" -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: invalid http answer\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, fuzzy, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx redirection not implemented: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: http status not 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, fuzzy, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: content length = %Ld bytes\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, fuzzy, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: read error\n" -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 #, fuzzy msgid "http input plugin" msgstr "http network stream input plugin" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -1930,27 +1967,27 @@ msgid "" "(full match required)." msgstr "" -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 #, fuzzy msgid "mms streaming input plugin" msgstr "http network stream input plugin" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -1976,52 +2013,54 @@ msgstr "input_net: incapaz de resolver '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: incapaz de conectar em '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "net input plugin tal como enviado com xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 #, fuzzy msgid "pnm streaming input plugin" msgstr "http network stream input plugin" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, fuzzy, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_dvd: não consigo abrir o arquivo >%s<\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, fuzzy, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_dvd: não consigo abrir o arquivo >%s<\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, fuzzy, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_http: read error (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, fuzzy, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_dvd: não consigo abrir o arquivo >%s<\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "" @@ -2074,118 +2113,119 @@ msgstr "incapaz de conectar com '%s'.\n" msgid "recv(): %s.\n" msgstr "socket(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: não consigo criar um novo thread (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 #, fuzzy msgid "RTP and UDP input plugin as shipped with xine" msgstr "net input plugin tal como enviado com xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 #, fuzzy msgid "rtsp streaming input plugin" msgstr "http network stream input plugin" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, fuzzy, c-format msgid "stdin: failed to open '%s'\n" msgstr "input_http: failed to open socket\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 #, fuzzy msgid "stdin streaming input plugin" msgstr "http network stream input plugin" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "" -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "" -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "" -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 #, fuzzy msgid "v4l tv input plugin" msgstr "http network stream input plugin" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 #, fuzzy msgid "v4l radio input plugin" msgstr "http network stream input plugin" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "" -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "http network stream input plugin" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "" #: src/input/input_vcd.c:847 -#, fuzzy +#, fuzzy, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: MRL mal formada. Use vcd://<track #>\n" @@ -2199,21 +2239,21 @@ msgstr "input_vcd: trilha invalida %d (faixa valida: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "http network stream input plugin" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "incapaz de abrir %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, fuzzy, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_dvd: incapaz de abrir o acionador de dvd (%s): %s\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2235,10 +2275,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "http: unable to connect to >%s<\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "" #: src/input/librtsp/rtsp_session.c:153 +#, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2259,7 +2301,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "" #: src/input/mmsh.c:197 -#, fuzzy +#, fuzzy, c-format msgid "libmmsh: send error\n" msgstr "input_http: read error\n" @@ -2314,7 +2356,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_net: incapaz de conectar em '%s'.\n" #: src/input/pnm.c:763 -#, fuzzy +#, fuzzy, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_http: failed to open socket\n" @@ -2509,6 +2551,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "" @@ -2548,14 +2591,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "" @@ -2565,10 +2611,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2592,6 +2640,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "" @@ -2611,55 +2660,56 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "" -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -2871,6 +2921,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -2882,6 +2933,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -2895,7 +2947,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" "This plugin aims to provide deinterlacing mechanisms comparable to high " @@ -2909,6 +2961,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -2948,7 +3003,8 @@ msgid "" "\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "" @@ -3153,7 +3209,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "" @@ -3218,22 +3274,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3249,10 +3310,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3278,6 +3341,7 @@ msgid "xine video output plugin using DirectFB." msgstr "http network stream input plugin" #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3286,7 +3350,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "http network stream input plugin" -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "" @@ -3310,6 +3374,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "" @@ -3328,6 +3393,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3409,6 +3475,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3423,6 +3490,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3444,27 +3512,33 @@ msgid "" msgstr "" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "" @@ -3511,10 +3585,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "" @@ -3527,40 +3603,49 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" msgstr "" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3626,18 +3711,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "" @@ -3674,6 +3763,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -3681,6 +3771,7 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -3697,10 +3788,12 @@ msgid "" msgstr "" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "" @@ -3708,36 +3801,45 @@ msgstr "" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -3745,18 +3847,18 @@ msgid "" "Xv?!\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -3764,21 +3866,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -3816,12 +3920,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -3835,121 +3940,144 @@ msgid "" msgstr "" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" " for hardware colour space conversion and scaling\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr "" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr "" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr "" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -3963,109 +4091,117 @@ msgid "" msgstr "" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" " Looks like your graphics hardware driver doesn't support Xv?!\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " "conversion and scaling.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" @@ -4117,17 +4253,27 @@ msgstr "" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4163,23 +4309,28 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "" @@ -4273,7 +4424,7 @@ msgid "If disabled, xine will not modify any mixer settings at startup." msgstr "" #: src/xine-engine/audio_out.c:2264 -#, fuzzy +#, fuzzy, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out : desculpe, isto não deveria acontecer, reinicie o xine por " @@ -4284,41 +4435,43 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "" @@ -4573,6 +4726,7 @@ msgstr "" "%s\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -4587,91 +4741,98 @@ msgstr "" "load_plugins: não consigo abrir o plugin de demux %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " "skipping\n" msgstr "" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -4744,7 +4905,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 -#, fuzzy +#, fuzzy, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out : desculpe, isto não deveria acontecer, reinicie o xine por " @@ -4795,6 +4956,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "" @@ -4824,7 +4986,7 @@ msgid "xine: join rip input plugin\n" msgstr "http network stream input plugin" #: src/xine-engine/xine.c:959 -#, fuzzy +#, fuzzy, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "http network stream input plugin" @@ -4834,18 +4996,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine_play: demuxer falhou em começar\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -4855,7 +5021,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "" #: src/xine-engine/xine.c:1135 -#, fuzzy +#, fuzzy, c-format msgid "xine: error opening subtitle mrl\n" msgstr "input_dvd: não consigo abrir o arquivo >%s<\n" @@ -4914,6 +5080,7 @@ msgid "The specified save_dir might be a security risk." msgstr "" #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "" @@ -5057,1395 +5224,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" - -#, fuzzy -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: copyright : %s\n" - -#, fuzzy -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "demux_qt: não consigo criar um novo thread (%s)\n" - -#, fuzzy -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "input_cda: open(%s) failed: %s.\n" - -#, fuzzy -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_http: cannot connect to host\n" - -#, fuzzy -#~ msgid "input_cdda: unable to resolve '%s'.\n" -#~ msgstr "input_net: incapaz de resolver '%s'.\n" - -#, fuzzy -#~ msgid "input_cdda: unable to connect to '%s'.\n" -#~ msgstr "input_net: incapaz de conectar em '%s'.\n" - -#~ msgid "" -#~ "demux_mpeg_block: too many errors, stopping playback. Maybe this stream " -#~ "is scrambled?\n" -#~ msgstr "" -#~ "demux_mpeg_block: excesso de erros, parando o playback. Talvez este " -#~ "stream esteja embaralhado?\n" - -#, fuzzy -#~ msgid "RTP: waiting for preview data\n" -#~ msgstr "metronom: esperando o video começar...\n" - -#~ msgid "Opening >%s<\n" -#~ msgstr "Abrindo >%s<\n" - -#, fuzzy -#~ msgid "demux_wc3movie: encountered unknown chunk: %c%c%c%c\n" -#~ msgstr "demux_film: video codec desconhecido >%s<\n" - -#~ msgid "input_http: unable to resolve >%s<\n" -#~ msgstr "input_http: unable to resolve >%s<\n" - -#, fuzzy -#~ msgid "input_http: timeout\n" -#~ msgstr "input_http: read error\n" - -#~ msgid "input_http: opening >/%s< on host >%s<" -#~ msgstr "input_http: opening >/%s< on host >%s<" - -#~ msgid "%s via proxy >%s<" -#~ msgstr "%s via proxy >%s<" - -#~ msgid "input_http: EAGAIN\n" -#~ msgstr "input_http: EAGAIN\n" - -#~ msgid "OUCH - ran out of buffers\n" -#~ msgstr "Ai! fiquei sem buffers\n" - -#~ msgid "OUCH - dropped input packet %d %d\n" -#~ msgstr "Ai, descartei o pacote de entrada %d %d\n" - -#~ msgid "rtp input plugin as shipped with xine" -#~ msgstr "plugin de entrada rtp como mandado com o xine" - -#, fuzzy -#~ msgid "demux_mpgaudio: no audio driver!\n" -#~ msgstr "demux_mpgaudio_block: stop...ignorado\n" - -#~ msgid "input_cda: ioctl(CDROM_MEDIA_CHANGED) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROM_MEDIA_CHANGED) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSUBCHNL) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMSUBCHNL) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCSTART) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOCSTART) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMSTART) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMSTART) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOCPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOCPLAYMSF) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMPLAYMSF) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMPLAYMSF) failed: %s.\n" - -#~ msgid "input_cda: No rights to open %s.\n" -#~ msgstr "input_cda: No rights to open %s.\n" - -#~ msgid "input_cda: ioctl(CDROMCLOSETRAY) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMCLOSETRAY) failed: %s\n" - -#~ msgid "input_cda: ioctl(CDROMEJECT) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMEJECT) failed: %s\n" - -#~ msgid "input_cda: ioctl(CDROM_DRIVE_STATUS) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROM_DRIVE_STATUS) failed: %s\n" - -#~ msgid "input_cda: ioctl(CDROMALLOW) failed: %s\n" -#~ msgstr "input_cda: ioctl(CDROMALLOW) failed: %s\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCHEADER) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOREADTOCHEADER) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCHDR) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMREADTOCHDR) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDIOREADTOCENTRYS) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDIOREADTOCENTRYS) failed: %s.\n" - -#~ msgid "input_cda: ioctl(CDROMREADTOCENTRY) failed: %s.\n" -#~ msgstr "input_cda: ioctl(CDROMREADTOCENTRY) failed: %s.\n" - -#, fuzzy -#~ msgid "input_cda: malformed MRL. Use cda:/<track #>\n" -#~ msgstr "input_cda: MRL mal formada. Use cda://<track #>\n" - -#~ msgid "input_cda: invalid track %d (valid range: 1 .. %d)\n" -#~ msgstr "input_cda: trilha invalida %d (faixa valida: 1 .. %d)\n" - -#~ msgid "input_cda: error seek to origin %d not implemented!\n" -#~ msgstr "input_cda: error seek to origin %d not implemented!\n" - -#~ msgid "cd audio plugin as shipped with xine" -#~ msgstr "cd audio plugin as shipped with xine" - -#, fuzzy -#~ msgid "demux_qt: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_qt: video codec >%s<\n" - -#, fuzzy -#~ msgid "demux_qt: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_qt: audio codec >%c%c%c%c< @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_film: %c%c%c%c video @ %dx%d, %d Hz playback clock\n" -#~ msgstr "demux_film: video codec >%c%c%c%c<\n" - -#, fuzzy -#~ msgid "demux_fli: %d frames, %dx%d\n" -#~ msgstr "demux_fli: %ld frames, %dx%d\n" - -#, fuzzy -#~ msgid "demux_smjpeg: '%c%c%c%c' video @ %dx%d\n" -#~ msgstr "demux_smjpeg: video codec >%c%c%c%c< @ %dx%d\n" - -#, fuzzy -#~ msgid "demux_smjpeg: '%c%c%c%c' audio @ %d Hz, %d bits, %d %s\n" -#~ msgstr "demux_smjpeg: auioo codec >%c%c%c%c< @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_wav: format 0x%X audio, %d Hz, %d bits/sample, %d %s\n" -#~ msgstr "demux_wav: audio codec 0x%X, %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_wav: running time = %lld min, %lld sec\n" -#~ msgstr "demux_avi: %ld frames\n" - -#, fuzzy -#~ msgid "demux_aiff: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_qt: audio codec >%c%c%c%c< @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_aiff: running time: %d min, %d sec\n" -#~ msgstr "demux_avi: %ld frames\n" - -#, fuzzy -#~ msgid "demux_snd: %d Hz, %d channels, %d bits, %d frames\n" -#~ msgstr "demux_qt: audio codec >%c%c%c%c< @ %d Hz, %d bits, %d %s\n" - -#, fuzzy -#~ msgid "demux_snd: running time: %d min, %d sec\n" -#~ msgstr "demux_avi: %ld frames\n" - -#, fuzzy -#~ msgid "" -#~ "demux_voc: VOC format 0x%X audio, %d Hz, running time: %d min, %d sec\n" -#~ msgstr "demux_wav: audio codec 0x%X, %d Hz, %d bits, %d %s\n" - -#~ msgid "demux_ts: FIXME: (unsupported )PAT spans multiple TS packets\n" -#~ msgstr "demux_ts: FIXME: (não suportado)PAT spans multiple TS packets\n" - -#~ msgid "" -#~ "demux_ts: FIXME: (unsupported) PAT consists of multiple (%d) sections\n" -#~ msgstr "" -#~ "demux_ts: FIXME: (não suportado) PAT consiste de multiplas (%d) seções\n" - -#~ msgid "" -#~ "demux_ts: demux error! PAT with invalid CRC32: packet_crc32: %.8x " -#~ "calc_crc32: %.8x\n" -#~ msgstr "" -#~ "demux_ts: erro no demux! PAT com CRC32 inválido: packet_crc32: %.8x " -#~ "calc_crc32: %.8x\n" - -#~ msgid "demux_ts: error %02x %02x %02x (should be 0x000001)\n" -#~ msgstr "demux_ts: erro %02x %02x %02x (deveria ser 0x000001)\n" - -#, fuzzy -#~ msgid "demux_ts: unexpected cc %d (expected %d)\n" -#~ msgstr "demux_ts: descartou pacote de entrada cc: %d esperado: %d\n" - -#, fuzzy -#~ msgid "demux_ts: corrupted pes encountered\n" -#~ msgstr "demux_ts: encontrado pes quebrado\n" - -#~ msgid "demux error! PMT with invalid pointer\n" -#~ msgstr "erro no demux! PMT com ponteiro inválido\n" - -#~ msgid "" -#~ "demux_ts: demux error! PMT with invalid CRC32: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" -#~ msgstr "" -#~ "demux_ts: erro no demux! PMT com CRC32 inválido: packet_crc32: %#.8x " -#~ "calc_crc32: %#.8x\n" - -#~ msgid "demux error! PMT with inconsistent progInfo length\n" -#~ msgstr "erro no demux! PMT com comprimento de progInfo inconsistente\n" - -#~ msgid "demux error! PMT with inconsistent streamInfo length\n" -#~ msgstr "erro no demux! PMT com comprimento de streamInfo inconsistente\n" - -#~ msgid "demux error! invalid ts sync byte %.2x\n" -#~ msgstr "erro no demux! ts sync byte inválido %.2x\n" - -#~ msgid "demux error! transport error\n" -#~ msgstr "erro no demux! erro de transporte\n" - -#~ msgid "demux_ts: demux error! invalid payload size %d\n" -#~ msgstr "demux_ts: erro no demux! tamanho de payload inválido %d\n" - -#~ msgid "demux %u ts_open!\n" -#~ msgstr "demux %u ts_open!\n" - -#~ msgid "demux_ts: can't create new thread (%s)\n" -#~ msgstr "demux_ts: não consigo criar novo thread (%s)\n" - -#, fuzzy -#~ msgid "demux_mpeg: please specify mpeg(mpeg1/mpeg2) stream type.\n" -#~ msgstr "Voce deve especificar mpeg(mpeg1/mpeg2) como tipo de stream.\n" - -#~ msgid "stdin/fifo input plugin as shipped with xine" -#~ msgstr "plugin de entrada stdin/fifo como enviado com o xine" - -#~ msgid "input_vcd : error in ioctl CDROMREADTOCHDR\n" -#~ msgstr "input_vcd : error in ioctl CDROMREADTOCHDR\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for track %d\n" -#~ msgstr "input_vcd: error in ioctl CDROMREADTOCENTRY for track %d\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY for lead-out\n" -#~ msgstr "input_vcd: error in ioctl CDROMREADTOCENTRY for lead-out\n" - -#~ msgid "input_vcd: error in ioctl CDROMREADTOCENTRY\n" -#~ msgstr "input_vcd: error in ioctl CDROMREADTOCENTRY\n" - -#~ msgid "scsi command failed with status %d\n" -#~ msgstr "scsi command failed with status %d\n" - -#~ msgid "input_vcd: error in CDRIOCSETBLOCKSIZE %d\n" -#~ msgstr "input_vcd: erro em CDRIOCSETBLOCKSIZE %d\n" - -#~ msgid "input_vcd: error in CDROMREADRAW\n" -#~ msgstr "input_vcd: erro em CDROMREADRAW\n" - -#~ msgid "input_vcd: seek error %d\n" -#~ msgstr "input_vcd: erro de posicionamento %d\n" - -#~ msgid "input_vcd: read error %d\n" -#~ msgstr "input_vcd: erro de leitura %d\n" - -#~ msgid "input_vcd: error seek to origin %d not implemented!\n" -#~ msgstr "input_vcd: error seek to origin %d not implemented!\n" - -#~ msgid "input_vcd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_vcd: CDROMCLOSETRAY failed: %s\n" - -#~ msgid "input_vcd: CDROMEJECT failed: %s\n" -#~ msgstr "input_vcd: CDROMEJECT failed: %s\n" - -#~ msgid "input_vcd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_vcd: CDROM_DRIVE_STATUS failed: %s\n" - -#~ msgid "vcd device input plugin as shipped with xine" -#~ msgstr "vcd device input plugin as shipped with xine" - -#~ msgid "vcd_read_toc failed\n" -#~ msgstr "vcd_read_toc falhou\n" - -#, fuzzy -#~ msgid "demux_film: unknown video codec %c%c%c%c\n" -#~ msgstr "demux_film: video codec desconhecido >%s<\n" - -#, fuzzy -#~ msgid "demux_vqa: running time: %d min, %d sec\n" -#~ msgstr "demux_avi: %ld frames\n" - -#~ msgid "lstat failed for %s{%s}\n" -#~ msgstr "lstat failed for %s{%s}\n" - -#~ msgid "%s(%d): readlink() failed: %s\n" -#~ msgstr "%s(%d): readlink() falhou: %s\n" - -#~ msgid "plain file input plugin as shipped with xine" -#~ msgstr "plain file input plugin as shipped with xine" - -#~ msgid "input_file: get optional data, type %08x, sub %p\n" -#~ msgstr "input_file: get optional data, type %08x, sub %p\n" - -#~ msgid "xine_notify_stream_finished: can't create new thread (%s)\n" -#~ msgstr "" -#~ "xine_notify_stream_finished: não consigo criar um novo thread (%s)\n" - -#, fuzzy -#~ msgid "demux_avi: video format = %s\n" -#~ msgstr "demux_asf: formato de video: %s\n" - -#, fuzzy -#~ msgid "demux_avi: video frame size %ld x %ld\n" -#~ msgstr "demux_avi: %ld frames\n" - -#, fuzzy -#~ msgid "demux_avi: audio format[%d] = 0x%lx\n" -#~ msgstr "demux_avi: formato de video = %s, formato de audio = 0x%lx\n" - -#~ msgid "demux_avi: unknown audio type 0x%lx\n" -#~ msgstr "demux_avi: tipo de audio desconhecido 0x%lx\n" - -#~ msgid "demux_avi: audio type %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_avi: tipo de audio %s (wFormatTag 0x%x)\n" - -#, fuzzy -#~ msgid "demux_avi: unknown video codec '%.4s'\n" -#~ msgstr "demux_qt: video codec desconhecido >%s<\n" - -#, fuzzy -#~ msgid "demux_avi: video codec is '%s'\n" -#~ msgstr "demux_avi: video codec >%s<\n" - -#, fuzzy -#~ msgid "ogg: vorbis avg. bitrate %d, samplerate %d\n" -#~ msgstr "metronom: audio stream end\n" - -#, fuzzy -#~ msgid "ogg: video format %.4s, frame size %d x %d, %d fps\n" -#~ msgstr "demux_avi: %ld frames\n" - -#, fuzzy -#~ msgid "" -#~ "ogg: unknown stream type (signature >%.8s<). hex dump of bos packet " -#~ "follows:\n" -#~ msgstr "demux_ogg: tipo de stream desconhecido, assinatura: >%.8s<\n" - -#~ msgid "demux_asf: audio format : %s (wFormatTag 0x%x)\n" -#~ msgstr "demux_asf: formato de audio: %s (wFormatTag 0x%x)\n" - -#~ msgid "demux_asf: video format : %s\n" -#~ msgstr "demux_asf: formato de video: %s\n" - -#~ msgid "demux_asf: stream length is %d sec, rate is %d bytes/sec\n" -#~ msgstr "" -#~ "demux_asf: o comprimento do stream é %d sec, a taxa é %d bytes/sec\n" - -#~ msgid "demux_asf: title : %s\n" -#~ msgstr "demux_asf: título : %s\n" - -#~ msgid "demux_asf: author : %s\n" -#~ msgstr "demux_asf: autor : %s\n" - -#~ msgid "demux_asf: comment : %s\n" -#~ msgstr "demux_asf: comentario : %s\n" - -#, fuzzy -#~ msgid "" -#~ "demux_ts: plugin doesn't support plugin API version %d.\n" -#~ " This means there's a version mismatch between xine and this " -#~ "demuxer plugin.\n" -#~ " Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ts: plugin não suporta versão de plugin API %d.\n" -#~ " isto significa que existe um descasamento de versão entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os demux plugins atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_avi: this plugin doesn't support plugin API version %d.\n" -#~ "demux_avi: this means there's a version mismatch between xine and this " -#~ "demux_avi: demuxer plugin.\n" -#~ "Installing current demuxer plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_elem: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_elem: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_mpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_pes: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_qt: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_ogg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_asf: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_cda: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_cda: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_film: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_film: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "demux_mpeg_block: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_mpeg_block: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_roq: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_roq: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_idcin: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_smjpeg: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin. Installing current demux plugins " -#~ "should help.\n" -#~ msgstr "" -#~ "demux_smjpeg: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre " -#~ "o xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_wav: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_wav: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_aiff: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_snd: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_voc: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_ogg: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_vqa: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_asf: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "demux_wc3movie: plugin doesn't support plugin API version %d.\n" -#~ " this means there's a version mismatch between xine and " -#~ "this demuxer plugin.\n" -#~ "Installing current demux plugins should help.\n" -#~ msgstr "" -#~ "demux_idcin: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#~ msgid "" -#~ "net input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada net não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "rtp input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada rtp não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "stdin/fifo input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada stdin/fifo não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "file input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada file não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "vcd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada vcd não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "http input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada http não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "" -#~ "cda input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada cda não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libmpeg2: plugin doesn't support plugin API version %d.\n" -#~ "libmpeg2: this means there's a version mismatch between xine and this " -#~ "libmpeg2: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libmpg123: plugin doesn't support plugin API version %d.\n" -#~ "libmpg123: this means there's a version mismatch between xine and this " -#~ "libmpg123: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libspudec: Doesn't support plugin API version %d.\n" -#~ "libspudec: This means there is a version mismatch between XINE and\n" -#~ "libspudec: this plugin.\n" -#~ msgstr "" -#~ "plugin de entrada file não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "w32codec: plugin doesn't support plugin API version %d.\n" -#~ "w32codec: this means there's a version mismatch between xine and this " -#~ "w32codec: decoder plugin.\n" -#~ "Installing current decoder plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "Modes" -#~ msgstr "codecs" - -#~ msgid "%s(%d) wrong first stage = %d !!\n" -#~ msgstr "%s(%d) wrong first stage = %d !!\n" - -#~ msgid "%s(%s@%d): parameter should be non null, exiting\n" -#~ msgstr "%s(%s@%d): parametro deve ser não nulo, saindo\n" - -#~ msgid "load_plugins: demux plugin found : %s\n" -#~ msgstr "load_plugins: achado o plugin de demux: %s\n" - -#~ msgid "load_plugins: too many demux plugins installed, exiting.\n" -#~ msgstr "load_plugins: excesso de plugins de demux instalados, saindo.\n" - -#~ msgid "" -#~ "load_plugins: %s is no valid input plugin (lacks init_input_plugin() " -#~ "function)\n" -#~ msgstr "" -#~ "load_plugins: %s não é um plugin de entrada válido (não possui a função " -#~ "init_input_plugin())\n" - -#~ msgid "%s(%d): too many input plugins installed, exiting.\n" -#~ msgstr "%s(%d): excesso de plugins de entrada instalados, saindo.\n" - -#~ msgid "" -#~ "load_plugins: no input plugins found in %s! - Did you install xine " -#~ "correctly??\n" -#~ msgstr "" -#~ "load_plugins: nenhum plugin de entrada encontrado em %s! - Você instalou " -#~ "o xine corretamente?\n" - -#~ msgid "spu decoder plugin found : %s\n" -#~ msgstr "spu decoder plugin achado: %s\n" - -#, fuzzy -#~ msgid "" -#~ "liblpcm: plugin doesn't support plugin API version %d.\n" -#~ "liblpcm: this means there's a version mismatch between xine and this " -#~ "liblpcm: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "ffmpeg: plugin doesn't support plugin API version %d.\n" -#~ "ffmpeg: this means there's a version mismatch between xine and this " -#~ "ffmpeg: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_pes: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "dxr3_decode_spu: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_spu: this means there's a version mismatch between xine and " -#~ "this dxr3_decode_spu: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "dxr3_decode_video: plugin doesn't support plugin API version %d.\n" -#~ "dxr3_decode_video: this means there's a version mismatch between xine and " -#~ "this\n" -#~ "dxr3_decode_video: decoder plugin. Installing current plugins should " -#~ "help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libmad: plugin doesn't support plugin API version %d.\n" -#~ "libmad: this means there's a version mismatch between xine and this " -#~ "libmad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "liba52: plugin doesn't support plugin API version %d.\n" -#~ "liba52: this means there's a version mismatch between xine and this " -#~ "liba52: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libdts: plugin doesn't support plugin API version %d.\n" -#~ "libdts: this means there's a version mismatch between xine and this " -#~ "libdts: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "divx4: plugin doesn't support plugin API version %d.\n" -#~ "divx4: this means there's a version mismatch between xine and this divx4: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libvorbis: plugin doesn't support plugin API version %d.\n" -#~ "libvorbis: this means there's a version mismatch between xine and this " -#~ "libvorbis: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libsputext: doesn't support plugin api version %d.\n" -#~ "libsputext: This means there is a version mismatch between xine and\n" -#~ "libsputext: this plugin.\n" -#~ msgstr "" -#~ "plugin de entrada file não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libspucc: doesn't support plugin api version %d.\n" -#~ "libspucc: This means there is a version mismatch between xine and\n" -#~ "libspucc: this plugin.\n" -#~ msgstr "" -#~ "plugin de entrada file não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "xvid: plugin doesn't support plugin API version %d.\n" -#~ "xvid: this means there's a version mismatch between xine and this\n" -#~ "xvid: decoder plugin. Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "cinepak: plugin doesn't support plugin API version %d.\n" -#~ "cinepak: this means there's a version mismatch between xine and this " -#~ "cinepak: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "RoQ: plugin doesn't support plugin API version %d.\n" -#~ "RoQ: this means there's a version mismatch between xine and this RoQ: " -#~ "decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_qt: plugin não suporta a versão %d da API de plugins.\n" -#~ " isto significa que existe um descasamento de versões entre o " -#~ "xine e este plugin de demuxer.\n" -#~ "Instalar os plugins de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "RoQ Audio: plugin doesn't support plugin API version %d.\n" -#~ "RoQ Audio: this means there's a version mismatch between xine and this\n" -#~ "RoQ Audio: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#, fuzzy -#~ msgid "" -#~ "libfaad: plugin doesn't support plugin API version %d.\n" -#~ "libfaad: this means there's a version mismatch between xine and this " -#~ "libfaad: decoder plugin.\n" -#~ "Installing current plugins should help.\n" -#~ msgstr "" -#~ "demux_avi: este plugin não suporta a versão %d da API de plugin.\n" -#~ "demux_avi: isto significa que existe um descasamento de versão entre o " -#~ "xine e este demux_avi: plugin de demuxer.\n" -#~ "Instalar os plugind de demuxer atuais deve ajudar.\n" - -#~ msgid "USCSICMD dvd_read_copyright: %s" -#~ msgstr "USCSICMD dvd_read_copyright: %s" - -#~ msgid "bad status: READ DVD STRUCTURE (copyright)\n" -#~ msgstr "bad status: READ DVD STRUCTURE (copyright)\n" - -#~ msgid "input_dvd: Could not read Copyright Structure\n" -#~ msgstr "input_dvd: Não conseguí ler a Copyright Structure\n" - -#~ msgid "" -#~ "input_dvd: Could not read Copyright Structure.\n" -#~ " Assuming disk is not encrypted.\n" -#~ msgstr "" -#~ "input_dvd: Não conseguí ler a Copyright Structure.\n" -#~ " Assumindo que o disco é não encriptado.\n" - -#, fuzzy -#~ msgid "" -#~ "\n" -#~ "input_dvd: Sorry, this plugin doesn't play encrypted DVDs. The legal " -#~ "status\n" -#~ " of CSS decryption is unclear and we can't provide such code.\n" -#~ " Please check http://dvd.sf.net for more information.\n" -#~ msgstr "" -#~ "\n" -#~ "input_dvd: Desculpe, xine não toca DVDs encriptados. O estado legal de " -#~ "desencriptação CSS\n" -#~ " não é claro e nós não vamos prover tal código.\n" -#~ "\n" - -#~ msgid "input_dvd: Unable to find >%s< on dvd.\n" -#~ msgstr "input_dvd: Incapaz de achar >%s< no dvd.\n" - -#~ msgid "input_dvd: error read: %Ld bytes is not a sector!\n" -#~ msgstr "input_dvd: error read: %Ld bytes não é um setor!\n" - -#~ msgid "input_dvd: read error in input_dvd plugin (%s)\n" -#~ msgstr "input_dvd: read erro no input_dvd plugin (%s)\n" - -#~ msgid "input_dvd: short read in input_dvd (%d != %d)\n" -#~ msgstr "input_dvd: short read in input_dvd (%d != %d)\n" - -#~ msgid "" -#~ "input_dvd: error in input_dvd plugin read: %Ld bytes is not a sector!\n" -#~ msgstr "" -#~ "input_dvd: erro no input_dvd plugin read: %Ld bytes não é um setor!\n" - -#~ msgid "input_dvd: seek: %d is an unknown origin\n" -#~ msgstr "input_dvd: seek: %d é uma origem desconhecida\n" - -#~ msgid "input_dvd: CDROMCLOSETRAY failed: %s\n" -#~ msgstr "input_dvd: CDROMCLOSETRAY falhou: %s\n" - -#~ msgid "input_dvd: CDROMEJECT failed: %s\n" -#~ msgstr "input_dvd: CDROMEJECT falhou: %s\n" - -#~ msgid "input_dvd: CDROM_DRIVE_STATUS failed: %s\n" -#~ msgstr "input_dvd: CDROM_DRIVE_STATUS falhou: %s\n" - -#~ msgid "ioctl(cdromallow): %s" -#~ msgstr "ioctl(cdromallow): %s" - -#~ msgid "ioctl(cdromeject): %s" -#~ msgstr "ioctl(cdromeject): %s" - -#~ msgid "dvd device input plugin as shipped with xine" -#~ msgstr "dvd device input plugin as shipped with xine" - -#~ msgid "" -#~ "dvd input plugin doesn't support plugin API version %d.\n" -#~ "PLUGIN DISABLED.\n" -#~ "This means there's a version mismatch between xine and this inputplugin.\n" -#~ "Installing current input plugins should help.\n" -#~ msgstr "" -#~ "plugin de entrada dvd não suporta a versão %d da API de plugins.\n" -#~ "PLUGIN DESABILITADO.\n" -#~ "Isto significa que existe um descasamento de versões entre o xine e este " -#~ "plugin de entrada.\n" -#~ "Instalar os plugins de entrada atuais deve ajudar.\n" - -#~ msgid "unable to open %s: %s." -#~ msgstr "incapaz de abrir %s: %s." - -#, fuzzy -#~ msgid "none" -#~ msgstr "feito\n" - -#~ msgid "" -#~ "demux_qt: video codec %s (%f fps), audio codec %s (%ld Hz, %d bits)\n" -#~ msgstr "" -#~ "demux_qt: video codec %s (%f fps), audio codec %s (%ld Hz, %d bits)\n" - -#~ msgid "demux_ts: PUSI set but no PES header (corrupt stream?)\n" -#~ msgstr "" -#~ "demux_ts: PUSI setado mas não tem cabeçalho PES (stream corrompida?)\n" - -#~ msgid "RE-Sync failed\n" -#~ msgstr "RE-Sync falhou\n" - -#~ msgid "mpgaudio: bitrate = %.2fkbps\n" -#~ msgstr "mpgaudio: bitrate = %.2fkbps\n" - -#~ msgid "demux_ts: stop...\n" -#~ msgstr "demux_ts: stop...\n" - -#~ msgid "demux_avi: reconstructing index" -#~ msgstr "demux_avi: reconstruindo o index" - -#~ msgid "demux_avi: audio seek to start failed\n" -#~ msgstr "demux_avi: ir para o início do audio falhou\n" - -#~ msgid "demux_avi: unknown avi format %.4s\n" -#~ msgstr "demux_avi: formato avi desconhecido %.4s\n" - -#~ msgid "demux_avi: text subtitle file available\n" -#~ msgstr "demux_avi: arquivo texto de subtítulos disponível\n" - -#~ msgid "demux_avi: can't create new thread (%s)\n" -#~ msgstr "demux_avi: não consigo criar um novo thread (%s)\n" - -#~ msgid "input_http: answer: >%s<\n" -#~ msgstr "input_http: answer: >%s<\n" - -#~ msgid "input_http: end of headers\n" -#~ msgstr "input_http: end of headers\n" - -#, fuzzy -#~ msgid "video_out: thread created\n" -#~ msgstr "video_out : thread criad\n" - -#~ msgid "xine_stop\n" -#~ msgstr "xine_stop\n" - -#~ msgid "xine_stop ignored\n" -#~ msgstr "xine_stop ignorado\n" - -#~ msgid "xine_stop: stopping demuxer\n" -#~ msgstr "xine_stop: parando o demuxer\n" - -#~ msgid "xine_stop: done\n" -#~ msgstr "xine_stop: feito\n" - -#~ msgid "xine_exit: shutdown audio\n" -#~ msgstr "xine_exit: desligando o audio\n" - -#~ msgid "xine_exit: shutdown video\n" -#~ msgstr "xine_exit: desligando o video\n" - -#~ msgid "xine_exit: bye!\n" -#~ msgstr "xine_exit: tchau!\n" - -#~ msgid "xine: xine_get_current_position: no input source\n" -#~ msgstr "xine: xine_get_current_position: sem fonte de entrada\n" - -#~ msgid "xine: set_speed %d\n" -#~ msgstr "xine: set_speed %d\n" - -#~ msgid "demux_ts: demux error! PAT without payload unit start indicator\n" -#~ msgstr "" -#~ "demux_ts: erro no demux! PAT sem indicador de começo de unidade \"payload" -#~ "\"\n" - -#~ msgid "demux_ts: demux error! PAT with invalid pointer\n" -#~ msgstr "demux_ts: erro no demux! PAT com ponteiro invalido\n" - -#~ msgid "demux_avi: demux loop finished.\n" -#~ msgstr "demux_avi: loop de demux terminado.\n" - -#~ msgid "demux_avi: stop...ignored\n" -#~ msgstr "demux_avi: stop...ignorado\n" - -#~ msgid "demux_avi: AVI_init failed (AVI_errno: %d)\n" -#~ msgstr "demux_avi: AVI_init falhou (AVI_errno: %d)\n" - -#~ msgid "demux_elem: can't create new thread (%s)\n" -#~ msgstr "demux_elem: não consigo criar um novo thread (%s)\n" - -#~ msgid "How how - something wrong in wonderland demux:read_bytes (%d)\n" -#~ msgstr "" -#~ "Ha Ha - alguma coisa errada no país das maravilhas demux:read_bytes (%d)\n" - -#~ msgid "demux loop finished (status: %d, buf:%x)\n" -#~ msgstr "demux loop terminado (status: %d, buf:%x)\n" - -#~ msgid "demux_mpeg: stop...\n" -#~ msgstr "demux_mpeg: stop...\n" - -#~ msgid "demux_mpeg: can't create new thread (%s)\n" -#~ msgstr "demux_mpeg: não consigo criar um novo thread (%s)\n" - -#~ msgid "demux_mpeg_block: read_block failed\n" -#~ msgstr "demux_mpeg_block: read_block falhou\n" - -#~ msgid "demux_mpeg_block: checking if we can branch to %s\n" -#~ msgstr "demux_mpeg_block: checando se podemos ramificar para %s\n" - -#~ msgid "demux_mpeg_block: branching\n" -#~ msgstr "demux_mpeg_block: ramificando\n" - -#~ msgid "demux_mpeg_block: error! %02x %02x %02x (should be 0x000001) \n" -#~ msgstr "demux_mpeg_block: erro! %02x %02x %02x (deveria ser 0x000001) \n" - -#~ msgid "illegal lpcm sample format (%d), assume 16-bit samples\n" -#~ msgstr "" -#~ "formato de amostras lpcm ilegal (%d), assumindo amostras de 16-bits\n" - -#~ msgid "demux_mpeg_block: error %02x %02x %02x (should be 0x000001) \n" -#~ msgstr "demux_mpeg_block: erro %02x %02x %02x (deveria ser 0x000001) \n" - -#~ msgid "demux_mpeg_block: stop...ignored\n" -#~ msgstr "demux_mpeg_block: stop...ignorado\n" - -#~ msgid "demux_mpeg_block: can't create new thread (%s)\n" -#~ msgstr "demux_mpeg_block: não consigo criar um novo thread (%s)\n" - -#~ msgid "demux_mpeg_block: mrl %s is new, will estimated bitrate\n" -#~ msgstr "demux_mpeg_block: mrl %s é nova, vou estimar a taxa de bits\n" - -#~ msgid "demux_mpeg_block: mrl %s is known, estimated bitrate: %d\n" -#~ msgstr "demux_mpeg_block: mrl %s é conhecida, taxa de bits estimada: %d\n" - -#~ msgid "demux_mpgaudio: can't create new thread (%s)\n" -#~ msgstr "demux_mpgaudio: não consigo criar um novo thread (%s)\n" - -#~ msgid "demux_pes: stop...\n" -#~ msgstr "demux_pes: stop...\n" - -#~ msgid "demux_pes: can't create new thread (%s)\n" -#~ msgstr "demux_pes: não consigo criar um novo thread (%s)\n" - -#~ msgid "Header not compressed with zlib\n" -#~ msgstr "Cabeçalho não comprimido com zlib\n" - -#~ msgid "QT cmov: malloc err 0" -#~ msgstr "QT cmov: malloc err 0" - -#~ msgid "QT cmov: read err tlen %llu\n" -#~ msgstr "QT cmov: read err tlen %llu\n" - -#~ msgid "QT cmov: malloc err moov_sz %u\n" -#~ msgstr "QT cmov: malloc err moov_sz %u\n" - -#~ msgid "QT cmov: inflateInit err %d\n" -#~ msgstr "QT cmov: inflateInit err %d\n" - -#~ msgid "QT cmov inflate: ERR %d\n" -#~ msgstr "QT cmov inflate: ERR %d\n" - -#~ msgid "demux_qt: quicktime_open: error in header\n" -#~ msgstr "demux_qt: quicktime_open: erro no cabeçalho\n" - -#~ msgid "demux_qt: stop...ignored\n" -#~ msgstr "demux_qt: stop...ignorado\n" - -#~ msgid "demux_qt: unknown audio codec >%s<\n" -#~ msgstr "demux_qt: audio codec desconhecido >%s<\n" - -#~ msgid "" -#~ "demux_ogg: beginning of stream\n" -#~ "demux_ogg: serial number %d\n" -#~ msgstr "" -#~ "demux_ogg: início de stream\n" -#~ "demux_ogg: número de série %d\n" - -#~ msgid "demux_ogg: found a new stream, serialnumber %d\n" -#~ msgstr "demux_ogg: achei um novo stream, número de série %d\n" - -#~ msgid "demux_ogg: stop...ignored\n" -#~ msgstr "demux_ogg: stop...ignorado\n" - -#~ msgid "demux_ogg: can't create new thread (%s)\n" -#~ msgstr "demux_ogg: não consigo criar um novo thread (%s)\n" - -#~ msgid "demux_asf: end of data\n" -#~ msgstr "demux_asf: final dos dados\n" - -#~ msgid "demux_asf: wavex header is %d bytes long\n" -#~ msgstr "demux_asf: cabeçalho wavex tem %d bytes\n" - -#~ msgid "demux_asf: unknown video format %.4s\n" -#~ msgstr "demux_asf: formato de vídeo desconhecido %.4s\n" - -#~ msgid "demux_asf: file doesn't start with an asf header\n" -#~ msgstr "demux_asf: o arquivo não começa com um cabeçalho asf\n" - -#~ msgid "demux_asf: audio conceal interleave detected (%d x %d x %d)\n" -#~ msgstr "demux_asf: detectado um audio conceal interleave (%d x %d x %d)\n" - -#~ msgid "demux_asf: absolute size ignored\n" -#~ msgstr "demux_asf: tamanho absoluto ignorado\n" - -#~ msgid "demux_asf: buffer overflow on defrag!\n" -#~ msgstr "demux_asf: buffer overflow on defrag!\n" - -#~ msgid "demux_asf: get_packet failed\n" -#~ msgstr "demux_asf: get_packet falhou\n" - -#~ msgid "demux_asf: unknow segtype %x\n" -#~ msgstr "demux_asf: segtype desconhecido%x\n" - -#~ msgid "demux_asf: stop...ignored\n" -#~ msgstr "demux_asf: stop...ignorado\n" - -#~ msgid "demux_asf: can't create new thread (%s)\n" -#~ msgstr "demux_asf: não consigo criar um novo thread (%s)\n" - -#~ msgid "demux_cda: stop...ignored\n" -#~ msgstr "demux_cda: stop...ignorado\n" - -#~ msgid "demux_cda: can't create new thread (%s)\n" -#~ msgstr "demux_cda: não consigo criar um novo thread (%s)\n" - -#~ msgid "metronom: video stream start...\n" -#~ msgstr "metronom: video stream start...\n" - -#~ msgid "metronom: video stream start ignored\n" -#~ msgstr "metronom: video stream start ignorado\n" - -#~ msgid "metronom: waiting for audio to start...\n" -#~ msgstr "metronom: esperando o audio começar...\n" - -#~ msgid "metronom: video stream end\n" -#~ msgstr "metronom: video stream end\n" - -#~ msgid "metronom: video stream end ignored\n" -#~ msgstr "metronom: video stream end ignorado\n" - -#~ msgid "metronom: waiting for audio to end...\n" -#~ msgstr "metronom: esperando o audio terminar...\n" - -#~ msgid "metronom: audio stream start...\n" -#~ msgstr "metronom: audio stream start...\n" - -#~ msgid "metronom: audio stream start ignored\n" -#~ msgstr "metronom: audio stream start ignorado\n" - -#~ msgid "metronom: audio stream start...done\n" -#~ msgstr "metronom: audio stream start...feito\n" - -#~ msgid "metronom: waiting for video to end...\n" -#~ msgstr "metronom: esperando o video terminar...\n" - -#~ msgid "metronom: video discontinuity #%d\n" -#~ msgstr "metronom: descontinuidade de video #%d\n" - -#~ msgid "metronom: waiting for audio discontinuity #%d\n" -#~ msgstr "metronom: esperando a descontinuidade de audio #%d\n" - -#~ msgid "metronom: video vpts adjusted to %d\n" -#~ msgstr "metronom: video vpts adjustado para %d\n" - -#~ msgid "metronom: audio/video vpts too old, adjusted to %d\n" -#~ msgstr "metronom: audio/video vpts velho demais, adjustado para %d\n" - -#~ msgid "" -#~ "metronom: video pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" -#~ msgstr "" -#~ "metronom: video pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" - -#~ msgid "metronom: forcing video_wrap (%d) and audio wrap (%d)" -#~ msgstr "metronom: forcing video_wrap (%d) and audio wrap (%d)" - -#~ msgid " to %d\n" -#~ msgstr " to %d\n" - -#~ msgid "metronom: delta too big, setting vpts to %d\n" -#~ msgstr "metronom: delta too big, setting vpts to %d\n" - -#~ msgid "metronom: audio discontinuity #%d\n" -#~ msgstr "metronom: discontinuidade de audio #%d\n" - -#~ msgid "metronom: waiting for video_discontinuity #%d\n" -#~ msgstr "metronom: esperando por discontinuidade de vídeo #%d\n" - -#~ msgid "metronom: audio vpts adjusted to %d\n" -#~ msgstr "metronom: audio vpts adjustado para %d\n" - -#~ msgid "" -#~ "metronom: audio pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" -#~ msgstr "" -#~ "metronom: audio pts discontinuity/start, pts is %d, wrap_offset is %d, " -#~ "vpts is %d\n" - -#~ msgid "to %d\n" -#~ msgstr "to %d\n" - -#~ msgid "metronom: av_offset=%d pts\n" -#~ msgstr "metronom: av_offset=%d pts\n" - -#~ msgid "metronom: panic - no scr provider found!\n" -#~ msgstr "metronom: panic - no scr provider found!\n" - -#~ msgid "metronom: cannot create sync thread (%s)\n" -#~ msgstr "metronom: não consigo criar um sync thread (%s)\n" - -#~ msgid "video_out : ALERT! frame is already locked for displaying\n" -#~ msgstr "video_out : ALERTA! frame já está trancado para mostar\n" - -#~ msgid "video_out: rejected, %d frames to skip\n" -#~ msgstr "video_out: rejeitado, %d frames para pular\n" - -#~ msgid "xine_play: xine open %s, start pos = %d, start time = %d (sec)\n" -#~ msgstr "xine_play: xine open %s, start pos = %d, start time = %d (sec)\n" - -#~ msgid "inputs" -#~ msgstr "entradas" - -#~ msgid "demuxers" -#~ msgstr "demuxers" - -#~ msgid "video" -#~ msgstr "video" - -#~ msgid "video_out : vo_open : warning! video thread already running\n" -#~ msgstr "video_out : vo_open : aviso! video thread já está rodando\n" - -#~ msgid "xine_init entered\n" -#~ msgstr "xine_init entrou\n" - -#~ msgid "xine_init returning\n" -#~ msgstr "xine_init retornou\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: xine-lib 1.0\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2004-09-15 13:53+0100\n" "Last-Translator: \n" "Language-Team: Slovak <ski18n@lists.isternet.sk>\n" @@ -56,6 +56,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() z %s zlyhal: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "audio_alsa_out: >>> skontrolujte či už iný program používa PCM <<<\n" @@ -286,191 +287,191 @@ msgstr "výstupný xine audio plugin používa kde artsd" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "výstupný xine audio plugin pre win32 používa directx" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 #, fuzzy msgid "requested buffer control is not available" msgstr "požadované tlačidlo nedostupné\n" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 #, fuzzy msgid "requested COM interface not available" msgstr "požadované tlačidlo nedostupné\n" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 #, fuzzy msgid "unknown error" msgstr "Udalosť neznámeho typu: " -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "" -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "" -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "" -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, fuzzy, c-format msgid ": can't create pthread condition: %s\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, fuzzy, c-format msgid ": can't create pthread mutex: %s\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, fuzzy, c-format msgid ": can't create buffer pthread: %s\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, fuzzy, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr "" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, fuzzy, c-format msgid ": unknown control command %d\n" msgstr "iff-ilbm: neznáma kompresia: %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 #, fuzzy msgid "second xine audio output plugin using directx" msgstr "výstupný xine audio plugin pre win32 používa directx" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "výstupný xine audio plugin pre win32 používa directx" @@ -480,6 +481,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: pripájanie na ESD server %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: pripájanie na esd server ...\n" @@ -598,10 +600,12 @@ msgstr "" "sound/dsp). Rozsah čísla je -1 alebo 0-15." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, skúšam devs\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Automatické hľadanie audio zar. zlyhalo\n" @@ -655,6 +659,7 @@ msgid "" msgstr "" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -768,12 +773,13 @@ msgstr "ffmpeg_audio_dec: zväčšujem buffer na %d aby sa predišlo pretečeniu msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_audio_dec: nenašiel ffmpeg dekóder pre buf typu 0x%X\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 -#, fuzzy +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, fuzzy, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: nemôžem otvoriť dekóder\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: nemôžem otvoriť dekóder\n" @@ -782,39 +788,42 @@ msgstr "ffmpeg_audio_dec: nemôžem otvoriť dekóder\n" msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_audio_dec: zväčšujem buffer na %d aby sa predišlo pretečeniu.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: nepodporovaný formát snímku, DR1 nepovolený.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 -#, fuzzy +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, fuzzy, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "ffmpeg_video_dec: nepodporovaný formát snímku, DR1 nepovolený.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_video_dec: nenájdený ffmpeg dekóder pre buf typu 0x%X\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: nedá sa otvoriť dekóder\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: priame vykreslovanie zapnuté\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "ffmpeg_video_dec: zväčšujem buffer na %d aby sa predišlo pretečeniu.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 #, fuzzy msgid "MPEG-4 postprocessing quality" msgstr "kvalita ffmpeg mpeg-4 postspracovania" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -823,11 +832,11 @@ msgid "" "much." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" "Higher values should speed up decoding but it depends on the codec used " @@ -836,11 +845,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -850,11 +859,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -955,6 +964,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "" @@ -979,6 +989,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: neznámy blok: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "" @@ -992,6 +1003,7 @@ msgstr "" "tvorcom xine.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "demux_mpeg_block: chyba! uvoľňujem. Prosím nahláste to tvorcom xine.\n" @@ -1011,7 +1023,7 @@ msgstr "" "demux_mpeg_block: varovanie: hlavička PES indikuje, že tento prúd môže byť " "zašifrovaný (režim šifrovania %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1020,18 +1032,18 @@ msgstr "" "xine-lib:demux_mpeg_pes: Nerozoznaný stream_id 0x%02x. Prosím nahláste to " "tvorcom xine.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "demux_mpeg_pes: varovanie: dekódovanie PACK prúdu id=0x%x zlyhalo.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "" "demux_mpeg_pes: varovanie: rezervovaných 10 bit hlavičky PES nenajdené\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1040,7 +1052,7 @@ msgstr "" "demux_mpeg_pes: varovanie: hlavička PES indikuje, že tento prúd môže byť " "zašifrovaný (režim šifrovania %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1066,6 +1078,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: nepodporovaný typ zvuku: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "" @@ -1107,6 +1120,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: Zlyhalo otvorenie zariadenia titulkov %s (%s)\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "požadované tlačidlo nedostupné\n" @@ -1176,6 +1190,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Zlyhalo otvorenie video zariadenia %s (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: zápis na zariadenie by blokoval. vyprázdňujem\n" @@ -1190,16 +1205,19 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: WARNING: neznámy kód rýchlosti snímkov %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" "dxr3_decode_video: VAROVANIE: korigujem snímk. rýchlosť z PAL na NTSC\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: init librte zlyhal\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1207,10 +1225,12 @@ msgstr "" "dxr3_mpeg_encoder: rte pracuje iba s rozmermi videa, ktoré sú násobkami 16\n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: zlyhalo získanie rte kontextu.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: nemohol vytvoriť kodec.\n" @@ -1239,6 +1259,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: nemožno začať kódovanie: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: Nešlo naštartovať FAME knižnicu\n" @@ -1328,18 +1349,22 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "video_out_dxr3: Mpeg kóder libavcodec nešiel spustiť.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: Mpeg kóder rte nešiel spustiť.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: Mpeg kóder fame nešiel spustiť.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1357,6 +1382,7 @@ msgstr "" "kódera.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1447,6 +1473,7 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: prosím spustite autocal, prekrývanie zakázané\n" @@ -1466,10 +1493,12 @@ msgid "" msgstr "" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: nastavenie video módu zlyhalo.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1478,6 +1507,7 @@ msgstr "" "video_out_dxr3: Čítajte README.dxr3 kôli detailom.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: CHYBA Čítania init súboru prekrývania. Spustite autocal!\n" @@ -1583,157 +1613,166 @@ msgstr "input_dvb: zlyhalo otvorenie súboru dvb kanála '%s'\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: zlyhalo otvorenie súboru dvb kanála '%s'\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: tuner_set_channel zlyhal\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: nemožno otvoriť dvb zariadenie\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, fuzzy, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: zlyhalo otvorenie súboru dvb kanála '%s'\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, fuzzy, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: zlyhalo otvorenie súboru dvb kanála '%s'\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" msgstr "" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" msgstr "" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" msgstr "" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" msgstr "" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: nemožno otvoriť dvr zariadenie '%s'\n" -#: src/input/input_dvb.c:3012 -#, fuzzy +#: src/input/input_dvb.c:3016 +#, fuzzy, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." msgstr "" -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "DVB (Digital TV) vstupný modul" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " msgstr "" -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "" -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." msgstr "" -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "" -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "" -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "" @@ -1742,26 +1781,27 @@ msgstr "" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: Chyba pri získavaní ďaľšieho bloku z DVD (%s)\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: Nemožno otvoriť DVD zariadenie\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 #, fuzzy msgid "device used for DVD playback" msgstr "zariadenie pre mono výstup" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." msgstr "" -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1772,23 +1812,23 @@ msgid "" "See the documentation on raw device setup (man raw) for further information." msgstr "" -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " "scrambled DVDs." msgstr "" -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 #, fuzzy msgid "path to the title key cache" msgstr "cesta k video zariadeniu v4l" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -1797,45 +1837,45 @@ msgid "" "used for anything but DVD key caching." msgstr "" -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " "DVD drives, this is purely software." msgstr "" -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" "The value must be a two character ISO639 language code." msgstr "" -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 #, fuzzy msgid "read-ahead caching" msgstr "Použijeme kešovanie predčítaním?" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " "of the DVD layer change on faster drives." msgstr "" -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -1854,11 +1894,11 @@ msgid "" "features on the DVD" msgstr "" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -1872,11 +1912,11 @@ msgid "" "chapter of the current feature" msgstr "" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -1888,49 +1928,49 @@ msgid "" "play just the specified title/chapter and then stop" msgstr "" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: chyba pri čítaní (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, fuzzy, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_rip: skok zlyhal: %s\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, fuzzy, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: chyba pri čítaní (%s)\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, fuzzy, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: chyba pri čítaní (%s)\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "modul vstupu zo súboru" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "začiatočné miesto prehliadania súborov" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "" -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "zobraziť skryté súbory" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." msgstr "" -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "modul vstupu gnome-vfs dodávaný so xine" @@ -1939,86 +1979,86 @@ msgstr "modul vstupu gnome-vfs dodávaný so xine" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_rip: skok zlyhal: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: chyba pri čítaní %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "Pripájam sa na HTTP server..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: neplatná odpoveď http\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: presmerovanie 3xx: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: stav http nie je 2xx: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, fuzzy, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: dĺžka obsahu = %Ld bajtov\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, fuzzy, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: chyba pri čítaní %d\n" -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "modul vstupu zo siete protokolom http" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 #, fuzzy msgid "HTTP proxy host" msgstr "adresa http proxy" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 #, fuzzy msgid "HTTP proxy port" msgstr "port http proxy" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "" -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 #, fuzzy msgid "HTTP proxy username" msgstr "meno používateľa pre http proxy" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 #, fuzzy msgid "HTTP proxy password" msgstr "heslo pre http proxy" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "" -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2026,27 +2066,27 @@ msgid "" "(full match required)." msgstr "" -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "modul vstupu zo siete protokolom mms" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 #, fuzzy msgid "network bandwidth" msgstr "Sieťové prenosové pásmo" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " "requirements of the same stream." msgstr "" -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "MMS protokol" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 #, fuzzy msgid "" "Select the protocol to encapsulate MMS.\n" @@ -2075,51 +2115,53 @@ msgstr "input_net: nemožno zistiť adresu '%s'.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: nemožno sa pripojiť k '%s'.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "modul vstupu zo siete dodávaný so xine" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "modul vstupu z prúdu pnm" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: nedá sa vytvoriť pvr súbor (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: nedá sa otvoriť pvr súbor (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: chyba pri čítaní (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: nemožno otvoriť zariadenie %s\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_G_CODEC zlyhal, možno sa API zmenilo?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "input_pvr: IVTV_IOC_S_CODEC zlyhal, možno sa API zmenilo?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "modul vstupu z WinTV-PVR 250/350" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "zariadenie použité pre WinTV-PVR 250/350 (pvr modul)" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "" @@ -2174,117 +2216,119 @@ msgstr "nemožno sa naviazať k '%s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: zastavujem čítacie vlákno...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: čítacie vlákno ukončené\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Otváranie >súbor:%s port:%d rozhranie:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "modul vstupu zo siete protokolom RTP a UDP dodávaný s xine" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "modul vstupu zo siete protokolom rtsp" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, fuzzy, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: nemôžem skočiť späť! (%lld > %lld)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: nemožno otvoriť '%s'\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "modul vstupu zo štandard. vstupu" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Buffer dáta odtiekli..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Buffer pretiekol..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Prispôsobovanie sa..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Meno tuneru nenájdené\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "modul vstupu z tv v4l" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "modul vstupu z rádia v4l" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 #, fuzzy msgid "v4l video device" msgstr "cesta k video zariadeniu v4l" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 #, fuzzy msgid "The path to your Video4Linux video device." msgstr "cesta k video zariadeniu v4l" -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "cesta k rádio zariadeniu v4l" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "cesta k video zariadeniu v4l" -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 #, fuzzy msgid "v4l radio device" msgstr "cesta k rádio zariadeniu v4l" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 #, fuzzy msgid "The path to your Video4Linux radio device." msgstr "cesta k rádio zariadeniu v4l" #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: neplatné MRL. Použite vcdo:/<číslo stopy>\n" @@ -2297,22 +2341,22 @@ msgstr "input_vcd: neplatná stopa %d (platný rozsah: 0..%d)\n" msgid "Video CD input plugin" msgstr "modul vstupu z Video CD" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "nemožno otvoriť %s: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: nemožno otvoriť %s: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 #, fuzzy msgid "device used for VCD playback" msgstr "zariadenie pre mono výstup" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2334,11 +2378,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: nemožno sa pripojiť k servru %s\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: nemožno zaviesť reláciu\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2360,6 +2405,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "Pripájanie k MMS serveru (cez tcp)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: chyba posielania\n" @@ -2416,6 +2462,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: nemožno sa pripojiť k '%s'\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: zlyhalo nastavenie prúdu dát\n" @@ -2636,6 +2683,7 @@ msgid "" msgstr "" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "POMOC! iba mono audio ovládač?!\n" @@ -2678,17 +2726,17 @@ msgid "" msgstr "" #: src/libfaad/xine_faad_decoder.c:132 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad faacDecOpen() zlyhal.\n" #: src/libfaad/xine_faad_decoder.c:141 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad faacDecInit2() zlyhal.\n" #: src/libfaad/xine_faad_decoder.c:152 -#, fuzzy +#, fuzzy, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad faacDecInit() zlyhal.\n" @@ -2698,10 +2746,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "" @@ -2726,6 +2776,7 @@ msgid "" msgstr "" #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "libreal: Chyba hľadania symbolov! (nekompatibilita verzii?)\n" @@ -2745,61 +2796,62 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "libareal: chutné nastavenie dekódera zlyhalo, kód chyby: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: ach, real môže mať viac ako 2 kanály ?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 #, fuzzy msgid "display closed captions in MPEG-2 streams" msgstr "Povoliť skyté titulky v MPEG-2 prúdoch" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 #, fuzzy msgid "closed-captioning foreground/background scheme" msgstr "Schéma skrytých titulkov popredie/pozadie" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "" -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 #, fuzzy msgid "standard closed captioning font" msgstr "Štandardný font skrytých titulkov" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 #, fuzzy msgid "italic closed captioning font" msgstr "Font kurzívy skrytých titulkov" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 #, fuzzy msgid "closed captioning font size" msgstr "Veľkosť fontu skrytých titulkov" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "" -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 #, fuzzy msgid "center-adjust closed captions" msgstr "Prispôsobenie centrovania skrytých titulkov" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3022,6 +3074,7 @@ msgid "" msgstr "" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr "" @@ -3033,6 +3086,7 @@ msgstr[0] "" msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr "" @@ -3046,7 +3100,7 @@ msgid "" "the variations via the standard weighted mean over past samples.\n" msgstr "" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 #, fuzzy msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" @@ -3061,6 +3115,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3154,7 +3211,8 @@ msgstr "" "\n" "* Používa niektoré algoritmy z tvtime a dscaler projektu.\n" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Žiadna metóda odprekladania nie je dostupná, končím.\n" @@ -3465,7 +3523,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "výstupný modul xine s použitím ascii-art knižnice" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "výstupný video modul použitím Color AsCii Art knižnice" @@ -3532,25 +3590,27 @@ msgid "" msgstr "" #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "" #: src/video_out/video_out_directfb.c:1526 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_vidix: karta podporuje yuy2 formát\n" #: src/video_out/video_out_directfb.c:1535 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_syncfb: info. (SyncFB modul podporuje YUY2)\n" #: src/video_out/video_out_directfb.c:1542 -#, fuzzy +#, fuzzy, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_syncfb: info. (SyncFB modul podporuje YUY2)\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3566,10 +3626,12 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3595,6 +3657,7 @@ msgid "xine video output plugin using DirectFB." msgstr "výstupný modul xine s použitím DirectFB knižnice." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "" @@ -3603,7 +3666,7 @@ msgstr "" msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "výstupný modul xine s použitím DirectFB knižnice." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "výstupný video modul pre win32 použitím directx" @@ -3630,6 +3693,7 @@ msgid "" msgstr "" #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Váš video mód nebol rozpoznaný, prepáčte.\n" @@ -3651,6 +3715,7 @@ msgstr "" " rozlíšenia bufferu snímkov môže pomôcť.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -3741,6 +3806,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "výstupný xine video modul, ktorý používa OpenGL - TNG" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "" @@ -3755,7 +3821,7 @@ msgid "video_out_pgx32: Error: '%s' is not a pgx32 framebuffer device\n" msgstr "" #: src/video_out/video_out_pgx64.c:278 -#, fuzzy +#, fuzzy, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "video_out_pgx64: Chyba: nedostatočná veľkosť video pamäte\n" @@ -3777,33 +3843,36 @@ msgid "" msgstr "" #: src/video_out/video_out_pgx64.c:337 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" "video_out_pgx64: Varovanie: málo video pamäte, multi-buffering zakázaný\n" #: src/video_out/video_out_pgx64.c:352 -#, fuzzy +#, fuzzy, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Chyba: nedostatočná veľkosť video pamäte\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Varovanie: málo video pamäte, multi-buffering zakázaný\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Chyba: nedostatočná veľkosť video pamäte\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Varovanie: málo video pamäte, dvoj-buffering zakázaný\n" #: src/video_out/video_out_pgx64.c:1394 -#, fuzzy +#, fuzzy, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Chyba: nedostatočná veľkosť video pamäte\n" @@ -3851,10 +3920,12 @@ msgid "" msgstr "" #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "sdl musí emulovať 16 bitové povrchy, to všetko spomalí.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: plnoobrazovkový mód NIE JE podporovaný\n" @@ -3867,36 +3938,44 @@ msgid "xine video output plugin using the Libstk Surface Set-top Toolkit" msgstr "výstupný video modul použitím Libstk Surface Set-top Toolkit" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "video_out_syncfb: chyba. (YUY2 nepodporovaný vašou video kartou)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "video_out_syncfb: chyba. (YV12 nepodporované vašou graf. kartou)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: info. (SyncFB modul podporuje YUV 4:2:0 (3 roviny))\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: info. (SyncFB modul podporuje YUV 4:2:0 (2 roviny))\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "video_out_syncfb: info. (SyncFB modul podporuje YUV 4:2:2)\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "video_out_syncfb: info. (SyncFB modul podporuje YUY2)\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "video_out_syncfb: info. (SyncFB modul podporuje RGB565)\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -3904,6 +3983,7 @@ msgstr "" "video_out_syncfb: ruší sa. (SyncFB modul nepodporuje YV12, YUY2 ani RGB565)\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -3974,18 +4054,22 @@ msgid "" msgstr "" #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: karta podporuje yuy2 formát\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: karta podporuje yv12 formát\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: Máte zlú verziu knižnice VIDIX\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: Nemôžem nájsť funkčný VIDIX ovládač\n" @@ -4027,7 +4111,7 @@ msgstr "" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xcbshm.c:159 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4037,7 +4121,7 @@ msgstr "" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xcbshm.c:170 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4061,13 +4145,13 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: rozšírenie zdielanej pamäte MIT neprítomné na obrazovke.\n" #: src/video_out/video_out_xcbshm.c:1213 -#, fuzzy +#, fuzzy, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: váš video mód nebol rozoznaný, prepáčte :-(\n" @@ -4075,8 +4159,8 @@ msgstr "video_out_xshm: váš video mód nebol rozoznaný, prepáčte :-(\n" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "výstupný video xine modul použitím rozšírenia zdielanej pamäte MIT X" -#: src/video_out/video_out_xcbxv.c:266 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:270 +#, fuzzy, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4084,7 +4168,7 @@ msgstr "" "video_out_xv: XvShmCreateImage vrátila nulovú veľkosť\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, fuzzy, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4093,8 +4177,8 @@ msgstr "" "video_out_xv: chyba zdielanej pamäte v shmget: %s\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:294 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:298 +#, fuzzy, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4102,19 +4186,24 @@ msgstr "" "video_out_xv: x11 chyba pri vytváraní zdielanej pamäte XImage\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xcbxv.c:1375 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1354 +#, fuzzy, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xv: Xv rozšírenie neprítomné.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, fuzzy, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4125,7 +4214,7 @@ msgstr "" "port.\n" " Vyzerá to tak, že vaša grafická karta nepodoruje Xv?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, fuzzy, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4134,11 +4223,11 @@ msgstr "" "video_out_xv: používam Xv port %ld z adaptéru %s pre hardvérovú konverziu " "farebného priestoru a škálovania.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 msgid "" "This option will synchronize the update of the video image to the repainting " "of the entire screen (\"vertical retrace\"). This eliminates flickering and " @@ -4146,23 +4235,23 @@ msgid "" "\" and choose which display device to sync to under the XVideo Settings tab" msgstr "" -#: src/video_out/video_out_xcbxv.c:1582 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1579 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tento adaptér podporuje yv12 formát.\n" -#: src/video_out/video_out_xcbxv.c:1587 -#, fuzzy +#: src/video_out/video_out_xcbxv.c:1584 +#, fuzzy, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tento adaptér podporuje yuy2 formát.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4200,12 +4289,13 @@ msgid "" "with medium CPU usage." msgstr "" -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "výstupný video xine modul použitím MIT X video rozšírenia" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4223,6 +4313,7 @@ msgstr "" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4231,6 +4322,7 @@ msgstr "" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4239,15 +4331,18 @@ msgstr "" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: rozšírenie zdielanej pamäte MIT neprítomné na obrazovke.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: váš video mód nebol rozoznaný, prepáčte :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4255,7 +4350,8 @@ msgstr "" "video_out_xv: XvShmCreateImage zlyhala\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4263,7 +4359,7 @@ msgstr "" "video_out_xv: XvShmCreateImage vrátila nulovú veľkosť\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4272,7 +4368,8 @@ msgstr "" "video_out_xv: chyba zdielanej pamäte v shmget: %s\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4280,11 +4377,18 @@ msgstr "" "video_out_xv: x11 chyba pri vytváraní zdielanej pamäte XImage\n" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Xv rozšírenie neprítomné.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4294,7 +4398,7 @@ msgstr "" "port.\n" " Vyzerá to tak, že vaša grafická karta nepodoruje Xv?!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4303,23 +4407,27 @@ msgstr "" "video_out_xv: používam Xv port %ld z adaptéru %s pre hardvérovú konverziu " "farebného priestoru a škálovania.\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tento adaptér podporuje yv12 formát.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tento adaptér podporuje yuy2 formát.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "výstupný video xine modul použitím XvMC X video rozšírenia" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: XvMC rozšírenie neprítomné.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4327,7 +4435,7 @@ msgstr "" "video_out_xvmc: Xv rozšírenie je prítomné, ale nenašiel som použiteľný yuv12 " "port.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4336,25 +4444,28 @@ msgstr "" "video_out_xvmc: používam Xv port %ld z adaptéru %s\n" " pre hardvérovú konverziu farebného priestoru a škálovania\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " idct a akcelerácia kompenzácie pohybu \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " iba akcelerácia kompenzácie pohybu\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " žiadna XvMC podpora \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " S Prekrývaním = %d; UnsignedIntra = %d.\n" #: src/video_out/video_out_xxmc.c:639 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4363,7 +4474,7 @@ msgstr "" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xxmc.c:649 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4381,7 +4492,7 @@ msgstr "" "video_out_xv: => nepoužívam rozšírenie MIT Shared Memory.\n" #: src/video_out/video_out_xxmc.c:689 -#, fuzzy +#, fuzzy, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4389,13 +4500,13 @@ msgstr "" "video_out_xshm: x11 chyba pri vytváraní zdielanej pamäte XImage\n" "video_out_xshm: => nepoužívam rozšírenie MIT Shared Memory.\n" -#: src/video_out/video_out_xxmc.c:2436 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2432 +#, fuzzy, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xvmc: XvMC rozšírenie neprítomné.\n" -#: src/video_out/video_out_xxmc.c:2474 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2476 +#, fuzzy, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4405,7 +4516,7 @@ msgstr "" "port.\n" " Vyzerá to tak, že vaša grafická karta nepodoruje Xv?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, fuzzy, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4414,91 +4525,94 @@ msgstr "" "video_out_xv: používam Xv port %ld z adaptéru %s pre hardvérovú konverziu " "farebného priestoru a škálovania.\n" -#: src/video_out/video_out_xxmc.c:2641 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2649 +#, fuzzy, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: tento adaptér podporuje yv12 formát.\n" -#: src/video_out/video_out_xxmc.c:2646 -#, fuzzy +#: src/video_out/video_out_xxmc.c:2654 +#, fuzzy, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: tento adaptér podporuje yuy2 formát.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" "allocate 15 frames. A must for unichrome and live VDR.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" "Experimental.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "" -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" "look blue and vice versa. This option provides a workaround.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "" -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "" -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" msgstr "" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "" -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" msgstr "" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: XShape rozšírenie nedostupné. Prekrývanie bez zmien merítka " "zakázané.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: chyba vytvorenia okna. Prekrývanie bez zmien merítka zakázané.\n" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: chyba vytvorenia mapy bodov. Prekrývanie bez zmien merítka " @@ -4556,17 +4670,27 @@ msgstr "" msgid "Some buggy video drivers need a workaround to function properly." msgstr "" -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +msgid "bicubic filtering" +msgstr "" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "" @@ -4602,24 +4726,28 @@ msgid "" msgstr "" #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" #: src/xine-engine/audio_out.c:1249 -#, fuzzy +#, fuzzy, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "zápis na zvukovú kartu zlyhal. Bolo odpojené USB zariadenie ?\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "8 bitov nepodporované ovládačom, konvertujem na 16bitov.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "mono nepodporované ovládačom, konvertujem na stereo.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "stereo nepodporované ovládačom, konvertujem na mono.\n" @@ -4719,6 +4847,7 @@ msgstr "" "ak toto nie je nastavené, xine sa nedotkne pri štarte nastavenia mixéru" #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "audio_out: prepáč, toto sa nemalo stať, prosím reštartuj xine.\n" @@ -4727,42 +4856,43 @@ msgstr "audio_out: prepáč, toto sa nemalo stať, prosím reštartuj xine.\n" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "Aktuálny konfiguračný súbor bol modifikovaný novou verziou xine." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "configfile: VAROVANIE: záloha konf.súboru do %s zlyhala\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: VAROVANIE: vaša konfigurácia nebude uložená\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: VAROVANIE: zápis konfigurácie %s zlyhal\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "configfile: VAROVANIE: odstraňujem možno poškodený konf. súbor %s\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: VAROVANIE: mali by ste skontrolovať záložný súbor %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: položka '%s' nesmie byť modifikovaná z MRL\n" #: src/xine-engine/info_helper.c:228 -#, fuzzy +#, fuzzy, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "osd: nemôžem zistiť aktuálnu kódovú stánku\n" @@ -5017,6 +5147,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: zlyhalo načítanie výstupného audio modulu <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5033,50 +5164,52 @@ msgstr "" "load_plugins: nemožno otvoriť knižnicu modulov %s:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "font '%s-%d' už načítaný, divné.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "načítanie fontu '%s' zlyhalo (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "zlá verzia fontu '%s'. očakávaná %d nájdená %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: nemôžem inicializovať ft2 knižnicu\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, fuzzy, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: chyba načítania fontu %s s ft2\n" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, fuzzy, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: chyba načítania fontu %s s ft2\n" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, fuzzy, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: chyba načítania fontu %s s ft2\n" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: chyba načítania fontu %s s ft2\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "osd: chyba pri nastavení veľkosti fontu (neškálovateľný font?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5085,42 +5218,47 @@ msgstr "" "osd: neznáma sekvencia začínajúca s bytom 0x%02X v kódovaní \"%s\", " "preskakujem\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: nemôžem zistiť aktuálnu kódovú stánku\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: nepodporovaná konverzia %s -> %s, nebude vykonaná žiadna\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: font nie je definovaný\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: chyba zavedenia glyph\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: chyba pri vykreslovaní glyph\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: chyba zavedenia glyph %i\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: chyba pri vykreslovaní\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 #, fuzzy msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "Paleta (popredie-okraj-pozadie) použitá na titulky" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5193,6 +5331,7 @@ msgid "" msgstr "" #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "video_out: prepáč, toto sa nemalo stať, reštartuj xine.\n" @@ -5242,6 +5381,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: chyba pri spracovaní mrl\n" @@ -5271,6 +5411,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: pripojený rip vstupný modul\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: chyba otvorenia modulu vstupu rip\n" @@ -5280,18 +5421,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: last_probed demultiplexor %s nenaštartoval\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "ignorujem video\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "ignorujem audio\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "ignorujem titulky\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "" @@ -5301,6 +5446,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "mrl titulkov otvorené '%s'\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: nemožno otvoriť mrl titulkov\n" @@ -5359,6 +5505,7 @@ msgid "The specified save_dir might be a security risk." msgstr "Špecifikovaný save_dir môže byť bezpečnostným rizikom." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: locale nepodporované vašou C knižnicou\n" @@ -5512,218 +5659,6 @@ msgid "" msgstr "" #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Testovanie výkonnosti memcpy metód (menej je lepšie):\n" - -#~ msgid "demux_asf: Wrong ASX version: %s\n" -#~ msgstr "demux_asf: Zlá verzia ASX: %s\n" - -#, fuzzy -#~ msgid "dvbsub: cannot create timer thread\n" -#~ msgstr "input_rtp: nemožno vytvoriť nové vlákno (%s)\n" - -#~ msgid "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) failed.\n" -#~ msgstr "avcodec_find_decoder (CODEC_ID_MPEG1VIDEO) zlyhal.\n" - -#~ msgid "Do we use read-ahead caching?" -#~ msgstr "Použijeme kešovanie predčítaním?" - -#~ msgid "audio_oss_out: open() %s failed: %s\n" -#~ msgstr "audio_oss_out: open() %s zlyhal: %s\n" - -#, fuzzy -#~ msgid "selection has no DEFAULT entry" -#~ msgstr "výber nemá ďaľšiu položku" - -#~ msgid "device used for 5+ channel output" -#~ msgstr "zariadenie pre 5+ kanálový výstup" - -#~ msgid "used to inform xine about what the sound card can do" -#~ msgstr "použité pre informovanie xine o schopnostiach zvukovej karty" - -#~ msgid "OSS number N to append to audio device name /dev/dsp[N], -1 for none" -#~ msgstr "" -#~ "OSS číslo N na pridanie k názvu audio zariadenia /dev/dsp[N], -1 pre nič" - -#~ msgid "Adjust a/v sync for OSS softsync" -#~ msgstr "Vyladenie a/v synchronizáciu pre OSS softsync" - -#~ msgid "Use this to manually adjust a/v sync if you're using softsync" -#~ msgstr "" -#~ "Použite pre manuálne nastavenie a/v odstupu, ak používate softv. synch." - -#~ msgid "Enable 4.0 channel analog surround output" -#~ msgstr "Povoliť 4.0 kanálový analógový výstup" - -#~ msgid "Enable 5.0 channel analog surround output" -#~ msgstr "Povoliť 5.0 kanálový analógový výstup" - -#~ msgid "Enable 5.1 channel analog surround output" -#~ msgstr "Povoliť 5.1 kanálový analógový výstup" - -#~ msgid "OSS mixer device" -#~ msgstr "zariadenie OSS mixéra" - -#~ msgid "device used for audio output with the 'Sun' audio plugin" -#~ msgstr "zariadenie použité pre audio výstup s 'Sun' audio pluginom" - -#~ msgid "The device file of the dxr3 mpeg decoder card control device." -#~ msgstr "Súbor riadiaceho zariadenia dxr3 karty na dekódovanie MPEG" - -#~ msgid "This is relevant for progressive video only (most PAL films)." -#~ msgstr "Toto je relevantné iba pre progressive video (hlavne PAL filmy)." - -#~ msgid "Enable this for streams with wrong frame durations." -#~ msgstr "Povoľte to pre prúdy so zlou dĺžkou trvania snímku." - -#~ msgid "The encoding quality of the libfame mpeg encoder library." -#~ msgstr "Kvalita mpeg kódovania knižnice libfame." - -#~ msgid "Scr priorities greater 5 make the dxr3 xine's master clock." -#~ msgstr "Priorita SCR väčšia než 5 urobí z dxr3 hlavné hodiny xine" - -#~ msgid "If disabled, will assume source has 4:3 aspect ratio." -#~ msgstr "Ak je zakázané, bude predpokladaný pomer 4:3." - -#~ msgid "" -#~ "Content other than mpeg has to pass an additional reencoding stage, " -#~ "because the dxr3 handles mpeg only." -#~ msgstr "" -#~ "Obsah iný ako mpeg musí prejsť ďaľším stupňom kódovania, lebo dxr3 " -#~ "spracúva iba mpeg." - -#~ msgid "A greater value widens the tolerance for the overlay keycolor" -#~ msgstr "Väčšia hodnota rozšíri toleranciu pre kľ. farbu prekryvania" - -#~ msgid "input_cdda: cannot connect to host.\n" -#~ msgstr "input_cdda: nemožno sa pripojiť k serveru.\n" - -#~ msgid "input_cdda: unable to resolve '%s'.\n" -#~ msgstr "input_cdda: nemožno zistiť adresu '%s'.\n" - -#~ msgid "input_cdda: unable to connect to '%s'.\n" -#~ msgstr "input_cdda: nemožno sa pripojiť k '%s'.\n" - -#~ msgid "use cddb feature" -#~ msgstr "použiť cddb" - -#~ msgid "selection has no return entry" -#~ msgstr "výber nemá návratovú položku" - -#~ msgid "selection has no default entry" -#~ msgstr "výber nemá predvolenú položku" - -#~ msgid "selection has no previous entry" -#~ msgstr "výber nemá predchádzajúcu položku" - -#~ msgid "" -#~ "Format used in the GUI Title. Similar to the Unix date command. Format " -#~ "specifiers that start with a percent sign. Specifiers are same as the " -#~ "title_format." -#~ msgstr "" -#~ "Formát použitý v titulku GUI. Podobá sa zadaniu unixového dátumu. " -#~ "Špecifikátory formátu začínaju znakom percento. Špecifikátory sú tie isté " -#~ "ako pri title_format." - -#~ msgid "path to your local vcd device file" -#~ msgstr "cesta k vášmu lokálnemu vcd súboru zariadenia" - -#~ msgid "a/52 volume control" -#~ msgstr "ovládanie hlasitosti a/52" - -#~ msgid "Relative path to libdivxdecore.so to open" -#~ msgstr "Relatívna cesta na otvorenie k libdivxdecore.so" - -#~ msgid "the postprocessing level, 0 = none and fast, 6 = all and slow" -#~ msgstr "úroveň postspracovania, 0 = žiadne a rýchle, 6 = všetko a pomaly" - -#~ msgid "use divx4 plugin for msmpeg4v3 streams" -#~ msgstr "použiť modul divx4 pre msmpeg4v3 prúdy" - -#~ msgid "Divx version to check for (set to 0 (default) if unsure)" -#~ msgstr "" -#~ "Minimálna verzia divx na použitie (nastavte 0 (predvolené) ak ste si " -#~ "neistý)" - -#~ msgid "" -#~ "The bitrate the libavcodec mpeg encoder should use for dxr3's encoding " -#~ "mode" -#~ msgstr "" -#~ "Bit. rýchlosť, ktorá má byť požitá libavcodec mpeg kóderom pre dx3 " -#~ "kódovací mód" - -#~ msgid "Dxr3enc: Use quantizer instead of bitrate" -#~ msgstr "Dxr3enc: Použiť kvantizér namiesto bit. toku." - -#~ msgid "Dxr3enc: Minimum quantizer" -#~ msgstr "Dxr3enc: Minimálny kvantizer" - -#~ msgid "ffmpeg_video_dec: invalid/unknown frame rate code: %d \n" -#~ msgstr "ffmpeg_video_dec: neplatný/neznámy kód rýchlosti snímkov: %d \n" - -#~ msgid "" -#~ "Define this to non-zero, if you want automatically hide subtitle after " -#~ "given time. Used only with subtitle formats, where are no end time." -#~ msgstr "" -#~ "Nastavte toto na nie nulu, ak chcete automaticky skryť titulky po určitom " -#~ "čase. Použité iba pre formáty titulkov bez koncového času." - -#~ msgid "Subtitle size (relative window size)" -#~ msgstr "Veľkosť titulkov (vzhľadom k velkosti okna)" - -#~ msgid "" -#~ "xvid: there is mismatch between API used by currently installed XviD\n" -#~ "xvid: library (%d.%d) and library used to compile this plugin (%d.%d).\n" -#~ "xvid: Compiling this plugin against current XviD library should help.\n" -#~ msgstr "" -#~ "xvid: je nekompatibilita medzi API používanou nainštalovanou XviD\n" -#~ "xvid: knižnice (%d.%d) a knižnicou použitou pri kompilácii tohto modulu (%" -#~ "d.%d).\n" -#~ "xvid: Prekompilovanie tohto modulu oproti nainštalovanej XviD knižnici by " -#~ "malo pomôcť.\n" - -#~ msgid "gamma correction for OpenGL driver" -#~ msgstr "gamma korekcia pre OpenGL ovládač" - -#~ msgid "syncfb (teletux) device node" -#~ msgstr "uzol zariadenia syncfb (teletux)" - -#~ msgid "video_out_xshm: No thread-safe X libraries available.\n" -#~ msgstr "video_out_xshm:Žiadne bezpečné X knižnice vlákien nedostupné.\n" - -#~ msgid "gamma correction for XShm driver" -#~ msgstr "gamma korekcia pre XShm ovládač" - -#~ msgid "Colorkey used for Xv video overlay" -#~ msgstr "Kľúčová farba pre automatické vykreslovanie" - -#~ msgid "double buffer to sync video to the retrace" -#~ msgstr "dvojtý buffer na synchronizáciu videa na retrace" - -#~ msgid "workaround for some (buggy) XVideo drivers" -#~ msgstr "obídenie chýb pre niektoré (chybné) XVideo ovládače" - -#~ msgid "Software deinterlace method (Key I toggles deinterlacer on/off)" -#~ msgstr "Metóda softvérového odprekladania (Klávesa I prepne zap./vyp.)" - -#~ msgid "video_out_xv: No thread-safe X libraries available.\n" -#~ msgstr "video_out_xv: Žiadne bezpečné X knižnice vlákien nedostupné.\n" - -#~ msgid "" -#~ "'resample' might be better if you use a DXR3/H+ card and (analog) audio " -#~ "is processed by your sound card" -#~ msgstr "" -#~ "'resample' môže byť lepšie ak používate DXR3/H+ kartu a (analóg.) audio " -#~ "je spracovávané vašou zvukovou kartou" - -#~ msgid "adjust whether resampling is done or not" -#~ msgstr "nataviť, či sa má prevzorkovávať alebo nie" - -#~ msgid "adjust if audio is offsync" -#~ msgstr "upravte, ak je zvuk nezosynchronizovaný" - -#~ msgid "Streams will be saved only into this directory" -#~ msgstr "Prúdy budú uložené do tohto adresára" - -#~ msgid "Memcopy method to use in xine for large data chunks." -#~ msgstr "Metóda memcopy ktorú má xine použiť pre veľké bloky dát." @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: libxine1\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-11-10 15:29+0100\n" +"POT-Creation-Date: 2009-01-15 19:04+0000\n" "PO-Revision-Date: 2008-01-05 18:22+0200\n" "Last-Translator: Server Acim <sacim@kde.org.tr>\n" "Language-Team: Türkçe <yerellestirme@kde.org.tr>\n" @@ -55,6 +55,7 @@ msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() of %s başarısız oldu: %s\n" #: src/audio_out/audio_alsa_out.c:380 +#, c-format msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>>başka bir uygulamanın PCM'yi kullanıp kullanmadığını " @@ -309,187 +310,187 @@ msgstr "Kde arts kullanan xine ses çıktısı eklentisi" msgid "xine output plugin for Coreaudio/Mac OS X" msgstr "Coreaudio/Mac OS X için xine ses çıktısı eklentisi" -#: src/audio_out/audio_directx2_out.c:162 +#: src/audio_out/audio_directx2_out.c:166 msgid "Error" msgstr "Hata" -#: src/audio_out/audio_directx2_out.c:169 +#: src/audio_out/audio_directx2_out.c:173 msgid "success" msgstr "başarılı" -#: src/audio_out/audio_directx2_out.c:171 +#: src/audio_out/audio_directx2_out.c:175 msgid "access denied" msgstr "erişim engellendi" -#: src/audio_out/audio_directx2_out.c:173 +#: src/audio_out/audio_directx2_out.c:177 msgid "resource is already in use" msgstr "kaynak zaten kullanımda" -#: src/audio_out/audio_directx2_out.c:174 +#: src/audio_out/audio_directx2_out.c:178 msgid "object was already initialized" msgstr "nesne zaten algılanmıştı" -#: src/audio_out/audio_directx2_out.c:175 +#: src/audio_out/audio_directx2_out.c:179 msgid "specified wave format is not supported" msgstr "belirtilen dalga biçimi desteklenmiyor" -#: src/audio_out/audio_directx2_out.c:176 +#: src/audio_out/audio_directx2_out.c:180 msgid "memory buffer has been lost and must be restored" msgstr "hafıza arabelleği kayıp ve onarılması gerekiyor" -#: src/audio_out/audio_directx2_out.c:177 +#: src/audio_out/audio_directx2_out.c:181 msgid "requested buffer control is not available" msgstr "istenen ara bellek kontrolü uygun değil" -#: src/audio_out/audio_directx2_out.c:178 +#: src/audio_out/audio_directx2_out.c:182 msgid "undetermined error inside DirectSound subsystem" msgstr "DirectSound alt sistemi içinde belirlenemeyen hata" -#: src/audio_out/audio_directx2_out.c:180 +#: src/audio_out/audio_directx2_out.c:184 msgid "DirectSound hardware device is unavailable" msgstr "DirectSound donanım aygıtı geçerli değil" -#: src/audio_out/audio_directx2_out.c:182 +#: src/audio_out/audio_directx2_out.c:186 msgid "function is not valid for the current state of the object" msgstr "uygulamanın geçerli durumu için işlev uygun değil" -#: src/audio_out/audio_directx2_out.c:183 +#: src/audio_out/audio_directx2_out.c:187 msgid "invalid parameter was passed" msgstr "geçersiz parametre geçirildi" -#: src/audio_out/audio_directx2_out.c:184 +#: src/audio_out/audio_directx2_out.c:188 msgid "object doesn't support aggregation" msgstr "nesne kümeyi desteklemiyor" -#: src/audio_out/audio_directx2_out.c:185 +#: src/audio_out/audio_directx2_out.c:189 msgid "no sound driver available for use" msgstr "kullanılabilecek bir ses sürücüsü yok" -#: src/audio_out/audio_directx2_out.c:186 +#: src/audio_out/audio_directx2_out.c:190 msgid "requested COM interface not available" msgstr "istenilen COM arayüzü kullanılabilir değil" -#: src/audio_out/audio_directx2_out.c:187 +#: src/audio_out/audio_directx2_out.c:191 msgid "another application has a higher priority level" msgstr "başka bir uygulamanın daha yüksek öncelik düzeyi var" -#: src/audio_out/audio_directx2_out.c:188 +#: src/audio_out/audio_directx2_out.c:192 msgid "insufficient memory" msgstr "yetersiz bellek" -#: src/audio_out/audio_directx2_out.c:189 +#: src/audio_out/audio_directx2_out.c:193 msgid "low priority level for this function" msgstr "bu fonksiyon için düşük öncelik düzeyi" -#: src/audio_out/audio_directx2_out.c:190 +#: src/audio_out/audio_directx2_out.c:194 msgid "DirectSound wasn't initialized" msgstr "DirectSound başlatılamadı" -#: src/audio_out/audio_directx2_out.c:191 +#: src/audio_out/audio_directx2_out.c:195 msgid "function is not supported" msgstr "fonksiyon desteklenmiyor" -#: src/audio_out/audio_directx2_out.c:192 +#: src/audio_out/audio_directx2_out.c:196 msgid "unknown error" msgstr "bilinmeyen hata" -#: src/audio_out/audio_directx2_out.c:202 +#: src/audio_out/audio_directx2_out.c:206 #, c-format msgid "Unable to create direct sound object." msgstr "Doğrudan ses nesnesi oluşturulamadı." -#: src/audio_out/audio_directx2_out.c:208 +#: src/audio_out/audio_directx2_out.c:212 #, c-format msgid "Could not set direct sound cooperative level." msgstr "Doğrudan ses işbirliği düzeyi ayarlanamadı." -#: src/audio_out/audio_directx2_out.c:280 +#: src/audio_out/audio_directx2_out.c:284 msgid "Unable to create secondary direct sound buffer" msgstr "İkincil doğrudan ses önbelleği oluşturulamadı" -#: src/audio_out/audio_directx2_out.c:300 +#: src/audio_out/audio_directx2_out.c:304 msgid "Couldn't play sound buffer" msgstr "Ses önbelleği çalınamadı" -#: src/audio_out/audio_directx2_out.c:312 +#: src/audio_out/audio_directx2_out.c:316 msgid "Couldn't stop sound buffer" msgstr "Ses önbelleği durdurulamadı" -#: src/audio_out/audio_directx2_out.c:325 +#: src/audio_out/audio_directx2_out.c:329 msgid "Can't get buffer position" msgstr "Önbellek konumu alınamadı" -#: src/audio_out/audio_directx2_out.c:339 +#: src/audio_out/audio_directx2_out.c:343 msgid "Can't set buffer position" msgstr "Önbellek konumu ayarlanamadı" -#: src/audio_out/audio_directx2_out.c:370 +#: src/audio_out/audio_directx2_out.c:374 msgid "Can't set sound volume" msgstr "Ses düzeyi ayarlanamadı" -#: src/audio_out/audio_directx2_out.c:388 +#: src/audio_out/audio_directx2_out.c:392 #, c-format msgid ": buffer lost, tryig to restore\n" msgstr ": önbellek kayıp, geri yüklenmeye çalışılıyor\n" -#: src/audio_out/audio_directx2_out.c:392 +#: src/audio_out/audio_directx2_out.c:396 msgid "Couldn't lock direct sound buffer" msgstr "Doğrudan ses önbelleğinin kilitlenemedi" -#: src/audio_out/audio_directx2_out.c:405 +#: src/audio_out/audio_directx2_out.c:409 msgid "Couldn't unlock direct sound buffer" msgstr "Doğrudan ses önbelleğinin kilidi açılamadı" -#: src/audio_out/audio_directx2_out.c:496 +#: src/audio_out/audio_directx2_out.c:500 #, c-format msgid "Unable to create primary direct sound buffer." msgstr "Birincil doğrudan ses önbelleği oluşturulamadı." -#: src/audio_out/audio_directx2_out.c:594 +#: src/audio_out/audio_directx2_out.c:596 #, fuzzy, c-format msgid ": play cursor overran (data %u, min %u), flushing buffers\n" msgstr ": ara belleği dolduran imleç geçişini çal, \n" -#: src/audio_out/audio_directx2_out.c:697 +#: src/audio_out/audio_directx2_out.c:699 #, c-format msgid ": can't create pthread condition: %s\n" msgstr ": iş parçacığı durumu yaratamaz: %s\n" -#: src/audio_out/audio_directx2_out.c:701 +#: src/audio_out/audio_directx2_out.c:703 #, c-format msgid ": can't create pthread mutex: %s\n" msgstr ": mutex iş parçacığı oluşturamaz: %s\n" -#: src/audio_out/audio_directx2_out.c:708 +#: src/audio_out/audio_directx2_out.c:710 #, c-format msgid ": can't create buffer pthread: %s\n" msgstr ": tampon bellek iş parçacığı oluşturamaz: %s\n" -#: src/audio_out/audio_directx2_out.c:823 +#: src/audio_out/audio_directx2_out.c:825 #, c-format msgid ": can't destroy buffer pthread: %s\n" msgstr ": tampon bellek iş parçacığını yok edemez: %s\n" -#: src/audio_out/audio_directx2_out.c:830 +#: src/audio_out/audio_directx2_out.c:832 #, c-format msgid ": can't destroy pthread condition: %s\n" msgstr ": iş parçacığı şartını yok edemez : %s\n" -#: src/audio_out/audio_directx2_out.c:833 +#: src/audio_out/audio_directx2_out.c:835 #, c-format msgid ": can't destroy pthread mutex: %s\n" msgstr ": mutex iş parçacığını yok edemez : %s\n" -#: src/audio_out/audio_directx2_out.c:888 +#: src/audio_out/audio_directx2_out.c:890 #, c-format msgid ": unknown control command %d\n" msgstr ": bilinmeyen denetim komutu %d\n" -#: src/audio_out/audio_directx2_out.c:944 +#: src/audio_out/audio_directx2_out.c:946 msgid "second xine audio output plugin using directx" msgstr "directx kullanan ikinci xine ses çıktısı eklentisi" -#: src/audio_out/audio_directx_out.c:827 +#: src/audio_out/audio_directx_out.c:831 msgid "xine audio output plugin for win32 using directx" msgstr "win32 için directx kullanan xine ses çıktısı eklentisi" @@ -499,6 +500,7 @@ msgid "audio_esd_out: connecting to ESD server %s: %s\n" msgstr "audio_esd_out: ESD sunucusuna bağlanılıyor %s: %s\n" #: src/audio_out/audio_esd_out.c:497 +#, c-format msgid "audio_esd_out: connecting to esd server...\n" msgstr "audio_esd_out: esd sunucusuna bağlanılıyor...\n" @@ -621,10 +623,12 @@ msgstr "" "\"otomatik\" olarak saptanmış ise göz ardı edilir." #: src/audio_out/audio_oss_out.c:763 +#, c-format msgid "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" msgstr "audio_oss_out: audio.device.oss_device_name = auto, probing devs\n" #: src/audio_out/audio_oss_out.c:766 +#, c-format msgid "audio_oss_out: Auto probe for audio device failed\n" msgstr "audio_oss_out: Ses aygıtı için otomatik hazırlama başarısız oldu\n" @@ -707,6 +711,7 @@ msgstr "" "bunu deneyin" #: src/audio_out/audio_oss_out.c:861 +#, c-format msgid "" "audio_oss_out: Audio driver realtime sync disabled...\n" "audio_oss_out: ...will use system real-time clock for soft-sync instead\n" @@ -830,11 +835,13 @@ msgstr "" msgid "ffmpeg_audio_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_audio_dec: 0x%X türü dışında ffmpeg kod çözücü bulamıyor\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:299 +#: src/combined/ffmpeg/ff_audio_decoder.c:301 +#, c-format msgid "ffmpeg_audio_dec: trying to open null codec\n" msgstr "ffmpeg_audio_dec: boş kodu açmaya çalışıyor\n" -#: src/combined/ffmpeg/ff_audio_decoder.c:308 +#: src/combined/ffmpeg/ff_audio_decoder.c:310 +#, c-format msgid "ffmpeg_audio_dec: couldn't open decoder\n" msgstr "ffmpeg_audio_dec: kod çözücüyü açamıyor\n" @@ -844,39 +851,43 @@ msgid "dvaudio: increasing buffer to %d to avoid overflow.\n" msgstr "" "dvaudio: taşmayı önlemek için tampon belleği %d seviyesine çıkartıyor.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:162 +#: src/combined/ffmpeg/ff_video_decoder.c:174 +#, c-format msgid "ffmpeg_video_dec: unsupported frame format, DR1 disabled.\n" msgstr "ffmpeg_video_dec: desteklenmeyen çerçeve kipi, DR1 devre dışı.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:180 +#: src/combined/ffmpeg/ff_video_decoder.c:192 +#, c-format msgid "ffmpeg_video_dec: unsupported frame dimensions, DR1 disabled.\n" msgstr "ffmpeg_video_dec: desteklenmeyen çerçeve boyutları, DR1 devre dışı.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:364 +#: src/combined/ffmpeg/ff_video_decoder.c:376 #, c-format msgid "ffmpeg_video_dec: couldn't find ffmpeg decoder for buf type 0x%X\n" msgstr "ffmpeg_video_dec: 0x%Xtürü için ffmpeg kod çözücüyü bulamıyor\n" -#: src/combined/ffmpeg/ff_video_decoder.c:396 +#: src/combined/ffmpeg/ff_video_decoder.c:408 +#, c-format msgid "ffmpeg_video_dec: couldn't open decoder\n" msgstr "ffmpeg_video_dec: kod çözücüyü açamıyor\n" -#: src/combined/ffmpeg/ff_video_decoder.c:439 +#: src/combined/ffmpeg/ff_video_decoder.c:451 +#, c-format msgid "ffmpeg_video_dec: direct rendering enabled\n" msgstr "ffmpeg_video_dec: doğrudan işleme etkin\n" -#: src/combined/ffmpeg/ff_video_decoder.c:884 +#: src/combined/ffmpeg/ff_video_decoder.c:900 #, c-format msgid "ffmpeg_video_dec: increasing buffer to %d to avoid overflow.\n" msgstr "" "ffmpeg_video_dec: taşmayı önlemek için tampon belleği %d seviyesine " "yükseltiyor.\n" -#: src/combined/ffmpeg/ff_video_decoder.c:1636 +#: src/combined/ffmpeg/ff_video_decoder.c:1773 msgid "MPEG-4 postprocessing quality" msgstr "MPEG 4 işleme kalitesi" -#: src/combined/ffmpeg/ff_video_decoder.c:1637 +#: src/combined/ffmpeg/ff_video_decoder.c:1774 msgid "" "You can adjust the amount of post processing applied to MPEG-4 video.\n" "Higher values result in better quality, but need more CPU. Lower values may " @@ -890,11 +901,11 @@ msgstr "" "kalite içeriği için, ağır işleme işlemleri doğal olarak onun netliğinin " "bozulmasına neden olabilir ve görüntünün kötüleşmesi sonucunu doğurabilir." -#: src/combined/ffmpeg/ff_video_decoder.c:1645 +#: src/combined/ffmpeg/ff_video_decoder.c:1782 msgid "FFmpeg video decoding thread count" msgstr "FFmpeg görüntü kodlaması iş sayısı" -#: src/combined/ffmpeg/ff_video_decoder.c:1646 +#: src/combined/ffmpeg/ff_video_decoder.c:1783 #, fuzzy msgid "" "You can adjust the number of video decoding threads which FFmpeg may use.\n" @@ -910,11 +921,11 @@ msgstr "" "göre mantıksal işlemci başına bir adet kodlama işlemi yapılmalıdır (tipik " "olarak 1den14'e kadar). Bu değişim sonraki yayın akışında etkili olacaktır." -#: src/combined/ffmpeg/ff_video_decoder.c:1655 +#: src/combined/ffmpeg/ff_video_decoder.c:1792 msgid "Skip loop filter" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1656 +#: src/combined/ffmpeg/ff_video_decoder.c:1793 msgid "" "You can control for which frames the loop filter shall be skipped after " "decoding.\n" @@ -924,11 +935,11 @@ msgid "" "A change of this setting will take effect with playing the next stream." msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1665 +#: src/combined/ffmpeg/ff_video_decoder.c:1802 msgid "Choose speed over specification compliance" msgstr "" -#: src/combined/ffmpeg/ff_video_decoder.c:1666 +#: src/combined/ffmpeg/ff_video_decoder.c:1803 msgid "" "You may want to allow speed cheats which violate codec specification.\n" "Cheating may speed up decoding but can also lead to decoding artefacts.\n" @@ -1031,6 +1042,7 @@ msgid "unsupported FLV version (%d).\n" msgstr "desteklenmeyen FLV sürümü (%d).\n" #: src/demuxers/demux_flv.c:191 +#, c-format msgid "neither video nor audio stream in this file.\n" msgstr "bu dosya içerisinde ses ya da görüntü akışı yok.\n" @@ -1055,6 +1067,7 @@ msgid "iff: unknown Chunk: %s\n" msgstr "iff: bilinmeyen Yığın: %s\n" #: src/demuxers/demux_mpc.c:205 +#, c-format msgid "demux_mpc: frame too big for buffer" msgstr "demux_mpc: çerçeve önbellek için çok büyük" @@ -1068,6 +1081,7 @@ msgstr "" "geliştiricilerine bildirin.\n" #: src/demuxers/demux_mpeg_block.c:305 +#, c-format msgid "" "demux_mpeg_block: error! freeing. Please report this to xine developers.\n" msgstr "" @@ -1089,7 +1103,7 @@ msgstr "" "demux_mpeg_block: uyarı: PES başlığı bu akışın şifrelenmiş olabileceğini " "bildiriyor (şifrelenmiş kip %d)\n" -#: src/demuxers/demux_mpeg_pes.c:414 +#: src/demuxers/demux_mpeg_pes.c:413 #, c-format msgid "" "xine-lib:demux_mpeg_pes: Unrecognised stream_id 0x%02x. Please report this " @@ -1098,19 +1112,19 @@ msgstr "" "xine-lib:demux_mpeg_pes: Tanınmayan akış_kimliği 0x%02x. Lütfen bunu xine " "geliştiricilerine bildirin.\n" -#: src/demuxers/demux_mpeg_pes.c:423 +#: src/demuxers/demux_mpeg_pes.c:422 #, c-format msgid "demux_mpeg_pes: warning: PACK stream id=0x%x decode failed.\n" msgstr "" "demux_mpeg_pes: uyarı: PACK akış kimliği=0x%x kodlamasının açılması işlemi " "başarısız oldu.\n" -#: src/demuxers/demux_mpeg_pes.c:805 +#: src/demuxers/demux_mpeg_pes.c:804 #, c-format msgid "demux_mpeg_pes: warning: PES header reserved 10 bits not found\n" msgstr "demux_mpeg_pes: uyarı: 10 bit olarak saklanan PES başlığı bulunamadı\n" -#: src/demuxers/demux_mpeg_pes.c:815 +#: src/demuxers/demux_mpeg_pes.c:814 #, c-format msgid "" "demux_mpeg_pes: warning: PES header indicates that this stream may be " @@ -1119,7 +1133,7 @@ msgstr "" "demux_mpeg_pes: uyarı: PES başlığı bu akışın şifrelenmiş olabileceğini " "bildiriyor (şifrelenmiş kip %d)\n" -#: src/demuxers/demux_mpeg_pes.c:1089 +#: src/demuxers/demux_mpeg_pes.c:1088 #, c-format msgid "" "demux_mpeg_pes:Unrecognised private stream 1 0x%02x. Please report this to " @@ -1144,6 +1158,7 @@ msgid "demux_snd: unsupported audio type: %d\n" msgstr "demux_snd: desteklenmeyen ses tipi: %d\n" #: src/demuxers/demux_tta.c:86 +#, c-format msgid "demux_tta: total frames count too high\n" msgstr "demux_tta: toplam çerçeve sayısı çok yüksek\n" @@ -1190,6 +1205,7 @@ msgid "dxr3_decode_spu: Failed to open spu device %s (%s)\n" msgstr "dxr3_decode_spu: spu device %s (%s) yüklenemedi\n" #: src/dxr3/dxr3_decode_spu.c:661 +#, c-format msgid "requested button not available\n" msgstr "istenilen düğme kullanılabilir değil\n" @@ -1282,6 +1298,7 @@ msgid "dxr3_decode_video: Failed to open video device %s (%s)\n" msgstr "dxr3_decode_video: Aygıt açılamadı %s (%s)\n" #: src/dxr3/dxr3_decode_video.c:613 +#, c-format msgid "dxr3_decode_video: write to device would block. flushing\n" msgstr "dxr3_decode_video: kızarmayı önlemesi için aygıta yazar\n" @@ -1296,16 +1313,19 @@ msgid "dxr3_decode_video: WARNING: unknown frame rate code %d\n" msgstr "dxr3_decode_video: UYARI: bilinmeyen çerçevesi oranı kodu %d\n" #: src/dxr3/dxr3_decode_video.c:760 +#, c-format msgid "" "dxr3_decode_video: WARNING: correcting frame rate code from PAL to NTSC\n" msgstr "" "dxr3_decode_video: UYARI: çerçeve oranı kodu PAL'den NTSC'ye çevriliyor\n" #: src/dxr3/dxr3_mpeg_encoders.c:123 +#, c-format msgid "dxr3_mpeg_encoder: failed to init librte\n" msgstr "dxr3_mpeg_encoder: librte başlatılamadı\n" #: src/dxr3/dxr3_mpeg_encoders.c:158 +#, c-format msgid "" "dxr3_mpeg_encoder: rte only handles video dimensions which are multiples of " "16\n" @@ -1313,10 +1333,12 @@ msgstr "" "dxr3_mpeg_encoder: 16 çoklamasına sahip görüntü boyutlarında sadece rte \n" #: src/dxr3/dxr3_mpeg_encoders.c:168 +#, c-format msgid "dxr3_mpeg_encoder: failed to get rte context.\n" msgstr "dxr3_mpeg_encoder: rte bağlamı alınamadı.\n" #: src/dxr3/dxr3_mpeg_encoders.c:179 +#, c-format msgid "dxr3_mpeg_encoder: could not create codec.\n" msgstr "dxr3_mpeg_encoder: kodlayıcı oluşturulamadı.\n" @@ -1344,6 +1366,7 @@ msgid "dxr3_mpeg_encoder: cannot start encoding: %s\n" msgstr "dxr3_mpeg_encoder: kodlamaya başlanamadı: %s\n" #: src/dxr3/dxr3_mpeg_encoders.c:370 +#, c-format msgid "dxr3_mpeg_encoder: Couldn't start the FAME library\n" msgstr "dxr3_mpeg_encoder: FAME kütüphanesi başlatılamadı\n" @@ -1451,18 +1474,22 @@ msgstr "" "desteklemezler, bu yüzden çalışmazlar." #: src/dxr3/video_out_dxr3.c:346 +#, c-format msgid "video_out_dxr3: Mpeg encoder libavcodec failed to init.\n" msgstr "video_out_dxr3: Mpeg kodlayıcı libavcodec başlatılamadı.\n" #: src/dxr3/video_out_dxr3.c:352 +#, c-format msgid "video_out_dxr3: Mpeg encoder rte failed to init.\n" msgstr "video_out_dxr3: Mpeg kodlayıcı rte başlatılamadı.\n" #: src/dxr3/video_out_dxr3.c:359 +#, c-format msgid "video_out_dxr3: Mpeg encoder fame failed to init.\n" msgstr "video_out_dxr3: Mpeg kodlayıcı fame başlatılamadı.\n" #: src/dxr3/video_out_dxr3.c:365 +#, c-format msgid "" "video_out_dxr3: Mpeg encoding disabled.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1480,6 +1507,7 @@ msgstr "" "bilgiler için README.dxr3 dosyasını okuyunuz.\n" #: src/dxr3/video_out_dxr3.c:371 +#, c-format msgid "" "video_out_dxr3: No mpeg encoder compiled in.\n" "video_out_dxr3: that's ok, you don't need it for mpeg video like DVDs, but\n" @@ -1607,6 +1635,7 @@ msgstr "" "altındaki yeşil satırı görmek isterseniz bunu etkinleştirin." #: src/dxr3/video_out_dxr3.c:450 +#, c-format msgid "video_out_dxr3: please run autocal, overlay disabled\n" msgstr "video_out_dxr3: lütfen otomatik ayarı çalıştırın, katman kayboldu\n" @@ -1631,10 +1660,12 @@ msgstr "" "varsayılan: ekran kartının ayarlarını korur" #: src/dxr3/video_out_dxr3.c:482 +#, c-format msgid "video_out_dxr3: setting video mode failed.\n" msgstr "video_out_dxr3: görüntü kipi ayarlanamadı.\n" #: src/dxr3/video_out_dxr3.c:712 +#, c-format msgid "" "video_out_dxr3: Need an mpeg encoder to play non-mpeg videos on dxr3\n" "video_out_dxr3: Read the README.dxr3 for details.\n" @@ -1644,6 +1675,7 @@ msgstr "" "video_out_dxr3: Detaylar için README.dxr3 dosyasını okuyun.\n" #: src/dxr3/video_out_dxr3.c:1367 +#, c-format msgid "video_out_dxr3: ERROR Reading overlay init file. Run autocal!\n" msgstr "" "video_out_dxr3: HATA Katman init dosyasını okuyor. Otomatik kullanımı " @@ -1768,59 +1800,64 @@ msgstr "input_dvb: dvb kanal dosyası açılamadı '%s': %s\n" msgid "input_dvb: dvb channel file '%s' is not a plain file\n" msgstr "input_dvb: dvb kanal dosyası '%s' düz bir dosya değil\n" -#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2983 +#: src/input/input_dvb.c:2148 src/input/input_dvb.c:2987 +#, c-format msgid "input_dvb: tuner_set_channel failed\n" msgstr "input_dvb: tuner_set_channel başarısız oldu\n" -#: src/input/input_dvb.c:2778 +#: src/input/input_dvb.c:2782 #, c-format msgid "input_dvb: DVB GUI %s\n" msgstr "" -#: src/input/input_dvb.c:2783 src/input/input_dvb.c:3212 +#: src/input/input_dvb.c:2787 src/input/input_dvb.c:3215 +#, c-format msgid "input_dvb: cannot open dvb device\n" msgstr "input_dvb: dvb aygıtı açılamadı\n" -#: src/input/input_dvb.c:2807 +#: src/input/input_dvb.c:2811 #, c-format msgid "input_dvb: channel %d out of range, defaulting to 0\n" msgstr "input_dvb: kanal %d sınırların dışında, Sıfırlanıyor\n" -#: src/input/input_dvb.c:2818 +#: src/input/input_dvb.c:2822 #, c-format msgid "input_dvb: searching for channel %s\n" msgstr "input_dvb: %s kanalını arıyor\n" -#: src/input/input_dvb.c:2841 +#: src/input/input_dvb.c:2845 #, c-format msgid "input_dvb: exact match for %s not found: trying partial matches\n" msgstr "" "input_dvb: %s için tam eşleşme bulunamadı: kısmi eşleşmeler deneniyor\n" -#: src/input/input_dvb.c:2848 +#: src/input/input_dvb.c:2852 #, c-format msgid "input_dvb: found matching channel %s\n" msgstr "input_dvb: %s eşleşen kanal bulundu\n" -#: src/input/input_dvb.c:2861 +#: src/input/input_dvb.c:2865 #, c-format msgid "input_dvb: channel %s not found in channels.conf, defaulting.\n" msgstr "" "input_dvb: %s kanalı channels.conf dosyasında bulunamadı, öntanımlı " "değerlere dönülüyor.\n" -#: src/input/input_dvb.c:2867 +#: src/input/input_dvb.c:2871 +#, c-format msgid "" "input_dvb: invalid channel specification, defaulting to last viewed " "channel.\n" msgstr "" "input_dvb: geçersiz kanal belirtimi, son görüntülenen kanala dönülüyor.\n" -#: src/input/input_dvb.c:2873 +#: src/input/input_dvb.c:2877 +#, c-format msgid "input_dvb: invalid channel specification, defaulting to channel 0\n" msgstr "input_dvb: geçersiz kanal belirtimi, kanal 0(sıfır)'a dönülüyor.\n" -#: src/input/input_dvb.c:2885 +#: src/input/input_dvb.c:2889 +#, c-format msgid "" "input_dvb: dvbs mrl specified but the tuner doesn't appear to be QPSK (DVB-" "S)\n" @@ -1828,7 +1865,8 @@ msgstr "" "input_dvb: dvb'nin mrl değeri belirtilmiş fakat alıcı QPSK (DVB-S) gibi " "gözükmemekte.\n" -#: src/input/input_dvb.c:2905 +#: src/input/input_dvb.c:2909 +#, c-format msgid "" "input_dvb: dvbt mrl specified but the tuner doesn't appear to be OFDM (DVB-" "T)\n" @@ -1836,7 +1874,8 @@ msgstr "" "input_dvb: dvbt'nin mrl değeri belirtilmiş fakat alıcı OFDM (DVB-T) gibi " "gözükmemekte.\n" -#: src/input/input_dvb.c:2928 +#: src/input/input_dvb.c:2932 +#, c-format msgid "" "input_dvb: dvbc mrl specified but the tuner doesn't appear to be QAM (DVB-" "C)\n" @@ -1844,7 +1883,8 @@ msgstr "" "input_dvb: dvbc'nin mrl değeri belirtilmiş fakat alıcı QAM (DVB-C) gibi " "gözükmemekte.\n" -#: src/input/input_dvb.c:2954 +#: src/input/input_dvb.c:2958 +#, c-format msgid "" "input_dvb: dvba mrl specified but the tuner doesn't appear to be ATSC (DVB-" "A)\n" @@ -1852,20 +1892,21 @@ msgstr "" "input_dvb: dvba'nın mrl değeri belirtilmiş fakat alıcı ATSC (DVB-A) gibi " "gözükmemekte.\n" -#: src/input/input_dvb.c:2989 +#: src/input/input_dvb.c:2993 #, c-format msgid "input_dvb: cannot open dvr device '%s'\n" msgstr "input_dvb: dvr aygıtını açamıyor '%s'\n" -#: src/input/input_dvb.c:3012 +#: src/input/input_dvb.c:3016 +#, c-format msgid "input_dvb: cannot create EPG updater thread\n" msgstr "input_dvb: EPG güncelleyici bağı yaratamıyor\n" -#: src/input/input_dvb.c:3074 +#: src/input/input_dvb.c:3078 msgid "use DVB 'center cutout' (zoom)" msgstr "DVB merkez kesmesini kullan (yakınlaştır)" -#: src/input/input_dvb.c:3075 +#: src/input/input_dvb.c:3079 msgid "" "This will allow fullscreen playback of 4:3 content transmitted in a 16:9 " "frame." @@ -1873,15 +1914,15 @@ msgstr "" "Bu, 4:3 tam ekran oynatımı içeriğinin 16:9 çerçevesinde gösterilmesine izin " "verecektır." -#: src/input/input_dvb.c:3168 +#: src/input/input_dvb.c:3172 msgid "DVB (Digital TV) input plugin" msgstr "DVB (Dijital TV) girdi eklentisi" -#: src/input/input_dvb.c:3301 +#: src/input/input_dvb.c:3304 msgid "Remember last DVB channel watched" msgstr "Son izlenen DVB kanalını hatırla" -#: src/input/input_dvb.c:3302 +#: src/input/input_dvb.c:3305 msgid "" "On autoplay, xine will remember and switch to the channel indicated in media." "dvb.last_channel. " @@ -1889,19 +1930,19 @@ msgstr "" "Otomatik çalmada, xine hatırlayacak ve ortamdaki ilgili kanala geçecektir. " "dvb.son_kanal." -#: src/input/input_dvb.c:3309 +#: src/input/input_dvb.c:3312 msgid "Last DVB channel viewed" msgstr "Görüntülenen son DVB kanalı" -#: src/input/input_dvb.c:3310 +#: src/input/input_dvb.c:3313 msgid "If enabled xine will remember and switch to this channel. " msgstr "Eğer etkinleştirilmişse, xine hatırlayacak ve bu kanala geçecektir." -#: src/input/input_dvb.c:3315 +#: src/input/input_dvb.c:3318 msgid "Number of seconds until tuning times out." msgstr "Ayarın süresinin dolmasına kalan saniyelerin sayısı" -#: src/input/input_dvb.c:3316 +#: src/input/input_dvb.c:3319 msgid "" "Leave at 0 means try forever. Greater than 0 means wait that many seconds to " "get a lock. Minimum is 5 seconds." @@ -1909,33 +1950,34 @@ msgstr "" "0'da bırakmak, sürekli dene anlamına gelir. 0'dan büyükler kilitlenmeye " "kadar bekleyin anlamına gelir. En az olanı 5 saniyedir." -#: src/input/input_dvb.c:3322 +#: src/input/input_dvb.c:3325 msgid "Number of dvb card to use." msgstr "Kullanılacak dvb kartların sayısı." -#: src/input/input_dvb.c:3323 +#: src/input/input_dvb.c:3326 msgid "" "Leave this at zero unless you really have more than 1 card in your system." msgstr "Eğer sisteminizde birden fazla kart yoksa bunu sıfırda bırakın." -#: src/input/input_dvb.c:3331 +#: src/input/input_dvb.c:3334 msgid "Enable the DVB GUI" msgstr "" -#: src/input/input_dvb.c:3332 +#: src/input/input_dvb.c:3335 msgid "Enable the DVB GUI, mouse controlled recording and channel switching." msgstr "" -#: src/input/input_dvb.c:3338 +#: src/input/input_dvb.c:3341 msgid "DVB Channels config file" msgstr "" -#: src/input/input_dvb.c:3339 +#: src/input/input_dvb.c:3342 msgid "" "DVB Channels config file to use instead of the ~/.xine/channels.conf file." msgstr "" #: src/input/input_dvd.c:585 +#, c-format msgid "input_dvd: values of \\beta will give rise to dom!\n" msgstr "input_dvd: values of \\beta will give rise to dom!\n" @@ -1944,15 +1986,16 @@ msgstr "input_dvd: values of \\beta will give rise to dom!\n" msgid "input_dvd: Error getting next block from DVD (%s)\n" msgstr "input_dvd: DVD (%s) ortamından sonraki blok alınamadı\n" -#: src/input/input_dvd.c:1491 +#: src/input/input_dvd.c:1494 +#, c-format msgid "input_dvd: Error opening DVD device\n" msgstr "input_dvd: DVD aygıtı açılırken hata oluştu\n" -#: src/input/input_dvd.c:1778 +#: src/input/input_dvd.c:1781 msgid "device used for DVD playback" msgstr "DVD oynatmak için kullanılacak aygıt" -#: src/input/input_dvd.c:1779 +#: src/input/input_dvd.c:1782 msgid "" "The path to the device, usually a DVD drive, which you intend to use for " "playing DVDs." @@ -1960,11 +2003,11 @@ msgstr "" "Aygıta giden yol, genellikle DVDleri oynatmak amacıyla kullanılan DVD " "sürücüsü." -#: src/input/input_dvd.c:1797 +#: src/input/input_dvd.c:1800 msgid "raw device set up for DVD access" msgstr "DVD girişi için yeni aygıt ayarı" -#: src/input/input_dvd.c:1798 +#: src/input/input_dvd.c:1801 msgid "" "If this points to a raw device connected to your DVD device, xine will use " "the raw device for playback. This has the advantage of being slightly faster " @@ -1982,11 +2025,11 @@ msgstr "" "kullanılacaktır.\n" "Daha fazla bilgi için yeni aygıt ayarı (man raw) belgesine bakınız." -#: src/input/input_dvd.c:1811 +#: src/input/input_dvd.c:1814 msgid "CSS decryption method" msgstr "CSS şifre çözme yöntemi" -#: src/input/input_dvd.c:1812 +#: src/input/input_dvd.c:1815 msgid "" "Selects the decryption method libdvdcss will use to descramble copy " "protected DVDs. Try the various methods, if you have problems playing " @@ -1996,11 +2039,11 @@ msgstr "" "çözmekte kullanılacaktır. Eğer şifreli DVD'leri çalmakta problemler " "yaşarsanzı değişik yöntemler deneyin." -#: src/input/input_dvd.c:1819 +#: src/input/input_dvd.c:1822 msgid "path to the title key cache" msgstr "anahtar bellek başlığı yolu" -#: src/input/input_dvd.c:1820 +#: src/input/input_dvd.c:1823 msgid "" "Since cracking the copy protection of scrambled DVDs can be quite time " "consuming, libdvdcss will cache the cracked keys in this directory.\n" @@ -2014,11 +2057,11 @@ msgstr "" "sahip dosyalar oluşturulabilir. Bu önemli dizini DVD anahtar saklamanın " "dışında başka amaçlarla kullanmamaya özen gösterin." -#: src/input/input_dvd.c:1842 +#: src/input/input_dvd.c:1845 msgid "region the DVD player claims to be in (1 to 8)" msgstr "DVD çaların kapsadığı bölge (1 ile 8 arası)" -#: src/input/input_dvd.c:1843 +#: src/input/input_dvd.c:1846 msgid "" "This only needs to be changed if your DVD jumps to a screen complaining " "about a wrong region code. It has nothing to do with the region code set in " @@ -2028,11 +2071,11 @@ msgstr "" "gereklidir. Yazılımın özelliğinden dolayı, DVD sürücülerine ayarlanan bölge " "kodları ile ilgili bir değişikli yapılamaz." -#: src/input/input_dvd.c:1849 +#: src/input/input_dvd.c:1852 msgid "default language for DVD playback" msgstr "DVD oynatmak için öntanımlı dil" -#: src/input/input_dvd.c:1850 +#: src/input/input_dvd.c:1853 msgid "" "xine tries to use this language as a default for DVD playback. As far as the " "DVD supports it, menus and audio tracks will be presented in this language.\n" @@ -2042,11 +2085,11 @@ msgstr "" "desteklediği ölçüde, menüler ve ses izleri bu dilde sunulacaktır.\n" "Dil kodu değerinin iki karakterli ISO639 dil kodu olması gereklidir." -#: src/input/input_dvd.c:1856 +#: src/input/input_dvd.c:1859 msgid "read-ahead caching" msgstr "tamponlama boyunca oku" -#: src/input/input_dvd.c:1857 +#: src/input/input_dvd.c:1860 msgid "" "xine can use a read ahead cache for DVD drive access.\n" "This may lead to jerky playback on slow drives, but it improves the impact " @@ -2056,11 +2099,11 @@ msgstr "" "Bu özellik, yavaş çalışan sürücülerde kötü çalmalara sebebiyet verebilir, " "fakat o daha hızlı sürücülerde DVD katman değişiminin etkisini güçlendirir." -#: src/input/input_dvd.c:1863 +#: src/input/input_dvd.c:1866 msgid "unit for the skip action" msgstr "atlama eylemi için birim" -#: src/input/input_dvd.c:1864 +#: src/input/input_dvd.c:1867 msgid "" "You can configure the behaviour when issuing a skip command (using the skip " "buttons for example). The individual values mean:\n" @@ -2094,11 +2137,11 @@ msgstr "" "DVD'deki tüm özellikleri gösteren yapısal bir birim olan DVD başılığını " "atlayacaktır" -#: src/input/input_dvd.c:1879 +#: src/input/input_dvd.c:1882 msgid "unit for seeking" msgstr "arama birimi" -#: src/input/input_dvd.c:1880 +#: src/input/input_dvd.c:1883 msgid "" "You can configure the domain spanned by the seek slider. The individual " "values mean:\n" @@ -2121,11 +2164,11 @@ msgstr "" "arama tüm DVD program zincirini bağlayacaktır, geçerli özelliğin bölümlerini " "gösteren gözlemsel bir birimdir bu" -#: src/input/input_dvd.c:1891 +#: src/input/input_dvd.c:1894 msgid "play mode when title/chapter is given" msgstr "başlık/bölüm verildiğindeki çalma kipi" -#: src/input/input_dvd.c:1892 +#: src/input/input_dvd.c:1895 msgid "" "You can configure the behaviour when playing a dvd from a given title/" "chapter (eg. using MRL 'dvd:/1.2'). The individual values mean:\n" @@ -2145,43 +2188,43 @@ msgstr "" "bir bölüm\n" "sadece belirlenen başlık/bölüm'ü çal ve dur" -#: src/input/input_file.c:201 +#: src/input/input_file.c:209 #, c-format msgid "input_file: read error (%s)\n" msgstr "input_file: okuma hatası (%s)\n" -#: src/input/input_file.c:361 +#: src/input/input_file.c:369 #, c-format msgid "input_file: Permission denied: >%s<\n" msgstr "input_file: İzin verilmedi: >%s<\n" -#: src/input/input_file.c:365 +#: src/input/input_file.c:373 #, c-format msgid "input_file: File not found: >%s<\n" msgstr "input_file: Dosya bulunamadı: >%s<\n" -#: src/input/input_file.c:403 src/input/input_gnome_vfs.c:290 +#: src/input/input_file.c:411 src/input/input_gnome_vfs.c:295 #, c-format msgid "input_file: File empty: >%s<\n" msgstr "input_file: Dosya boş: >%s<\n" -#: src/input/input_file.c:624 +#: src/input/input_file.c:632 msgid "file input plugin" msgstr "dosya girdi eklentisi" -#: src/input/input_file.c:983 +#: src/input/input_file.c:991 msgid "file browsing start location" msgstr "dosya açma başlangıç konumu" -#: src/input/input_file.c:984 +#: src/input/input_file.c:992 msgid "The browser to select the file to play will start at this location." msgstr "Çalınması istenen dosyanın bu konumdan bağlayacağını seçen tarayıcı." -#: src/input/input_file.c:991 +#: src/input/input_file.c:999 msgid "list hidden files" msgstr "gizli dosyaları listele" -#: src/input/input_file.c:992 +#: src/input/input_file.c:1000 msgid "" "If enabled, the browser to select the file to play will also show hidden " "files." @@ -2189,7 +2232,7 @@ msgstr "" "Eğer etkinleştirilmişse, çalınacak dosyayı seçen tarayıcı aynı zamanda gizli " "dosyaları da gösterebilir." -#: src/input/input_gnome_vfs.c:216 +#: src/input/input_gnome_vfs.c:221 msgid "gnome-vfs input plugin as shipped with xine" msgstr "xine ile birlikte gelen gnome vfs girişi" @@ -2198,82 +2241,82 @@ msgstr "xine ile birlikte gelen gnome vfs girişi" msgid "input_http: gethostbyname(%s) failed: %s\n" msgstr "input_http: gethostbyname(%s) başarısız oldu: %s\n" -#: src/input/input_http.c:413 src/input/input_http.c:999 +#: src/input/input_http.c:413 src/input/input_http.c:1008 #, c-format msgid "input_http: read error %d\n" msgstr "input_http: okuma hatası %d\n" -#: src/input/input_http.c:644 +#: src/input/input_http.c:652 msgid "Connecting HTTP server..." msgstr "HTTP sunucusuna bağlanılıyor..." -#: src/input/input_http.c:833 +#: src/input/input_http.c:841 #, c-format msgid "input_http: invalid http answer\n" msgstr "input_http: geçersiz http yanıtı\n" -#: src/input/input_http.c:839 +#: src/input/input_http.c:847 #, c-format msgid "input_http: 3xx redirection: >%d %s<\n" msgstr "input_http: 3xx yeniden yönlendirme: >%d %s<\n" -#: src/input/input_http.c:844 src/input/input_http.c:850 -#: src/input/input_http.c:857 +#: src/input/input_http.c:852 src/input/input_http.c:858 +#: src/input/input_http.c:865 #, c-format msgid "input_http: http status not 2xx: >%d %s<\n" msgstr "input_http: http durumu 2xx değil: >%d %s<\n" -#: src/input/input_http.c:867 +#: src/input/input_http.c:875 #, c-format msgid "input_http: content length = %<PRIdMAX> bytes\n" msgstr "input_http: içerik büyüklüğü = %<PRIdMAX> byte\n" -#: src/input/input_http.c:954 +#: src/input/input_http.c:962 #, c-format msgid "input_http: buffer exhausted after %d bytes." msgstr "input_http: %d byte ardından önbellek boşaltıldı." -#: src/input/input_http.c:1053 +#: src/input/input_http.c:1062 msgid "http input plugin" msgstr "http girdi eklentisi" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "HTTP proxy host" msgstr "HTTP vekil sunucu makinesi" -#: src/input/input_http.c:1115 +#: src/input/input_http.c:1124 msgid "The hostname of the HTTP proxy." msgstr "HTTP vekil sunucusu için makine adı." -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "HTTP proxy port" msgstr "HTTP vekil sunucu portu" -#: src/input/input_http.c:1119 +#: src/input/input_http.c:1128 msgid "The port number of the HTTP proxy." msgstr "HTTP vekil sunucusu için port numarası." -#: src/input/input_http.c:1129 +#: src/input/input_http.c:1138 msgid "HTTP proxy username" msgstr "HTTP vekil sunucu kullanıcı adı" -#: src/input/input_http.c:1130 +#: src/input/input_http.c:1139 msgid "The user name for the HTTP proxy." msgstr "HTTP vekil sunucusu için kullanıcı adı." -#: src/input/input_http.c:1133 +#: src/input/input_http.c:1142 msgid "HTTP proxy password" msgstr "HTTP vekil sunucu parolası" -#: src/input/input_http.c:1134 +#: src/input/input_http.c:1143 msgid "The password for the HTTP proxy." msgstr "HTTP vekil sunucusu için parola." -#: src/input/input_http.c:1137 +#: src/input/input_http.c:1146 msgid "Domains for which to ignore the HTTP proxy" msgstr "HTTP vekilini göz ardı etmek için alanlar" -#: src/input/input_http.c:1138 +#: src/input/input_http.c:1147 msgid "" "A comma-separated list of domain names for which the proxy is to be " "ignored.\n" @@ -2285,15 +2328,15 @@ msgstr "" "Eğer bir alan adı '=' ile ön ek almışsa, o zaman ona sadece ana makina adı " "olarak bakmak gerekir (tam uyuşum gereklidir)." -#: src/input/input_mms.c:441 +#: src/input/input_mms.c:446 msgid "mms streaming input plugin" msgstr "mms yayın girdi eklentisi" -#: src/input/input_mms.c:477 src/input/librtsp/rtsp_session.c:91 +#: src/input/input_mms.c:482 src/input/librtsp/rtsp_session.c:91 msgid "network bandwidth" msgstr "ağ bant genişliği" -#: src/input/input_mms.c:478 src/input/librtsp/rtsp_session.c:92 +#: src/input/input_mms.c:483 src/input/librtsp/rtsp_session.c:92 msgid "" "Specify the bandwidth of your internet connection here. This will be used " "when streaming servers offer different versions with different bandwidth " @@ -2303,11 +2346,11 @@ msgstr "" "sunucularının aynı yayın akışını farklı bant genişliği gereksinimleriyle " "önerdiklerinde kullanılacaktır." -#: src/input/input_mms.c:487 +#: src/input/input_mms.c:492 msgid "MMS protocol" msgstr "MMS protokolü" -#: src/input/input_mms.c:488 +#: src/input/input_mms.c:493 msgid "" "Select the protocol to encapsulate MMS.\n" "TCP is better but you may need HTTP behind a firewall." @@ -2336,53 +2379,55 @@ msgstr "input_net: '%s' çözümlenemedi.\n" msgid "input_net: unable to connect to '%s'.\n" msgstr "input_net: '%s' konumuna bağlanılamadı.\n" -#: src/input/input_net.c:514 +#: src/input/input_net.c:522 msgid "net input plugin as shipped with xine" msgstr "xine ile birlikte gelen ağ girişi eklentisi" -#: src/input/input_pnm.c:260 +#: src/input/input_pnm.c:272 msgid "pnm streaming input plugin" msgstr "pnm yayın girdi eklentisi" -#: src/input/input_pvr.c:586 +#: src/input/input_pvr.c:589 #, c-format msgid "input_pvr: error creating pvr file (%s)\n" msgstr "input_pvr: pvr dosyası oluşturma hatası (%s)\n" -#: src/input/input_pvr.c:743 +#: src/input/input_pvr.c:746 #, c-format msgid "input_pvr: error opening pvr file (%s)\n" msgstr "input_pvr: pvr dosyası açma hatası (%s)\n" -#: src/input/input_pvr.c:819 +#: src/input/input_pvr.c:822 #, c-format msgid "input_pvr: read error (%s)\n" msgstr "input_pvr: okuma hatası (%s)\n" -#: src/input/input_pvr.c:1158 src/input/input_pvr.c:1411 +#: src/input/input_pvr.c:1161 src/input/input_pvr.c:1417 #, c-format msgid "input_pvr: error opening device %s\n" msgstr "input_pvr: %s aygıtı açılamadı\n" -#: src/input/input_pvr.c:1164 src/input/input_pvr.c:1417 +#: src/input/input_pvr.c:1167 src/input/input_pvr.c:1423 +#, c-format msgid "input_pvr: IVTV_IOC_G_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_G_CODEC başarısız oldu, API değişmiş olabilir mi?\n" -#: src/input/input_pvr.c:1172 src/input/input_pvr.c:1426 +#: src/input/input_pvr.c:1175 src/input/input_pvr.c:1432 +#, c-format msgid "input_pvr: IVTV_IOC_S_CODEC failed, maybe API changed?\n" msgstr "" "input_pvr: IVTV_IOC_S_CODEC başarısız oldu, API değişmiş olabilir mi?\n" -#: src/input/input_pvr.c:1534 +#: src/input/input_pvr.c:1540 msgid "WinTV-PVR 250/350 input plugin" msgstr "WinTV-PVR 250/350 girdi eklentisi" -#: src/input/input_pvr.c:1560 +#: src/input/input_pvr.c:1566 msgid "device used for WinTV-PVR 250/350 (pvr plugin)" msgstr "WinTV-PVR 250/350 (pvr eklentisi) için kullanılan aygıt" -#: src/input/input_pvr.c:1561 +#: src/input/input_pvr.c:1567 msgid "The path to the device of your WinTV card." msgstr "WinTV kartınızın aygıt yolu." @@ -2436,113 +2481,115 @@ msgstr "Buraya bağlanamadı %s'.\n" msgid "recv(): %s.\n" msgstr "recv(): %s.\n" -#: src/input/input_rtp.c:630 +#: src/input/input_rtp.c:640 msgid "RTP: stopping reading thread...\n" msgstr "RTP: okuma işini durduruyor...\n" -#: src/input/input_rtp.c:633 +#: src/input/input_rtp.c:643 msgid "RTP: reading thread terminated\n" msgstr "RTP: okuma işi kapatıldı\n" -#: src/input/input_rtp.c:648 +#: src/input/input_rtp.c:658 #, c-format msgid "Opening >filename:%s port:%d interface:%s<\n" msgstr "Dosya adını >açıyor:%s bağlantı noktası:%d arabirim:%s<\n" -#: src/input/input_rtp.c:665 +#: src/input/input_rtp.c:675 #, c-format msgid "input_rtp: can't create new thread (%s)\n" msgstr "input_rtp: yeni iş üretemez (%s)\n" -#: src/input/input_rtp.c:769 +#: src/input/input_rtp.c:779 msgid "RTP and UDP input plugin as shipped with xine" msgstr "xine ile birlikte gelen RTP ve UDP giriş eklentisi" -#: src/input/input_rtsp.c:281 +#: src/input/input_rtsp.c:293 msgid "rtsp streaming input plugin" msgstr "rtsp yayın girdi eklentisi" -#: src/input/input_smb.c:156 +#: src/input/input_smb.c:163 msgid "CIFS/SMB input plugin based on libsmbclient" msgstr "libsmbclient temelli CIFS/SMB girdi eklentisi" -#: src/input/input_stdin_fifo.c:164 +#: src/input/input_stdin_fifo.c:171 #, c-format msgid "stdin: cannot seek back! (%<PRIdMAX> > %<PRIdMAX>)\n" msgstr "stdin: geri arama yapamaz! (%<PRIdMAX> > %<PRIdMAX>)\n" -#: src/input/input_stdin_fifo.c:252 +#: src/input/input_stdin_fifo.c:259 #, c-format msgid "stdin: failed to open '%s'\n" msgstr "stdin: '%s' açılamadı\n" -#: src/input/input_stdin_fifo.c:348 +#: src/input/input_stdin_fifo.c:357 msgid "stdin streaming input plugin" msgstr "stdin yayın girdi eklentisi" -#: src/input/input_v4l.c:389 +#: src/input/input_v4l.c:385 msgid "Buffer underrun..." msgstr "Tampon bellek zayıfladı..." -#: src/input/input_v4l.c:393 +#: src/input/input_v4l.c:389 msgid "Buffer overrun..." msgstr "Tampon bellek aşımı..." -#: src/input/input_v4l.c:396 +#: src/input/input_v4l.c:392 msgid "Adjusting..." msgstr "Ayarlanıyor..." -#: src/input/input_v4l.c:675 +#: src/input/input_v4l.c:671 +#, c-format msgid "Tuner name not found\n" msgstr "Tuner adı bulunamadı\n" -#: src/input/input_v4l.c:1874 +#: src/input/input_v4l.c:1870 msgid "v4l tv input plugin" msgstr "v4l tv girdi eklentisi" -#: src/input/input_v4l.c:1878 +#: src/input/input_v4l.c:1874 msgid "v4l radio input plugin" msgstr "v4l radyo girdi eklentisi" -#: src/input/input_v4l.c:1910 +#: src/input/input_v4l.c:1906 msgid "v4l video device" msgstr "v4l görüntü aygıtı" -#: src/input/input_v4l.c:1911 +#: src/input/input_v4l.c:1907 msgid "The path to your Video4Linux video device." msgstr "Video4Linux görüntü aygıtının yolu." -#: src/input/input_v4l.c:1916 +#: src/input/input_v4l.c:1912 #, fuzzy msgid "v4l ALSA audio input device" msgstr "v4l radyo aygıtı" -#: src/input/input_v4l.c:1917 +#: src/input/input_v4l.c:1913 #, fuzzy msgid "" "The name of the audio device which corresponds to your Video4Linux video " "device." msgstr "Video4Linux görüntü aygıtının yolu." -#: src/input/input_v4l.c:1922 +#: src/input/input_v4l.c:1918 msgid "v4l TV standard" msgstr "" -#: src/input/input_v4l.c:1923 +#: src/input/input_v4l.c:1919 msgid "" "Selects the TV standard of the input signals. Either: AUTO, PAL, NTSC or " "SECAM. " msgstr "" -#: src/input/input_v4l.c:1948 +#: src/input/input_v4l.c:1944 msgid "v4l radio device" msgstr "v4l radyo aygıtı" -#: src/input/input_v4l.c:1949 +#: src/input/input_v4l.c:1945 msgid "The path to your Video4Linux radio device." msgstr "Video4Linux radyo aygıtının yolu." #: src/input/input_vcd.c:847 +#, c-format msgid "input_vcd: malformed MRL. Use vcdo:/<track #>\n" msgstr "input_vcd: bozuk MRL. vcdo:/<track #> kullanın\n" @@ -2555,21 +2602,21 @@ msgstr "input_vcd: geçersiz iz %d (geçerli oran: 0 .. %d)\n" msgid "Video CD input plugin" msgstr "Video CD girdi eklentisi" -#: src/input/input_vcd.c:975 +#: src/input/input_vcd.c:974 #, c-format msgid "unable to open %s: %s.\n" msgstr "%s açılamadı: %s.\n" -#: src/input/input_vcd.c:1037 +#: src/input/input_vcd.c:1036 #, c-format msgid "input_vcd: unable to open %s: %s.\n" msgstr "input_vcd: %s açılamadı: %s.\n" -#: src/input/input_vcd.c:1086 +#: src/input/input_vcd.c:1084 msgid "device used for VCD playback" msgstr "VCD oynatmak için kullanılan aygıt" -#: src/input/input_vcd.c:1087 +#: src/input/input_vcd.c:1085 msgid "" "The path to the device, usually a CD or DVD drive, you intend to play your " "VideoCDs with." @@ -2593,11 +2640,12 @@ msgid "rtsp_session: failed to connect to server %s\n" msgstr "rtsp_session: %s sunucusuna bağlanılamadı\n" #: src/input/librtsp/rtsp_session.c:141 +#, c-format msgid "rtsp_session: session can not be established.\n" msgstr "rtsp_session: oturuma erişilemedi.\n" #: src/input/librtsp/rtsp_session.c:153 -#, fuzzy +#, fuzzy, c-format msgid "" "rtsp_session: rtsp server returned overly-large headers, session can not be " "established.\n" @@ -2618,6 +2666,7 @@ msgid "Connecting MMS server (over tcp)..." msgstr "MMS sunucusuna bağlanılıyor (tcp üzerinden)..." #: src/input/mmsh.c:197 +#, c-format msgid "libmmsh: send error\n" msgstr "libmmsh: gönderme hatası\n" @@ -2674,6 +2723,7 @@ msgid "input_pnm: failed to connect '%s'\n" msgstr "input_pnm: '%s' konumuna bağlanılamadı\n" #: src/input/pnm.c:763 +#, c-format msgid "input_pnm: failed to set up stream\n" msgstr "input_pnm: akış ayarlaması başarısız oldu\n" @@ -2912,6 +2962,7 @@ msgstr "" "2048: VCDINFO'dan hata ayıklama\n" #: src/liba52/xine_a52_decoder.c:757 src/libdts/xine_dts_decoder.c:556 +#, c-format msgid "HELP! a mono-only audio driver?!\n" msgstr "YARDIM! sadece mono olan bir ses sürücüsü mü?!\n" @@ -2962,14 +3013,17 @@ msgstr "" "için bu seçeneği etkin hale getirmelisiniz" #: src/libfaad/xine_faad_decoder.c:132 +#, c-format msgid "libfaad: libfaad NeAACDecOpen() failed.\n" msgstr "libfaad: libfaad NeAACDecOpen() başarılamadı.\n" #: src/libfaad/xine_faad_decoder.c:141 +#, c-format msgid "libfaad: libfaad NeAACDecInit2 failed.\n" msgstr "libfaad: libfaad NeAACDecInit2 başarılamadı.\n" #: src/libfaad/xine_faad_decoder.c:152 +#, c-format msgid "libfaad: libfaad NeAACDecInit failed.\n" msgstr "libfaad: libfaad NeAACDecInit başarılamadı.\n" @@ -2979,10 +3033,12 @@ msgid "libmusepack: mpc_streaminfo_read failed: %d\n" msgstr "libmusepack: mpc_streaminfo_read başarılamadı: %d\n" #: src/libmusepack/xine_musepack_decoder.c:313 +#, c-format msgid "libmusepack: data after last frame ignored\n" msgstr "libmusepack: son çerçeveden sonraki veri görmezden gelindi\n" #: src/libmusepack/xine_musepack_decoder.c:324 +#, c-format msgid "libmusepack: mpc_decoder_initialise failed\n" msgstr "libmusepack: mpc_decoder_initialise başarılamadı\n" @@ -3011,6 +3067,7 @@ msgstr "" "başvrunuz." #: src/libreal/xine_real_video_decoder.c:170 +#, c-format msgid "libreal: Error resolving symbols! (version incompatibility?)\n" msgstr "libreal: Simgeleri çözmede hata! (sürüm uyumu?)\n" @@ -3030,57 +3087,58 @@ msgid "libareal: decoder flavor setup failed, error code: 0x%x\n" msgstr "libareal: kod çözücü yapısal ayarı başarılamadı, hata kodu: 0x%x\n" #: src/libreal/xine_real_audio_decoder.c:339 +#, c-format msgid "libareal: oups, real can do more than 2 channels ?\n" msgstr "libareal: ops, real 2 kanaldan daha fazlasıyla baş edebilir ?\n" -#: src/libspucc/xine_cc_decoder.c:189 +#: src/libspucc/xine_cc_decoder.c:195 msgid "display closed captions in MPEG-2 streams" msgstr "MPEG yayın akışlarında kapalı başlıkları görüntüle" -#: src/libspucc/xine_cc_decoder.c:190 +#: src/libspucc/xine_cc_decoder.c:196 msgid "" "Closed Captions are subtitles mostly meant to help the hearing impaired." msgstr "" "Kapalı Başlıklar daha çok duyma özürlülere yardımcı olmayı amaçlayan " "altyazılardır." -#: src/libspucc/xine_cc_decoder.c:197 +#: src/libspucc/xine_cc_decoder.c:203 msgid "closed-captioning foreground/background scheme" msgstr "kapalı başlık ön/arka şeması" -#: src/libspucc/xine_cc_decoder.c:198 +#: src/libspucc/xine_cc_decoder.c:204 msgid "Choose your favourite rendering of the closed captions." msgstr "Sık kullandığınız kapalı başlık işlemini seçin." -#: src/libspucc/xine_cc_decoder.c:204 +#: src/libspucc/xine_cc_decoder.c:210 msgid "standard closed captioning font" msgstr "standart kapalı başlık yazı tipi" -#: src/libspucc/xine_cc_decoder.c:205 +#: src/libspucc/xine_cc_decoder.c:211 msgid "Choose the font for standard closed captions text." msgstr "Standart kapalı başlık metni için yazı tipini seçin." -#: src/libspucc/xine_cc_decoder.c:211 +#: src/libspucc/xine_cc_decoder.c:217 msgid "italic closed captioning font" msgstr "italik kapalı başlık yazı tipi" -#: src/libspucc/xine_cc_decoder.c:212 +#: src/libspucc/xine_cc_decoder.c:218 msgid "Choose the font for italic closed captions text." msgstr "İtalik kapalı başlık metni için yazı tipini seçin." -#: src/libspucc/xine_cc_decoder.c:218 +#: src/libspucc/xine_cc_decoder.c:224 msgid "closed captioning font size" msgstr "Kapalı başlık yazı tipi boyutu" -#: src/libspucc/xine_cc_decoder.c:219 +#: src/libspucc/xine_cc_decoder.c:225 msgid "Choose the font size for closed captions text." msgstr "Kapalı başlık metni için yazı tipini boyutunu seçin." -#: src/libspucc/xine_cc_decoder.c:223 +#: src/libspucc/xine_cc_decoder.c:229 msgid "center-adjust closed captions" msgstr "Ortalanmış kapalı başlıklar" -#: src/libspucc/xine_cc_decoder.c:224 +#: src/libspucc/xine_cc_decoder.c:230 msgid "" "When enabled, closed captions will be positioned by the center of the " "individual lines." @@ -3335,6 +3393,7 @@ msgstr "" "akışının dinlenmesi için de kullanılabilir.\n" #: src/post/audio/upmix_mono.c:144 +#, c-format msgid ": upmixing Mono to Stereo.\n" msgstr ": Mono'dan Stereo'ya dönüştürme.\n" @@ -3346,6 +3405,7 @@ msgstr[0] ": tek kanalı özgün %d kanal yayın akışlarına dönüştürme.\n msgstr[1] "" #: src/post/audio/upmix_mono.c:154 +#, c-format msgid ": audio device not capable of AO_CAP_MODE_STEREO.\n" msgstr ": ses aygıtının AO_CAP_MODE_STEREO özelliği yok.\n" @@ -3365,7 +3425,7 @@ msgstr "" "alarak tek bir örnek kullanınız (varsayılan); 2: çeşitlemeleri yumuşatmak " "ya da eski ses örneklerini temel alarak farklı örnekler kullanınız.\n" -#: src/post/deinterlace/xine_plugin.c:202 +#: src/post/deinterlace/xine_plugin.c:207 #, fuzzy msgid "" "Advanced tvtime/deinterlacer plugin with pulldown detection\n" @@ -3380,6 +3440,9 @@ msgid "" "\n" " Enabled: Enable/disable the plugin.\n" "\n" +" Pulldown_error_wait: Ensures that the telecine pattern has been locked for " +"this many frames before changing to filmmode.\n" +"\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that " "have being converted to NTSC can be detected and intelligently reconstructed " "to their original (non-interlaced) frames.\n" @@ -3470,7 +3533,8 @@ msgstr "" "olmayabilir)\n" "\n" -#: src/post/deinterlace/xine_plugin.c:323 +#: src/post/deinterlace/xine_plugin.c:331 +#, c-format msgid "tvtime: No deinterlacing methods available, exiting.\n" msgstr "tvtime: Hiç bir dönüştürme yöntemi uygun değil. Kapatılıyor. \n" @@ -3800,7 +3864,7 @@ msgstr "" msgid "xine video output plugin using the ascii-art library" msgstr "ascii-art kütüphanesinin kullanan xine görüntü çıkış eklentisi" -#: src/video_out/video_out_caca.c:315 +#: src/video_out/video_out_caca.c:321 msgid "xine video output plugin using the Color AsCii Art library" msgstr "Color AsCii Art kütüphanesinin kullanan xine görüntü çıkış eklentisi" @@ -3881,22 +3945,27 @@ msgstr "" "\"=devre dışı)." #: src/video_out/video_out_directfb.c:1512 +#, c-format msgid "video_out_directfb: using hardware subpicture acceleration.\n" msgstr "video_out_directfb: donanım altresim hızlandırmasını kullanıyor.\n" #: src/video_out/video_out_directfb.c:1526 +#, c-format msgid "video_out_directfb: layer supports video output.\n" msgstr "video_out_directfb: katman görüntü çıktısını destekler.\n" #: src/video_out/video_out_directfb.c:1535 +#, c-format msgid "video_out_directfb: layer doesn't support YV12!\n" msgstr "video_out_directfb: katman YV12 desteği vermez!\n" #: src/video_out/video_out_directfb.c:1542 +#, c-format msgid "video_out_directfb: layer doesn't support YUY2!\n" msgstr "video_out_directfb: katman YUY2 desteği vermez!\n" #: src/video_out/video_out_directfb.c:1553 +#, c-format msgid "" "video_out_directfb:need at least DirectFB 0.9.25 to play on this layer!\n" msgstr "" @@ -3914,12 +3983,14 @@ msgid "video_out_directfb: layer doesn't support options 0x%08x!\n" msgstr "video_out_directfb: katmanın desteklemediği seçenekler 0x%08x!\n" #: src/video_out/video_out_directfb.c:1688 +#, c-format msgid "video_out_directfb: using hardware accelerated image scaling.\n" msgstr "" "video_out_directfb: donanım tarafından hızlandırılan resim ölçeklemesini " "kullanıyor.\n" #: src/video_out/video_out_directfb.c:1700 +#, c-format msgid "" "video_out_directfb: image scaling with deinterlacing is hardware " "accelerated.\n" @@ -3946,6 +4017,7 @@ msgid "xine video output plugin using DirectFB." msgstr "xine görüntü çıkış eklentisi DirectFB kullanıyor." #: src/video_out/video_out_directfb.c:2003 +#, c-format msgid "video_out_directfb: no usable display layer was found!\n" msgstr "video_out_directfb: kullanılabilecek görüntü katmanı bulunamadı!\n" @@ -3954,7 +4026,7 @@ msgid "xine video output plugin using DirectFB under XDirectFB." msgstr "" "xine video çıkış eklentisi XDirectFB altında yer alan DirectFB kullanıyor." -#: src/video_out/video_out_directx.c:1242 +#: src/video_out/video_out_directx.c:1291 msgid "xine video output plugin for win32 using directx" msgstr "directx kullanan win32 için xine video çıkış eklentisi" @@ -3986,6 +4058,7 @@ msgstr "" "göstermelisiniz." #: src/video_out/video_out_fb.c:893 +#, c-format msgid "video_out_fb: Your video mode was not recognized, sorry.\n" msgstr "video_out_fb: Video kipiniz tanınamadı, üzgünüm.\n" @@ -4008,6 +4081,7 @@ msgstr "" " çerçeve tampon bellek çözünürlüğü yardımcı olabilir.\n" #: src/video_out/video_out_fb.c:967 +#, c-format msgid "" "WARNING: video_out_fb: Zero copy buffers are DISABLED because kernel driver\n" " do not support screen panning (used for frame flips).\n" @@ -4126,6 +4200,7 @@ msgid "xine video output plugin using the OpenGL 3D graphics API" msgstr "OpenGL 3D grafikleri API'sini kullanan xine video çıkış eklentisi" #: src/video_out/video_out_pgx32.c:187 +#, c-format msgid "video_out_pgx32: Error: can't grab DGA drawable for video window\n" msgstr "video_out_pgx32: Hata: video penceresi için DGA yakalanamıyor\n" @@ -4141,6 +4216,7 @@ msgstr "" "video_out_pgx32: Hata: '%s' bir pgx32 çerçeve ara belleği aygıtı değildir\n" #: src/video_out/video_out_pgx64.c:278 +#, c-format msgid "video_out_pgx64: Error: can't grab DGA drawable for video window\n" msgstr "video_out_pgx64: Hata: video penceresi için DGA yakalanamıyor\n" @@ -4166,32 +4242,38 @@ msgstr "" "aygıtı değildir\n" #: src/video_out/video_out_pgx64.c:337 +#, c-format msgid "" "video_out_pgx64: Error: video overlay on this screen is already in use\n" msgstr "" "video_out_pgx64: Hata: bu ekrandaki video üstyazım halen kullanımdadır\n" #: src/video_out/video_out_pgx64.c:352 +#, c-format msgid "video_out_pgx64: Error: unable to set window properties\n" msgstr "video_out_pgx64: Hata: pencere özellikleri ayarlanamıyor\n" #: src/video_out/video_out_pgx64.c:808 +#, c-format msgid "video_out_pgx64: Warning: low video memory, multi-buffering disabled\n" msgstr "" "video_out_pgx64: Uyarı: düşük görüntü hafızası, çift-ara bellekleme devre " "dışı\n" #: src/video_out/video_out_pgx64.c:840 +#, c-format msgid "video_out_pgx64: Error: insuffucient video memory\n" msgstr "video_out_pgx64: Hata: yetersiz video hafızası\n" #: src/video_out/video_out_pgx64.c:856 +#, c-format msgid "video_out_pgx64: Warning: low video memory, double-buffering disabled\n" msgstr "" "video_out_pgx64: Uyarı: düşük video hafızası, çift-ara bellekleme devre " "dışı\n" #: src/video_out/video_out_pgx64.c:1394 +#, c-format msgid "video_out_pgx64: Error: ioctl failed (FBIOGATTR)\n" msgstr "video_out_pgx64: Hata: ioctl başarılamadı (FBIOGATTR)\n" @@ -4246,11 +4328,13 @@ msgstr "" "çalışmayabilir, o zaman devre dışı bırakabilirsiniz." #: src/video_out/video_out_sdl.c:537 +#, c-format msgid "sdl has to emulate a 16 bit surfaces, that will slow things down.\n" msgstr "" "sdl 16 bit yüzeylerine öykünmek zorundadır, ki bu da işleri yavaşlatır.\n" #: src/video_out/video_out_sdl.c:574 +#, c-format msgid "video_out_sdl: fullscreen mode is NOT supported\n" msgstr "video_out_sdl: tam ekran kipi desteklenmiyor\n" @@ -4266,43 +4350,51 @@ msgstr "" "eklentisi" #: src/video_out/video_out_syncfb.c:280 +#, c-format msgid "video_out_syncfb: error. (YUY2 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: hata. (YUY2 ekran kartını tarafından desteklenmiyor)\n" #: src/video_out/video_out_syncfb.c:296 +#, c-format msgid "video_out_syncfb: error. (YV12 not supported by your graphic card)\n" msgstr "" "video_out_syncfb: hata. (YV12 ekran kartınız tarafından desteklenmiyor)\n" #: src/video_out/video_out_syncfb.c:950 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (3 plane))\n" msgstr "" "video_out_syncfb: bilgi. (SyncFB modülü YUV 4:2:0 (3 plane)) parametresini " "destekler\n" #: src/video_out/video_out_syncfb.c:955 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:0 (2 plane))\n" msgstr "" "video_out_syncfb: bilgi. (SyncFB modülü YUV 4:2:0 (2 plane)) parametresini " "destekler\n" #: src/video_out/video_out_syncfb.c:960 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUV 4:2:2)\n" msgstr "" "video_out_syncfb: bilgi. (SyncFB modülü YUV 4:2:2) parametresini destekler\n" #: src/video_out/video_out_syncfb.c:966 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports YUY2)\n" msgstr "" "video_out_syncfb: bilgi. (SyncFB modülü YUY2) parametresini destekler\n" #: src/video_out/video_out_syncfb.c:973 +#, c-format msgid "video_out_syncfb: info. (SyncFB module supports RGB565)\n" msgstr "" "video_out_syncfb: bilgi. (SyncFB modülü RGB565) parametresini destekler\n" #: src/video_out/video_out_syncfb.c:978 +#, c-format msgid "" "video_out_syncfb: aborting. (SyncFB module does not support YV12, YUY2 nor " "RGB565)\n" @@ -4311,6 +4403,7 @@ msgstr "" "parametrelerini, ne de RGB565) parametresini destekler\n" #: src/video_out/video_out_syncfb.c:997 +#, c-format msgid "" "video_out_syncfb: info. (brightness/contrast control won't be available " "because your SyncFB kernel module seems to be outdated. Please refer to " @@ -4392,18 +4485,22 @@ msgstr "" "sebebiyet verecektr." #: src/video_out/video_out_vidix.c:1072 +#, c-format msgid "video_out_vidix: adaptor supports the yuy2 format\n" msgstr "video_out_vidix: çevirici yuy2 kipini destekler\n" #: src/video_out/video_out_vidix.c:1083 +#, c-format msgid "video_out_vidix: adaptor supports the yv12 format\n" msgstr "video_out_vidix: paralel bilgisayar yv12 kipini destekler\n" #: src/video_out/video_out_vidix.c:1099 +#, c-format msgid "video_out_vidix: You have wrong version of VIDIX library\n" msgstr "video_out_vidix: VIDIX kütüphanesinin hatalı sürümüne sahipsiniz\n" #: src/video_out/video_out_vidix.c:1107 +#, c-format msgid "video_out_vidix: Couldn't find working VIDIX driver\n" msgstr "video_out_vidix: Çalışan VIDIX sürücünü bulamıyor\n" @@ -4444,6 +4541,7 @@ msgstr "" "video_out_xcbshm: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xcbshm.c:159 +#, c-format msgid "" "video_out_xcbshm: shared memory error (address error) when allocating " "image \n" @@ -4454,6 +4552,7 @@ msgstr "" "video_out_xcbshm: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xcbshm.c:170 +#, c-format msgid "" "video_out_xcbshm: x11 error during shared memory XImage creation\n" "video_out_xcbshm: => not using MIT Shared Memory extension.\n" @@ -4477,11 +4576,13 @@ msgstr "" "\n" #: src/video_out/video_out_xcbshm.c:1114 +#, c-format msgid "video_out_xcbshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xcbshm: MIT Paylaşılan Bellek uzantısı şu and ekranda değildir.\n" #: src/video_out/video_out_xcbshm.c:1213 +#, c-format msgid "video_out_xcbshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xcbshm: görüntü kipiniz algılanamadı, üzgünüm :-(\n" @@ -4489,7 +4590,8 @@ msgstr "video_out_xcbshm: görüntü kipiniz algılanamadı, üzgünüm :-(\n" msgid "xine video output plugin using the MIT X shared memory extension" msgstr "MIT X paylaşılan bellek uzantısını kullanan xine görüntü eklentisi" -#: src/video_out/video_out_xcbxv.c:266 +#: src/video_out/video_out_xcbxv.c:270 +#, c-format msgid "" "video_out_xcbxv: XvShmCreateImage returned a zero size\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4497,7 +4599,7 @@ msgstr "" "video_out_xcbxv: XvShmCreateImage sıfır boyutuna dönüştü\n" "video_out_xcbxv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xcbxv.c:275 +#: src/video_out/video_out_xcbxv.c:279 #, c-format msgid "" "video_out_xcbxv: shared memory error in shmget: %s\n" @@ -4506,7 +4608,8 @@ msgstr "" "video_out_xcbxv: shmget'de paylaşılan bellek hatası: %s\n" "video_out_xcbxv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xcbxv.c:294 +#: src/video_out/video_out_xcbxv.c:298 +#, c-format msgid "" "video_out_xcbxv: x11 error during shared memory XImage creation\n" "video_out_xcbxv: => not using MIT Shared Memory extension.\n" @@ -4514,17 +4617,24 @@ msgstr "" "video_out_xcbxv: XImage oluşturması boyunca x11 hatası\n" "video_out_xcbxv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xcbxv.c:1375 +#: src/video_out/video_out_xcbxv.c:1354 +#, c-format msgid "video_out_xcbxv: Xv extension not present.\n" msgstr "video_out_xcbxv: Xv uzantısı şu anda hazır değil.\n" -#: src/video_out/video_out_xcbxv.c:1402 src/video_out/video_out_xv.c:1452 -#: src/video_out/video_out_xxmc.c:2461 +#: src/video_out/video_out_xcbxv.c:1381 src/video_out/video_out_xxmc.c:2457 #, c-format msgid "%s: could not open Xv port %d - autodetecting\n" msgstr "" -#: src/video_out/video_out_xcbxv.c:1415 +#: src/video_out/video_out_xcbxv.c:1397 src/video_out/video_out_xv.c:1440 +#: src/video_out/video_out_xxmc.c:2469 +#, c-format +msgid "%s: no available ports of type \"%s\", defaulting...\n" +msgstr "" + +#: src/video_out/video_out_xcbxv.c:1405 +#, c-format msgid "" "video_out_xcbxv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4536,7 +4646,7 @@ msgstr "" " Ekran donanım sürücünüz Xv desteği vermiyor gibi " "gözüküyor?!\n" -#: src/video_out/video_out_xcbxv.c:1423 +#: src/video_out/video_out_xcbxv.c:1413 #, fuzzy, c-format msgid "" "video_out_xcbxv: using Xv port %d from adaptor %s for hardware colour space " @@ -4545,11 +4655,11 @@ msgstr "" "video_out_xcbxv: Xv portunu %d çeviriciden %s for donanım renk modeli " "çevrimi ve yükseltmesi için kullanıyor.\n" -#: src/video_out/video_out_xcbxv.c:1543 src/video_out/video_out_xv.c:1604 +#: src/video_out/video_out_xcbxv.c:1534 src/video_out/video_out_xv.c:1587 msgid "enable vblank sync" msgstr "" -#: src/video_out/video_out_xcbxv.c:1544 src/video_out/video_out_xv.c:1605 +#: src/video_out/video_out_xcbxv.c:1535 src/video_out/video_out_xv.c:1588 #, fuzzy msgid "" "This option will synchronize the update of the video image to the repainting " @@ -4562,21 +4672,23 @@ msgstr "" "parçalanmayı önler, fakat bu işlem daha çok ekran kartı hafızası kullanımına " "sebebiyet verecektr." -#: src/video_out/video_out_xcbxv.c:1582 +#: src/video_out/video_out_xcbxv.c:1579 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yv12 format.\n" msgstr "video_out_xcbxv: bu çevirici yv12 kipini destekler.\n" -#: src/video_out/video_out_xcbxv.c:1587 +#: src/video_out/video_out_xcbxv.c:1584 +#, c-format msgid "video_out_xcbxv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xcbxv: bu çevirici yuy2 kipini destekler.\n" -#: src/video_out/video_out_xcbxv.c:1601 src/video_out/video_out_xv.c:1673 -#: src/video_out/video_out_xvmc.c:1529 +#: src/video_out/video_out_xcbxv.c:1598 src/video_out/video_out_xv.c:1662 +#: src/video_out/video_out_xvmc.c:1531 msgid "deinterlace method (deprecated)" msgstr "dönüştürme yöntemi (arındırılmış)" -#: src/video_out/video_out_xcbxv.c:1602 src/video_out/video_out_xv.c:1674 -#: src/video_out/video_out_xvmc.c:1530 +#: src/video_out/video_out_xcbxv.c:1599 src/video_out/video_out_xv.c:1663 +#: src/video_out/video_out_xvmc.c:1532 msgid "" "This config setting is deprecated. You should use the new deinterlacing post " "processing settings instead.\n" @@ -4650,12 +4762,13 @@ msgstr "" "Tarak sonuçlarını kaldırmak için hafif bir dikey bulandırma uygular. " "Ortalama bir işlemci hızıyla iyi sonuçlar alınabilir." -#: src/video_out/video_out_xcbxv.c:1656 src/video_out/video_out_xv.c:1747 -#: src/video_out/video_out_xxmc.c:2763 +#: src/video_out/video_out_xcbxv.c:1653 src/video_out/video_out_xv.c:1736 +#: src/video_out/video_out_xxmc.c:2771 msgid "xine video output plugin using the MIT X video extension" msgstr "MIT X görüntü genişlemesini kullanmak için xine görüntü eklentisi" #: src/video_out/video_out_xshm.c:194 +#, c-format msgid "" "video_out_xshm: shared memory error when allocating image\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4673,6 +4786,7 @@ msgstr "" "video_out_xshm: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xshm.c:220 +#, c-format msgid "" "video_out_xshm: shared memory error (address error) when allocating image \n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4682,6 +4796,7 @@ msgstr "" "video_out_xshm: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xshm.c:237 +#, c-format msgid "" "video_out_xshm: x11 error during shared memory XImage creation\n" "video_out_xshm: => not using MIT Shared Memory extension.\n" @@ -4690,15 +4805,18 @@ msgstr "" "video_out_xshm: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xshm.c:1170 +#, c-format msgid "video_out_xshm: MIT shared memory extension not present on display.\n" msgstr "" "video_out_xshm: MIT Paylaşılan Bellek uzantısı şu and ekranda değildir.\n" #: src/video_out/video_out_xshm.c:1254 +#, c-format msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" msgstr "video_out_xshm: görüntü kipiniz algılanamadı, üzgünüm :-(\n" -#: src/video_out/video_out_xv.c:295 +#: src/video_out/video_out_xv.c:298 +#, c-format msgid "" "video_out_xv: XvShmCreateImage failed\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4706,7 +4824,8 @@ msgstr "" "video_out_xv: XvShmCreateImage başarılamadı\n" "video_out_xv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xv.c:321 +#: src/video_out/video_out_xv.c:324 +#, c-format msgid "" "video_out_xv: XvShmCreateImage returned a zero size\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4714,7 +4833,7 @@ msgstr "" "video_out_xv: XvShmCreateImage bir sıfır boyutuna dönüştü\n" "video_out_xv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xv.c:329 +#: src/video_out/video_out_xv.c:332 #, c-format msgid "" "video_out_xv: shared memory error in shmget: %s\n" @@ -4723,7 +4842,8 @@ msgstr "" "video_out_xv: shmget: %s de paylaşılan bellek hatası\n" "video_out_xv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xv.c:361 +#: src/video_out/video_out_xv.c:364 +#, c-format msgid "" "video_out_xv: x11 error during shared memory XImage creation\n" "video_out_xv: => not using MIT Shared Memory extension.\n" @@ -4731,11 +4851,18 @@ msgstr "" "video_out_xv: paylaşılan bellek XImage oluşturma boyunca x11 hatası\n" "video_out_xv: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xv.c:1427 +#: src/video_out/video_out_xv.c:1403 +#, c-format msgid "video_out_xv: Xv extension not present.\n" msgstr "video_out_xv: Xv uzantısı hazır değil.\n" -#: src/video_out/video_out_xv.c:1465 +#: src/video_out/video_out_xv.c:1428 +#, c-format +msgid "%s: could not open Xv port %<PRId32> - autodetecting\n" +msgstr "" + +#: src/video_out/video_out_xv.c:1447 +#, c-format msgid "" "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4745,7 +4872,7 @@ msgstr "" "bulamıyorum.\n" " Ekran donanım sürücünüz Xv desteği vermiyor gibi gözüküyor?!\n" -#: src/video_out/video_out_xv.c:1474 +#: src/video_out/video_out_xv.c:1456 #, fuzzy, c-format msgid "" "video_out_xv: using Xv port %ld from adaptor %s for hardware colour space " @@ -4754,23 +4881,27 @@ msgstr "" "video_out_xv: Xv portunu %ld çeviriciden %s donanım renk modeli çevrimi ve " "yükseltmesi için kullanıyor.\n" -#: src/video_out/video_out_xv.c:1640 +#: src/video_out/video_out_xv.c:1629 +#, c-format msgid "video_out_xv: this adaptor supports the yv12 format.\n" msgstr "video_out_xv: bu çevirici yv12 kipini destekler.\n" -#: src/video_out/video_out_xv.c:1645 +#: src/video_out/video_out_xv.c:1634 +#, c-format msgid "video_out_xv: this adaptor supports the yuy2 format.\n" msgstr "video_out_xv: bu çevirici yuy2 kipini destekler.\n" -#: src/video_out/video_out_xvmc.c:1598 +#: src/video_out/video_out_xvmc.c:1600 msgid "xine video output plugin using the XvMC X video extension" msgstr "XvMC X görüntü uzantısını kullanması için xine görüntü eklentisi" -#: src/video_out/video_out_xvmc.c:1640 +#: src/video_out/video_out_xvmc.c:1642 +#, c-format msgid "video_out_xvmc: XvMC extension not present.\n" msgstr "video_out_xvmc: XvMC uzantısı şu an hazır değil.\n" -#: src/video_out/video_out_xvmc.c:1738 +#: src/video_out/video_out_xvmc.c:1740 +#, c-format msgid "" "video_out_xvmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4778,7 +4909,7 @@ msgstr "" "video_out_xvmc: Xv uzantısı hazır fakat kullanılabilir durumda bir yuv12 " "portu bulamıyorum.\n" -#: src/video_out/video_out_xvmc.c:1747 +#: src/video_out/video_out_xvmc.c:1749 #, fuzzy, c-format msgid "" "video_out_xvmc: using Xv port %ld from adaptor %s\n" @@ -4787,24 +4918,28 @@ msgstr "" "video_out_xvmc: Xv portunu %ld çeviriciden %s kullanıyor\n" " donanım renk modeli çevrimi ve yükselmesi için\n" -#: src/video_out/video_out_xvmc.c:1752 +#: src/video_out/video_out_xvmc.c:1754 +#, c-format msgid " idct and motion compensation acceleration \n" msgstr " idct ve hareket bedeli hızlandırılması \n" -#: src/video_out/video_out_xvmc.c:1754 +#: src/video_out/video_out_xvmc.c:1756 +#, c-format msgid " motion compensation acceleration only\n" msgstr " sadece hareket bedeli hızlandırılması\n" -#: src/video_out/video_out_xvmc.c:1756 +#: src/video_out/video_out_xvmc.c:1758 +#, c-format msgid " no XvMC support \n" msgstr " hiçbir XvMC desteği yok \n" -#: src/video_out/video_out_xvmc.c:1757 +#: src/video_out/video_out_xvmc.c:1759 #, c-format msgid " With Overlay = %d; UnsignedIntra = %d.\n" msgstr " Üstyazımlı = %d; İmzalanmamış Intra = %d.\n" #: src/video_out/video_out_xxmc.c:639 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage failed\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4813,6 +4948,7 @@ msgstr "" "video_out_xxmc: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xxmc.c:649 +#, c-format msgid "" "video_out_xxmc: XvShmCreateImage returned a zero size\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4830,6 +4966,7 @@ msgstr "" "video_out_xxmc: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" #: src/video_out/video_out_xxmc.c:689 +#, c-format msgid "" "video_out_xxmc: x11 error during shared memory XImage creation\n" "video_out_xxmc: => not using MIT Shared Memory extension.\n" @@ -4837,11 +4974,13 @@ msgstr "" "video_out_xxmc: XImage oluşturması boyunca x11 hatası\n" "video_out_xxmc: => MIT Paylaşılan Bellek uzantısını kullanmıyor.\n" -#: src/video_out/video_out_xxmc.c:2436 +#: src/video_out/video_out_xxmc.c:2432 +#, c-format msgid "video_out_xxmc: Xv extension not present.\n" msgstr "video_out_xxmc: Xv uzantısı şu anda hazır değil.\n" -#: src/video_out/video_out_xxmc.c:2474 +#: src/video_out/video_out_xxmc.c:2476 +#, c-format msgid "" "video_out_xxmc: Xv extension is present but I couldn't find a usable yuv12 " "port.\n" @@ -4851,7 +4990,7 @@ msgstr "" "portunu bulamıyorum.\n" " Ekran donanım sürücünüz Xv desteği vermiyor gibi gözüküyor?!\n" -#: src/video_out/video_out_xxmc.c:2483 +#: src/video_out/video_out_xxmc.c:2485 #, fuzzy, c-format msgid "" "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colour space " @@ -4860,20 +4999,22 @@ msgstr "" "video_out_xxmc: donanım renk modeli çevrimi ve yükselmesi için Xv portunu %" "ld çevirividen %s kullanıyor\n" -#: src/video_out/video_out_xxmc.c:2641 +#: src/video_out/video_out_xxmc.c:2649 +#, c-format msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" msgstr "video_out_xxmc: bu çevirici yv12 kipini destekler.\n" -#: src/video_out/video_out_xxmc.c:2646 +#: src/video_out/video_out_xxmc.c:2654 +#, c-format msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" msgstr "video_out_xxmc: bu çevirici yuy2 kipini destekler.\n" -#: src/video_out/video_out_xxmc.c:2674 +#: src/video_out/video_out_xxmc.c:2682 msgid "Make XvMC allocate more frames for better buffering." msgstr "" "Daha iyi tamponlama için XvMC belirlemesini daha fazla çerçeveye atayın." -#: src/video_out/video_out_xxmc.c:2675 +#: src/video_out/video_out_xxmc.c:2683 msgid "" "Some XvMC implementations allow more than 8 frames.\n" "This option, when turned on, makes the driver try to\n" @@ -4884,11 +5025,11 @@ msgstr "" "15 kareyi denemesine izin verir. Birleşik renk berraklığı ve canlı VDR için " "bu yapılmalıdır.\n" -#: src/video_out/video_out_xxmc.c:2681 +#: src/video_out/video_out_xxmc.c:2689 msgid "Unichrome cpu save" msgstr "Birleşik Renk Berraklığı işlemci koruması" -#: src/video_out/video_out_xxmc.c:2682 +#: src/video_out/video_out_xxmc.c:2690 msgid "" "Saves CPU time by sleeping while decoder works.\n" "Only for Linux kernel 2.6 series or 2.4 with multimedia patch.\n" @@ -4899,12 +5040,12 @@ msgstr "" "birlikte.\n" "Deneysel.\n" -#: src/video_out/video_out_xxmc.c:2688 +#: src/video_out/video_out_xxmc.c:2696 #, fuzzy msgid "Fix buggy NVIDIA XvMC subpicture colours" msgstr "Sorunlu NVIDIA XvMC altresim renklerini düzeltin." -#: src/video_out/video_out_xxmc.c:2689 +#: src/video_out/video_out_xxmc.c:2697 #, fuzzy msgid "" "There's a bug in NVIDIA's XvMC lib that makes red OSD colours\n" @@ -4913,11 +5054,11 @@ msgstr "" "NVIDIA'nın XvMC kütüphanesinde kırmızı OSD renklerinin mavi veya başka\n" "gözükmelerine sebep olanen bir hata vardır.Bu seçenek temizleme gerektir.\n" -#: src/video_out/video_out_xxmc.c:2694 +#: src/video_out/video_out_xxmc.c:2702 msgid "Use bob as accelerated deinterlace method." msgstr "Hızlandırılmış dönüştürme yöntemi olarak bob'u kullanın." -#: src/video_out/video_out_xxmc.c:2695 +#: src/video_out/video_out_xxmc.c:2703 msgid "" "When interlacing is enabled for hardware accelerated frames,\n" "alternate between top and bottom field at double the frame rate.\n" @@ -4925,11 +5066,11 @@ msgstr "" "Donanımca hızlandırılmış kareler için dönüştürme devrede olduğunda,\n" "çerçeve oranındaki üst ve alt alanlara göz atmalı.\n" -#: src/video_out/video_out_xxmc.c:2701 +#: src/video_out/video_out_xxmc.c:2709 msgid "Don't use bob deinterlacing for progressive frames." msgstr "İlerleyen kareler için bob dönüştürmeyi kullanmayın." -#: src/video_out/video_out_xxmc.c:2702 +#: src/video_out/video_out_xxmc.c:2710 msgid "" "Progressive frames don't need deinterlacing, so disabling it on\n" "demand should result in a better picture.\n" @@ -4938,11 +5079,11 @@ msgstr "" "dışı bırakmak\n" "daha iyi bir görüntü elde etmenizi sağlayabilir.\n" -#: src/video_out/video_out_xxmc.c:2708 +#: src/video_out/video_out_xxmc.c:2716 msgid "Don't use bob deinterlacing while a scaled OSD is active." msgstr "Ayarlanmış OSD etkin olduğunda bob dönüştürmesini kullanmayın." -#: src/video_out/video_out_xxmc.c:2709 +#: src/video_out/video_out_xxmc.c:2717 msgid "" "Bob deinterlacing adds some noise to horizontal lines, so disabling it\n" "on demand should result in a better OSD picture.\n" @@ -4951,12 +5092,14 @@ msgstr "" "onu devre dışı bırakırsanız daha iyi bir OSD resmi elde edebilirsiniz.\n" #: src/video_out/x11osd.c:274 src/video_out/xcbosd.c:268 +#, c-format msgid "x11osd: XShape extension not available. unscaled overlay disabled.\n" msgstr "" "x11osd: XShape uzantısı uygun değildir. ayarlanmamış üstyazım devre dışı " "bırakıldı.\n" #: src/video_out/x11osd.c:287 src/video_out/xcbosd.c:281 +#, c-format msgid "x11osd: error creating window. unscaled overlay disabled.\n" msgstr "" "x11osd: pencere oluşturmakta hata, ayarlanmamış üstyazım devre dışı " @@ -4964,6 +5107,7 @@ msgstr "" #: src/video_out/x11osd.c:295 src/video_out/x11osd.c:336 #: src/video_out/xcbosd.c:291 +#, c-format msgid "x11osd: error creating pixmap. unscaled overlay disabled.\n" msgstr "" "x11osd: piksel harıtası oluşturmada hata. ayarlanmamış üstyazım devre dışı " @@ -5032,17 +5176,28 @@ msgstr "" "Bazı sorunlu video sürücüleri doğru çalışmaları için bazı düzeltmelere " "ihtiyaç duyarlar." -#: src/video_out/xv_common.h:66 +#: src/video_out/xv_common.h:73 msgid "video display method preference" msgstr "" -#: src/video_out/xv_common.h:67 +#: src/video_out/xv_common.h:74 msgid "" "Selects which video output method is preferred. Detection is done using the " "reported Xv adaptor names.\n" "(Only applies when auto-detecting which Xv port to use.)" msgstr "" +#: src/video_out/xv_common.h:81 +#, fuzzy +msgid "bicubic filtering" +msgstr "titreme filtreleme" + +#: src/video_out/xv_common.h:82 +msgid "" +"This option controls bicubic filtering of the video image. It may be used " +"instead of, or as well as, xine's deinterlacers." +msgstr "" + #: src/xine-engine/alphablend.c:2146 msgid "disable exact alpha blending of overlays" msgstr "üstyazımların tam alfa karışımını devre dışı bırak" @@ -5086,24 +5241,29 @@ msgstr "" "tüketiminin artması anlamına da gelir." #: src/xine-engine/audio_out.c:1110 +#, c-format msgid "" "audio_out: delay calculation impossible with an unavailable audio device\n" msgstr "" "audio_out: uyumsuz ses aygıtıyla gecikme hesaplaması yapmak olanaksızdır.\n" #: src/xine-engine/audio_out.c:1249 +#, c-format msgid "write to sound card failed. Assuming the device was unplugged.\n" msgstr "ses kartına yazma başarılamadı. Aygıtın bağlı olmadığı varsayılıyor.\n" #: src/xine-engine/audio_out.c:1421 +#, c-format msgid "8 bits not supported by driver, converting to 16 bits.\n" msgstr "8 bit sürücü tarafından desteklenmiyor, onu 16 bit'e çeviriyor.\n" #: src/xine-engine/audio_out.c:1429 +#, c-format msgid "mono not supported by driver, converting to stereo.\n" msgstr "mono sürücü tarafından desteklenmiyor, stereo'ya dönüştürülüyor.\n" #: src/xine-engine/audio_out.c:1435 +#, c-format msgid "stereo not supported by driver, converting to mono.\n" msgstr "stereo sürücü tarafından desteklenmiyor, mono'ya dönüştürülüyor.\n" @@ -5230,6 +5390,7 @@ msgstr "" "yapmayacaktır." #: src/xine-engine/audio_out.c:2264 +#, c-format msgid "audio_out: sorry, this should not happen. please restart xine.\n" msgstr "" "audio_out: üzgünüm, bu olay yaşanmamalıydı, lütfen xine uygulamasını baştan " @@ -5240,47 +5401,49 @@ msgstr "" msgid "xine-lib: buffer.c: There has been a fatal error: TOO MANY FREE's\n" msgstr "xine-lib: buffer.c: Sonlandırıcı bir hata var: TOO MANY FREE's\n" -#: src/xine-engine/configfile.c:932 +#: src/xine-engine/configfile.c:938 #, c-format msgid "The current config file has been modified by a newer version of xine." msgstr "" "Şu anki yapılandırma dosyası xine'nin daha yeni bir uygulaması tarafından " "değiştirilmiş durumdadır." -#: src/xine-engine/configfile.c:1037 +#: src/xine-engine/configfile.c:1045 #, c-format msgid "configfile: WARNING: backing up configfile to %s failed\n" msgstr "" "configfile: UYARI: configfile dosyasının şuraya %s yedeklenmesi " "başarılamadı\n" -#: src/xine-engine/configfile.c:1038 +#: src/xine-engine/configfile.c:1046 +#, c-format msgid "configfile: WARNING: your configuration will not be saved\n" msgstr "configfile: UYARI: yapılandırmanız kaydedilmeyecektir\n" -#: src/xine-engine/configfile.c:1138 +#: src/xine-engine/configfile.c:1146 #, c-format msgid "configfile: WARNING: writing configuration to %s failed\n" msgstr "configfile: UYARI: yapılandırmanın şuraya %s yazılması başarılamadı\n" -#: src/xine-engine/configfile.c:1139 +#: src/xine-engine/configfile.c:1147 #, c-format msgid "configfile: WARNING: removing possibly broken config file %s\n" msgstr "" "configfile: UYARI: büyük ihtimaller bozulmuş olan yapılandırma dosyasını " "kaldırıyor %s\n" -#: src/xine-engine/configfile.c:1140 +#: src/xine-engine/configfile.c:1148 #, c-format msgid "configfile: WARNING: you should check the backup file %s\n" msgstr "configfile: UYARI: yedekleme dosyasını denetlemelisiniz %s\n" -#: src/xine-engine/configfile.c:1275 +#: src/xine-engine/configfile.c:1283 #, c-format msgid "configfile: entry '%s' mustn't be modified from MRL\n" msgstr "configfile: girdi '%s' MRL tarafından değiştirilmiş olmamalı\n" #: src/xine-engine/info_helper.c:228 +#, c-format msgid "info_helper: can't find out current locale character set\n" msgstr "info_helper: şu anki yerel karakter ayarını çözümleyemez\n" @@ -5546,6 +5709,7 @@ msgid "load_plugins: failed to load audio output plugin <%s>\n" msgstr "load_plugins: ses çıkış eklentisini yüklemede hata <%s>\n" #: src/xine-engine/load_plugins.c:1827 +#, c-format msgid "" "load_plugins: audio output auto-probing didn't find any usable audio " "driver.\n" @@ -5562,52 +5726,54 @@ msgstr "" "load_plugins: eklenti kütüphanesi %s kaldırılamadı:\n" "%s\n" -#: src/xine-engine/osd.c:724 +#: src/xine-engine/osd.c:738 #, c-format msgid "font '%s-%d' already loaded, weird.\n" msgstr "'%s-%d' yazı tipi zaten yüklü.\n" -#: src/xine-engine/osd.c:736 +#: src/xine-engine/osd.c:750 #, c-format msgid "font '%s' loading failed (%d < %d)\n" msgstr "'%s' yazı tipi yüklenemedi (%d < %d)\n" -#: src/xine-engine/osd.c:746 +#: src/xine-engine/osd.c:760 #, c-format msgid "wrong version for font '%s'. expected %d found %d.\n" msgstr "'%s' yazı tipi için yanlış sürüm. beklenen %d bulunan %d.\n" -#: src/xine-engine/osd.c:813 +#: src/xine-engine/osd.c:827 +#, c-format msgid "osd: cannot initialize ft2 library\n" msgstr "osd: ft2 kütüphanesi başlatılamadı\n" -#: src/xine-engine/osd.c:836 +#: src/xine-engine/osd.c:855 #, c-format msgid "osd: error matching font %s with FontConfig" msgstr "osd: %s yazı tipi FontConfig ile eşlenirken hata oluştu" -#: src/xine-engine/osd.c:850 +#: src/xine-engine/osd.c:869 #, c-format msgid "osd: error loading font %s with FontConfig" msgstr "osd: %s yazı tipi FontConfig ile yüklenirken hata oluştu" -#: src/xine-engine/osd.c:853 +#: src/xine-engine/osd.c:872 #, c-format msgid "osd: error looking up font %s with FontConfig" msgstr "osd: %s yazı tipine FontConfig ile bakılırken hata oluştu" -#: src/xine-engine/osd.c:874 +#: src/xine-engine/osd.c:893 #, c-format msgid "osd: error loading font %s with ft2\n" msgstr "osd: %s yazı tipi ft2 ile yüklenirken hata oluştu\n" -#: src/xine-engine/osd.c:884 +#: src/xine-engine/osd.c:902 +#, c-format msgid "osd: error setting font size (no scalable font?)\n" msgstr "" "osd: yazı tipi boyutu ayarlama hatası (boyutlandırılabilir yazı tipi yok " "mudur?)\n" -#: src/xine-engine/osd.c:1000 +#: src/xine-engine/osd.c:1017 #, c-format msgid "" "osd: unknown sequence starting with byte 0x%02X in encoding \"%s\", " @@ -5616,41 +5782,46 @@ msgstr "" "osd: 0x%02X ile başlayan ve \"%s\" kodlamasında bulunan bilinmeyen sıralama, " "atlanıyor\n" -#: src/xine-engine/osd.c:1056 +#: src/xine-engine/osd.c:1073 +#, c-format msgid "osd: can't find out current locale character set\n" msgstr "osd: yerel karakter seti anlaşılamadı\n" -#: src/xine-engine/osd.c:1066 +#: src/xine-engine/osd.c:1083 #, c-format msgid "osd: unsupported conversion %s -> %s, no conversion performed\n" msgstr "osd: desteklenmeyen dönüşüm %s -> %s, dönüşüm yapılmadı\n" -#: src/xine-engine/osd.c:1121 src/xine-engine/osd.c:1289 +#: src/xine-engine/osd.c:1138 src/xine-engine/osd.c:1306 +#, c-format msgid "osd: font isn't defined\n" msgstr "osd: yazı tipi belirtilmedi\n" -#: src/xine-engine/osd.c:1160 +#: src/xine-engine/osd.c:1177 +#, c-format msgid "osd: error loading glyph\n" msgstr "osd: glyph yüklenirken hata oluştu\n" -#: src/xine-engine/osd.c:1166 +#: src/xine-engine/osd.c:1183 +#, c-format msgid "osd: error in rendering glyph\n" msgstr "osd: glyph hazırlanırken hata oluştu\n" -#: src/xine-engine/osd.c:1326 +#: src/xine-engine/osd.c:1343 #, c-format msgid "osd: error loading glyph %i\n" msgstr "osd: glyph %i yüklenirken hata oluştu\n" -#: src/xine-engine/osd.c:1333 +#: src/xine-engine/osd.c:1350 +#, c-format msgid "osd: error in rendering\n" msgstr "osd: hazırlama hatası\n" -#: src/xine-engine/osd.c:1587 +#: src/xine-engine/osd.c:1596 msgid "palette (foreground-border-background) to use for subtitles and OSD" msgstr "Altyazılar ve OSD için kullanılacak palet (ön yüz-sınır-arka plan)" -#: src/xine-engine/osd.c:1588 +#: src/xine-engine/osd.c:1597 msgid "" "The palette for on-screen-display and some subtitle formats that do not " "specify any colouring themselves. The palettes are listed in the form: " @@ -5737,6 +5908,7 @@ msgstr "" "görüntülenmeleri için programlanmadıklarındandır, xine bir uyarı gönderir." #: src/xine-engine/video_out.c:1916 +#, c-format msgid "video_out: sorry, this should not happen. please restart xine.\n" msgstr "" "video_out: üzgünüm, bu olmamalıydı. lütfen xine uygulamasını yeniden " @@ -5803,6 +5975,7 @@ msgstr "" #: src/xine-engine/xine.c:1040 src/xine-engine/xine.c:1053 #: src/xine-engine/xine.c:1079 src/xine-engine/xine.c:1104 #: src/xine-engine/xine.c:1141 +#, c-format msgid "xine: error while parsing mrl\n" msgstr "xine: mrl ayrıştırma hatası\n" @@ -5832,6 +6005,7 @@ msgid "xine: join rip input plugin\n" msgstr "xine: hızlı giriş eklentisini ekle\n" #: src/xine-engine/xine.c:959 +#, c-format msgid "xine: error opening rip input plugin instance\n" msgstr "xine: hızlı giriş eklentisini açmada hata\n" @@ -5841,18 +6015,22 @@ msgid "xine: last_probed demuxer %s failed to start\n" msgstr "xine: en son_kullanılan demuxer %s başlatılamadı\n" #: src/xine-engine/xine.c:1019 +#, c-format msgid "ignoring video\n" msgstr "video yoksayılıyor\n" #: src/xine-engine/xine.c:1032 +#, c-format msgid "ignoring audio\n" msgstr "ses yoksayılıyor\n" #: src/xine-engine/xine.c:1045 +#, c-format msgid "ignoring subpicture\n" msgstr "altresmi göz ardı ediyor\n" #: src/xine-engine/xine.c:1058 +#, c-format msgid "input cache plugin disabled\n" msgstr "girdi önbellek eklentisi pasifleştirildi\n" @@ -5862,6 +6040,7 @@ msgid "subtitle mrl opened '%s'\n" msgstr "alt yazı mrl dosyası '%s' açıldı\n" #: src/xine-engine/xine.c:1135 +#, c-format msgid "xine: error opening subtitle mrl\n" msgstr "xine: alt yazı mrl dosyası açılırken hata oluştu\n" @@ -5921,6 +6100,7 @@ msgid "The specified save_dir might be a security risk." msgstr "Belirtilen save_dir bir güvenlik riski oluşturabilir." #: src/xine-engine/xine.c:1704 +#, c-format msgid "xine: locale not supported by C library\n" msgstr "xine: sistem yereliniz C kütüphanesi tarafından desteklenmiyor\n" @@ -6099,26 +6279,6 @@ msgstr "" "algılanacaktır." #: src/xine-utils/memcpy.c:507 +#, c-format msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Memcpy karşılaştırma yöntemleri (daha küçük olan daha iyidir):\n" - -#~ msgid "Unable to create buffer position events." -#~ msgstr "Önbellek konum olayları oluşturulamadı." - -#~ msgid "Unable to get notification interface" -#~ msgstr "Bildirim arayüzü alınamadı" - -#~ msgid "Unable to set notification positions" -#~ msgstr "Bildirim konumları ayarlanamadı" - -#~ msgid ": delayed by %ld msec\n" -#~ msgstr ": %ld tarafından milisaniye geciktirildi\n" - -#~ msgid "" -#~ "The color key is used to tell the graphics card where to overlay the " -#~ "video image. Try different values, if you experience windows becoming " -#~ "transparent." -#~ msgstr "" -#~ "Renk anahtarı, video görüntüsünün nerede ekranı kaplayacağını ekran " -#~ "kartına bildirmek için kullanılır. Eğer pencereleriniz şeffaf hale " -#~ "geliyorsa değişik değerler deneyin." diff --git a/src/Makefile.am b/src/Makefile.am index cb6236033..ec4925407 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -11,11 +11,13 @@ SUBDIRS = \ demuxers \ libffmpeg \ libmpeg2 \ + libmpeg2new \ liba52 \ libspudec \ libspucc \ libspucmml \ libspudvb \ + libspuhdmv \ libsputext \ libdts \ libmad \ diff --git a/src/audio_out/Makefile.am b/src/audio_out/Makefile.am index b0c3d292e..07ad19c8d 100644 --- a/src/audio_out/Makefile.am +++ b/src/audio_out/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CPPFLAGS = -DXINE_COMPILE @@ -49,6 +50,10 @@ if HAVE_JACK jack_module = xineplug_ao_out_jack.la endif +if HAVE_SNDIO +sndio_module = xineplug_ao_out_sndio.la +endif + ## # IMPORTANT: # --------- @@ -66,7 +71,8 @@ xineplug_LTLIBRARIES = xineplug_ao_out_none.la xineplug_ao_out_file.la \ $(pulseaudio_module) \ $(directx2_module) \ $(fusionsound_module) \ - $(jack_module) + $(jack_module) \ + $(sndio_module) xineplug_ao_out_none_la_SOURCES = audio_none_out.c xineplug_ao_out_none_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) @@ -110,7 +116,7 @@ xineplug_ao_out_arts_la_LDFLAGS = -avoid-version -module xineplug_ao_out_directx_la_SOURCES = audio_directx_out.c xineplug_ao_out_directx_la_CPPFLAGS = $(DIRECTX_CPPFLAGS) -xineplug_ao_out_directx_la_LIBADD = $(XINE_LIB) $(DIRECTX_AUDIO_LIBS) +xineplug_ao_out_directx_la_LIBADD = $(XINE_LIB) $(DIRECTX_AUDIO_LIBS) $(LTLIBINTL) xineplug_ao_out_directx_la_CFLAGS = $(VISIBILITY_FLAG) xineplug_ao_out_directx_la_LDFLAGS = -avoid-version -module @@ -131,7 +137,7 @@ xineplug_ao_out_pulseaudio_la_LDFLAGS = -avoid-version -module xineplug_ao_out_directx2_la_SOURCES = audio_directx2_out.c xineplug_ao_out_directx2_la_CPPFLAGS = $(DIRECTX_CPPFLAGS) -xineplug_ao_out_directx2_la_LIBADD = $(XINE_LIB) $(DIRECTX_AUDIO_LIBS) $(PTHREAD_LIBS) +xineplug_ao_out_directx2_la_LIBADD = $(XINE_LIB) $(DIRECTX_AUDIO_LIBS) $(PTHREAD_LIBS) $(LTLIBINTL) xineplug_ao_out_directx2_la_CFLAGS = $(VISIBILITY_FLAG) xineplug_ao_out_directx2_la_LDFLAGS = -avoid-version -module @@ -144,3 +150,8 @@ xineplug_ao_out_jack_la_SOURCES = audio_jack_out.c xineplug_ao_out_jack_la_LIBADD = $(XINE_LIB) $(JACK_LIBS) $(LTLIBINTL) xineplug_ao_out_jack_la_CFLAGS = $(VISIBILITY_FLAG) $(JACK_CFLAGS) xineplug_ao_out_jack_la_LDFLAGS = -avoid-version -module + +xineplug_ao_out_sndio_la_SOURCES = audio_sndio_out.c +xineplug_ao_out_sndio_la_LIBADD = $(XINE_LIB) $(SNDIO_LIBS) +xineplug_ao_out_sndio_la_CFLAGS = $(VISIBILITY_FLAG) $(SNDIO_CFLAGS) +xineplug_ao_out_sndio_la_LDFLAGS = -avoid-version -module diff --git a/src/audio_out/audio_directx2_out.c b/src/audio_out/audio_directx2_out.c index e91e919fc..6bee2066c 100644 --- a/src/audio_out/audio_directx2_out.c +++ b/src/audio_out/audio_directx2_out.c @@ -143,9 +143,13 @@ typedef struct { * Defining them here allows us to get rid of the dxguid library during * the linking stage. *****************************************************************************/ -static const GUID IID_IDirectSoundNotify = { +static const GUID xine_IID_IDirectSoundNotify = { 0xB0210783, 0x89CD, 0x11D0, {0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16} }; +#ifdef IID_IDirectSoundNotify +# undef IID_IDirectSoundNotify +#endif +#define IID_IDirectSoundNotify xine_IID_IDirectSoundNotify @@ -550,8 +554,6 @@ static size_t buffer_occupied_size(dx2_driver_t *this) { /* service thread working with direct sound buffer */ static void *buffer_service(void *data) { dx2_driver_t *this = (dx2_driver_t *)data; - DWORD ret; - size_t play_pos; size_t buffer_min; size_t data_in_buffer; diff --git a/src/audio_out/audio_directx_out.c b/src/audio_out/audio_directx_out.c index 7c99e97e2..21ba23d91 100644 --- a/src/audio_out/audio_directx_out.c +++ b/src/audio_out/audio_directx_out.c @@ -60,9 +60,13 @@ typedef unsigned char boolean; * the linking stage. *****************************************************************************/ #if 1 -static const GUID IID_IDirectSoundNotify = { +static const GUID xine_IID_IDirectSoundNotify = { 0xB0210783,0x89CD,0x11D0,{0xAF,0x08,0x00,0xA0,0xC9,0x25,0xCD,0x16} }; +#ifdef IID_IDirectSoundNotify +# undef IID_IDirectSoundNotify +#endif +#define IID_IDirectSoundNotify xine_IID_IDirectSoundNotify #endif diff --git a/src/audio_out/audio_jack_out.c b/src/audio_out/audio_jack_out.c index 8a77ab018..6394fd3e3 100644 --- a/src/audio_out/audio_jack_out.c +++ b/src/audio_out/audio_jack_out.c @@ -1,3 +1,6 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include <stdio.h> #include <errno.h> @@ -160,7 +163,7 @@ static int write_buffer_16 (jack_driver_t *this, unsigned char *data, int len) for (i = 0; i < samples; i++) { /* Read in 16bits, write out floats */ p_write = (float *) (&(this->buffer[write_pos])); - *p_write = ((float) (p_read[i])) / 32767.0f; + *p_write = ((float) (p_read[i])) / 32768.0f; write_pos = (write_pos + sizeof (float)) % BUFFSIZE; } this->write_pos = write_pos; @@ -305,19 +308,11 @@ static int jack_open_device (ao_driver_t *this_gen, char *jack_device, num_channels); goto err_out; } - /* Try to create a client called "xine" */ - if ((client = jack_client_new ("xine")) == 0) { - /* If that doesn't work it could be because running two copies of xine - try using a unique name */ - char client_name[20]; - sprintf (client_name, "xine (%d)", (int) getpid ()); - - if ((client = jack_client_new (client_name)) == 0) { - xprintf (this->xine, XINE_VERBOSITY_LOG, - "\njack_open_device: Error: Failed to connect to JACK server\n"); - xprintf (this->xine, XINE_VERBOSITY_LOG, - "jack_open_device: (did you start 'jackd' server?)\n"); - goto err_out; - } + /* Try to create a client called "xine[-NN]" */ + if ((client = jack_client_open ("xine", JackNullOption, NULL)) == 0) { + xprintf (this->xine, XINE_VERBOSITY_LOG, + "\njack_open_device: Error: Failed to connect to JACK server\n"); + goto err_out; } /* Save the new client */ @@ -715,19 +710,11 @@ static ao_driver_t *open_jack_plugin (audio_driver_class_t *class_gen, #define A52_PASSTHRU 12 int speakers; - /* Try to create a client called "xine" */ - if ((client = jack_client_new ("xine")) == 0) { - /* If that doesn't work it could be because running two copies of xine - try using a unique name */ - char name[20]; - sprintf (name, "xine (%d)", (int) getpid ()); - - if ((client = jack_client_new (name)) == 0) { - xprintf (class->xine, XINE_VERBOSITY_LOG, - "\nopen_jack_plugin: Error: Failed to connect to JACK server\n"); - xprintf (class->xine, XINE_VERBOSITY_LOG, - "open_jack_plugin: (did you start 'jackd' server?)\n"); - return 0; - } + /* Try to create a client called "xine[-NN]" */ + if ((client = jack_client_open ("xine", JackNullOption, NULL)) == 0) { + xprintf (class->xine, XINE_VERBOSITY_LOG, + "\nopen_jack_plugin: Error: Failed to connect to JACK server\n"); + return 0; } this = calloc(1, sizeof (jack_driver_t)); diff --git a/src/audio_out/audio_pulse_out.c b/src/audio_out/audio_pulse_out.c index 4b66fbaed..d4d19ce1b 100644 --- a/src/audio_out/audio_pulse_out.c +++ b/src/audio_out/audio_pulse_out.c @@ -235,7 +235,7 @@ static int connect_context(pulse_driver_t *this) { } if (!this->context) { - char fn[PATH_MAX], *p; + char fn[XINE_PATH_MAX], *p; if (pa_get_binary_name(fn, sizeof(fn))) p = pa_path_get_filename(fn); diff --git a/src/audio_out/audio_sndio_out.c b/src/audio_out/audio_sndio_out.c new file mode 100644 index 000000000..1d789b5e8 --- /dev/null +++ b/src/audio_out/audio_sndio_out.c @@ -0,0 +1,414 @@ +/* + * Copyright (c) 2008 Brad Smith <brad@comstyle.com> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* ao plugin for sndio by Brad Smith <brad@comstyle.com>. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdio.h> +#include <errno.h> +#include <string.h> +#include <stdlib.h> +#include <fcntl.h> +#include <math.h> +#include <unistd.h> +#include <inttypes.h> +#include <pthread.h> + +#include <sndio.h> + +#include "xine_internal.h" +#include "xineutils.h" +#include "audio_out.h" +#include "bswap.h" + +#define GAP_TOLERANCE AO_MAX_GAP +#define PCT_TO_MIDI(p) (((p) * SIO_MAXVOL + 50) / 100) + +typedef struct { + audio_driver_class_t driver_class; + xine_t *xine; +} sndio_class_t; + +typedef struct sndio_driver_s { + ao_driver_t ao_driver; + xine_t *xine; + + struct sio_hdl *hdl; + long long realpos, playpos; + int capabilities; + + int num_channels; + u_int32_t bits_per_sample; + u_int32_t bytes_per_frame; + + struct { + int volume; + int mute; + } mixer; +} sndio_driver_t; + +/* + * Callback to notify of frames processed by the hw. It is + * called from the mail loop called from sio_write(). + */ +static void ao_sndio_onmove_cb(void *addr, int delta) +{ + sndio_driver_t *this = (sndio_driver_t *)addr; + + this->realpos += delta; +} + +/* + * Open the audio device for writing to. + */ +static int ao_sndio_open(ao_driver_t *this_gen, + uint32_t bits, uint32_t rate, int mode) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + struct sio_par par; + + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open bits=%d rate=%d, mode=%d\n", + bits, rate, mode); + + if (this->hdl != NULL) { + sio_close (this->hdl); + this->hdl = NULL; + } + + this->hdl = sio_open(NULL, SIO_PLAY, 0); + if (this->hdl == NULL) + goto bad; + + sio_initpar(&par); + + switch (mode) { + case AO_CAP_MODE_MONO: + par.pchan = 1; + break; + case AO_CAP_MODE_STEREO: + par.pchan = 2; + break; +#if 0 + case AO_CAP_MODE_4CHANNEL: + par.pchan = 4; + break; + case AO_CAP_MODE_4_1CHANNEL: + case AO_CAP_MODE_5CHANNEL: + case AO_CAP_MODE_5_1CHANNEL: + par.pchan = 6; + break; +#endif + default: + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open does not support the requested mode: 0x%X\n", + mode); + goto bad; + } + + switch (bits) { + case 8: + par.bits = 8; + par.sig = 0; + break; + case 16: + par.bits = 16; + par.sig = 1; + break; + default: + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open bits per sample not supported: %d\n", bits); + goto bad; + } + + par.rate = rate; + par.appbufsz = par.rate * 250 / 1000; /* 250ms buffer */ + + if (!sio_setpar(this->hdl, &par)) { + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open could not set params\n"); + goto bad; + } + + if (!sio_getpar(this->hdl, &par)) { + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open could not get params\n"); + goto bad; + } + + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open %d channels output\n", + par.pchan); + + this->num_channels = par.pchan; + this->bytes_per_frame = par.bps * par.pchan; + this->playpos = 0; + this->realpos = 0; + sio_onmove(this->hdl, ao_sndio_onmove_cb, this); + + if (!sio_start(this->hdl)) { + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_open could not start\n"); + goto bad; + } + + return par.rate; + +bad: + if (this->hdl != NULL) + sio_close(this->hdl); + return 0; +} + +static int ao_sndio_num_channels(ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + return this->num_channels; +} + +static int ao_sndio_bytes_per_frame(ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + return this->bytes_per_frame; +} + +static int ao_sndio_get_gap_tolerance (ao_driver_t *this_gen) +{ + return GAP_TOLERANCE; +} + +static int ao_sndio_write(ao_driver_t *this_gen, int16_t *data, + uint32_t num_frames) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + size_t ret, size = num_frames * this->bytes_per_frame; + + ret = sio_write(this->hdl, data, size); + if (ret == 0) + return 0; + + this->playpos += num_frames; + + return 1; +} + +static int ao_sndio_delay (ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + int bufused; + + if (this->realpos < 0) + bufused = this->playpos; + else + bufused = this->playpos - this->realpos; + + return bufused; +} + +static void ao_sndio_close(ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_close called\n"); + + if (!sio_stop(this->hdl)) { + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_close could not stop\n"); + } + + sio_close(this->hdl); + this->hdl = NULL; +} + +static uint32_t ao_sndio_get_capabilities (ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + return this->capabilities; +} + +static void ao_sndio_exit(ao_driver_t *this_gen) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + xprintf (this->xine, XINE_VERBOSITY_DEBUG, + "audio_sndio_out: ao_sndio_exit called\n"); + + if (this->hdl != NULL) + sio_close(this->hdl); +} + +static int ao_sndio_get_property (ao_driver_t *this_gen, int property) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + switch (property) { + case AO_PROP_MIXER_VOL: + return this->mixer.volume; + break; + case AO_PROP_MUTE_VOL: + return this->mixer.mute; + break; + } + + return 0; +} + +static int ao_sndio_set_property (ao_driver_t *this_gen, int property, int value) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + int vol; + + if (this->hdl == NULL) + return 0; + + switch(property) { + case AO_PROP_MIXER_VOL: + this->mixer.volume = value; + if (!this->mixer.mute) + sio_setvol(this->hdl, PCT_TO_MIDI(this->mixer.volume)); + return this->mixer.volume; + break; + + case AO_PROP_MUTE_VOL: + this->mixer.mute = (value) ? 1 : 0; + vol = 0; + if (!this->mixer.mute) + vol = PCT_TO_MIDI(this->mixer.volume); + sio_setvol(this->hdl, vol); + return value; + break; + } + + return value; +} + +/* + * pause, resume, flush buffers + */ +static int ao_sndio_ctrl(ao_driver_t *this_gen, int cmd, ...) +{ + sndio_driver_t *this = (sndio_driver_t *) this_gen; + + /* + * sndio pauses automatically if there are no more samples to play + * and resumes when there are samples again. So we leave this empty + * for the moment. + */ + + return 0; +} + +static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *data) +{ + sndio_class_t *class = (sndio_class_t *) class_gen; + sndio_driver_t *this; + + lprintf ("audio_sndio_out: open_plugin called\n"); + + this = calloc(1, sizeof (sndio_driver_t)); + if (!this) + return NULL; + + this->xine = class->xine; + + /* + * Set capabilities + */ + this->capabilities = AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | +#if 0 + AO_CAP_MODE_4CHANNEL | AO_CAP_MODE_4_1CHANNEL | + AO_CAP_MODE_5CHANNEL | AO_CAP_MODE_5_1CHANNEL | +#endif + AO_CAP_MIXER_VOL | AO_CAP_MUTE_VOL | AO_CAP_8BITS | + AO_CAP_16BITS; + + this->ao_driver.get_capabilities = ao_sndio_get_capabilities; + this->ao_driver.get_property = ao_sndio_get_property; + this->ao_driver.set_property = ao_sndio_set_property; + this->ao_driver.open = ao_sndio_open; + this->ao_driver.num_channels = ao_sndio_num_channels; + this->ao_driver.bytes_per_frame = ao_sndio_bytes_per_frame; + this->ao_driver.delay = ao_sndio_delay; + this->ao_driver.write = ao_sndio_write; + this->ao_driver.close = ao_sndio_close; + this->ao_driver.exit = ao_sndio_exit; + this->ao_driver.get_gap_tolerance = ao_sndio_get_gap_tolerance; + this->ao_driver.control = ao_sndio_ctrl; + + return &this->ao_driver; +} + +/* + * class functions + */ + +static char* get_identifier (audio_driver_class_t *this_gen) +{ + return "sndio"; +} + +static char* get_description (audio_driver_class_t *this_gen) +{ + return _("xine audio output plugin using sndio audio devices/drivers "); +} + +static void dispose_class (audio_driver_class_t *this_gen) +{ + sndio_class_t *this = (sndio_class_t *) this_gen; + + free(this); +} + +static void *init_class (xine_t *xine, void *data) +{ + sndio_class_t *this; + + lprintf ("audio_sndio_out: init class\n"); + + this = calloc(1, sizeof (sndio_class_t)); + if (!this) + return NULL; + + this->driver_class.open_plugin = open_plugin; + this->driver_class.get_identifier = get_identifier; + this->driver_class.get_description = get_description; + this->driver_class.dispose = dispose_class; + + this->xine = xine; + + return this; +} + +static const ao_info_t ao_info_sndio = { + 12 +}; + +/* + * exported plugin catalog entry + */ + +const plugin_info_t xine_plugin_info[] EXPORTED = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_AUDIO_OUT, 8, "sndio", XINE_VERSION_CODE, &ao_info_sndio, init_class }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/combined/Makefile.am b/src/combined/Makefile.am index 03250ef67..6a43fed47 100644 --- a/src/combined/Makefile.am +++ b/src/combined/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common SUBDIRS = ffmpeg diff --git a/src/combined/demux_flac.c b/src/combined/demux_flac.c index ebba63701..fc638fe35 100644 --- a/src/combined/demux_flac.c +++ b/src/combined/demux_flac.c @@ -583,7 +583,7 @@ open_plugin (demux_class_t *class_gen, } break; case METHOD_BY_EXTENSION: { - char *ending, *mrl; + const char *ending, *mrl; mrl = input->get_mrl (input); @@ -715,22 +715,22 @@ open_plugin (demux_class_t *class_gen, /* FLAC Demuxer class */ -static char * +static const char * get_description (demux_class_t *this_gen) { return "FLAC demux plugin"; } -static char * +static const char * get_identifier (demux_class_t *this_gen) { return "FLAC"; } -static char * +static const char * get_extensions (demux_class_t *this_gen) { return "flac"; } -static char * +static const char * get_mimetypes (demux_class_t *this_gen) { return "audio/x-flac: flac: FLAC Audio;" "audio/flac: flac: FLAC Audio;"; diff --git a/src/combined/ffmpeg/Makefile.am b/src/combined/ffmpeg/Makefile.am index 4d7e70423..24cab7577 100644 --- a/src/combined/ffmpeg/Makefile.am +++ b/src/combined/ffmpeg/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common DEFAULT_INCLUDES = -I. @@ -13,11 +14,18 @@ link_ffmpeg = \ $(top_builddir)/src/libffmpeg/libavcodec/libpostproc/libpostprocess.la endif +ff_generated = \ + avcodec_video.list avcodec_audio.list \ + ff_video_list.h ff_audio_list.h + +BUILT_SOURCES = $(ff_generated) + # ffmpeg_config.h is generated by configure -DISTCLEANFILES = ffmpeg_config.h +DISTCLEANFILES = ffmpeg_config.h $(ff_generated) # this must always be included, even if the current machine has no DXR3... -EXTRA_DIST = ffmpeg_encoder.c +EXTRA_DIST = ffmpeg_encoder.c \ + xine_video.list xine_audio.list mkcodeclist.pl xineplug_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la @@ -45,3 +53,29 @@ xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(top_srcdir)/src/libffmpeg/libavcodec/libavcodec.la: make -C $(top_srcdir)/src/libffmpeg + +# Generation of ffmpeg->xine codec mapping lists (see xine_*.list). + +AV_CPP = $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) + +# Extract some CODEC_ID_* from avcodec.h. Requires some sed mangling. +avcodec_audio.list: AV_CODECS:=/CODEC_ID_PCM_S16LE/,/CODEC_ID_DVD_SUBTITLE/ +avcodec_video.list: AV_CODECS:=/CODEC_ID_MPEG1VIDEO/,/CODEC_ID_PCM_S16LE/ + +avcodec_audio.list avcodec_video.list: + echo '#include "$(srcdir)/ffmpeg_decoder.h"' | $(AV_CPP) - |\ + sed -e $(AV_CODECS)'! d; s/^[ \t]*//; s/[=,].*//; /^$$/ d' >$@ + +# Generate the mappings. These are #included where needed. +ff_%_list.h: $(srcdir)/mkcodeclist.pl avcodec_%.list $(srcdir)/xine_%.list + $(PERL) $^ $@ + +ff_audio_decoder.c: ff_audio_list.h +ff_video_decoder.c: ff_video_list.h + +# 'make report' prints tokens corresponding to any unhandled codecs. +report: avcodec_audio.list avcodec_video.list + @$(top_srcdir)/src/combined/ffmpeg/mkcodeclist.pl avcodec_audio.list xine_audio.list - audio + @$(top_srcdir)/src/combined/ffmpeg/mkcodeclist.pl avcodec_video.list xine_video.list - video + +.PHONY: report diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c index e0d294113..24c193b44 100644 --- a/src/combined/ffmpeg/ff_audio_decoder.c +++ b/src/combined/ffmpeg/ff_audio_decoder.c @@ -73,45 +73,7 @@ typedef struct ff_audio_decoder_s { } ff_audio_decoder_t; -static const ff_codec_t ff_audio_lookup[] = { - {BUF_AUDIO_WMAV1, CODEC_ID_WMAV1, "MS Windows Media Audio 1 (ffmpeg)"}, - {BUF_AUDIO_WMAV2, CODEC_ID_WMAV2, "MS Windows Media Audio 2 (ffmpeg)"}, - {BUF_AUDIO_14_4, CODEC_ID_RA_144, "Real 14.4 (ffmpeg)"}, - {BUF_AUDIO_28_8, CODEC_ID_RA_288, "Real 28.8 (ffmpeg)"}, - {BUF_AUDIO_MPEG, CODEC_ID_MP3, "MP3 (ffmpeg)"}, - {BUF_AUDIO_MP3ADU, CODEC_ID_MP3ADU, "MPEG-3 adu (ffmpeg)"}, - {BUF_AUDIO_MSADPCM, CODEC_ID_ADPCM_MS, "MS ADPCM (ffmpeg)"}, - {BUF_AUDIO_QTIMAADPCM, CODEC_ID_ADPCM_IMA_QT, "QT IMA ADPCM (ffmpeg)"}, - {BUF_AUDIO_MSIMAADPCM, CODEC_ID_ADPCM_IMA_WAV, "MS IMA ADPCM (ffmpeg)"}, - {BUF_AUDIO_DK3ADPCM, CODEC_ID_ADPCM_IMA_DK3, "Duck DK3 ADPCM (ffmpeg)"}, - {BUF_AUDIO_DK4ADPCM, CODEC_ID_ADPCM_IMA_DK4, "Duck DK4 ADPCM (ffmpeg)"}, - {BUF_AUDIO_VQA_IMA, CODEC_ID_ADPCM_IMA_WS, "Westwood Studios IMA (ffmpeg)"}, - {BUF_AUDIO_SMJPEG_IMA, CODEC_ID_ADPCM_IMA_SMJPEG, "SMJPEG IMA (ffmpeg)"}, - {BUF_AUDIO_XA_ADPCM, CODEC_ID_ADPCM_XA, "CD-ROM/XA ADPCM (ffmpeg)"}, - {BUF_AUDIO_4X_ADPCM, CODEC_ID_ADPCM_4XM, "4X ADPCM (ffmpeg)"}, - {BUF_AUDIO_EA_ADPCM, CODEC_ID_ADPCM_EA, "Electronic Arts ADPCM (ffmpeg)"}, - {BUF_AUDIO_MULAW, CODEC_ID_PCM_MULAW, "mu-law logarithmic PCM (ffmpeg)"}, - {BUF_AUDIO_ALAW, CODEC_ID_PCM_ALAW, "A-law logarithmic PCM (ffmpeg)"}, - {BUF_AUDIO_ROQ, CODEC_ID_ROQ_DPCM, "RoQ DPCM (ffmpeg)"}, - {BUF_AUDIO_INTERPLAY, CODEC_ID_INTERPLAY_DPCM, "Interplay DPCM (ffmpeg)"}, - {BUF_AUDIO_MAC3, CODEC_ID_MACE3, "MACE 3:1 (ffmpeg)"}, - {BUF_AUDIO_MAC6, CODEC_ID_MACE6, "MACE 6:1 (ffmpeg)"}, - {BUF_AUDIO_XAN_DPCM, CODEC_ID_XAN_DPCM, "Origin Xan DPCM (ffmpeg)"}, - {BUF_AUDIO_VMD, CODEC_ID_VMDAUDIO, "Sierra VMD Audio (ffmpeg)"}, - {BUF_AUDIO_FLAC, CODEC_ID_FLAC, "FLAC (ffmpeg)"}, - {BUF_AUDIO_SHORTEN, CODEC_ID_SHORTEN, "Shorten (ffmpeg)"}, - {BUF_AUDIO_ALAC, CODEC_ID_ALAC, "ALAC (ffmpeg)"}, - {BUF_AUDIO_QDESIGN2, CODEC_ID_QDM2, "QDesign (ffmpeg)"}, - {BUF_AUDIO_COOK, CODEC_ID_COOK, "RealAudio Cooker (ffmpeg)"}, - {BUF_AUDIO_TRUESPEECH, CODEC_ID_TRUESPEECH, "TrueSpeech (ffmpeg)"}, - {BUF_AUDIO_TTA, CODEC_ID_TTA, "True Audio Lossless (ffmpeg)"}, - {BUF_AUDIO_SMACKER, CODEC_ID_SMACKAUDIO, "Smacker (ffmpeg)"}, - {BUF_AUDIO_FLVADPCM, CODEC_ID_ADPCM_SWF, "Flash ADPCM (ffmpeg)"}, - {BUF_AUDIO_WAVPACK, CODEC_ID_WAVPACK, "WavPack (ffmpeg)"}, - {BUF_AUDIO_AMR_NB, CODEC_ID_AMR_NB, "AMR narrow band (ffmpeg)"}, - {BUF_AUDIO_AMR_WB, CODEC_ID_AMR_WB, "AMR wide band (ffmpeg)"}, -}; - +#include "ff_audio_list.h" static void ff_audio_ensure_buffer_size(ff_audio_decoder_t *this, int size) { if (size > this->bufsize) { @@ -249,6 +211,8 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) if (extradata + data_len > this->size) break; /* abort early - extradata length is bad */ + if (extradata > INT_MAX - data_len) + break;/*integer overflow*/ this->context->extradata_size = data_len; this->context->extradata = malloc(this->context->extradata_size + @@ -367,6 +331,13 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) /* dispatch the decoded audio */ out = 0; while (out < decode_buffer_size) { + int stream_status = xine_get_status(this->stream); + + if (stream_status == XINE_STATUS_QUIT || stream_status == XINE_STATUS_STOP) { + this->size = 0; + return; + } + audio_buffer = this->stream->audio_out->get_buffer (this->stream->audio_out); if (audio_buffer->mem_size == 0) { @@ -500,115 +471,6 @@ void *init_audio_plugin (xine_t *xine, void *data) { return this; } -static uint32_t supported_audio_types[] = { - #ifdef CONFIG_WMAV1_DECODER - BUF_AUDIO_WMAV1, - #endif - #ifdef CONFIG_WMAV2_DECODER - BUF_AUDIO_WMAV2, - #endif - #ifdef CONFIG_RA_144_DECODER - BUF_AUDIO_14_4, - #endif - #ifdef CONFIG_RA_288_DECODER - BUF_AUDIO_28_8, - #endif - #ifdef CONFIG_MP3_DECODER - BUF_AUDIO_MPEG, - #endif - #ifdef CONFIG_ADPCM_MS_DECODER - BUF_AUDIO_MSADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_QT_DECODER - BUF_AUDIO_QTIMAADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_WAV_DECODER - BUF_AUDIO_MSIMAADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_DK3_DECODER - BUF_AUDIO_DK3ADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_DK4_DECODER - BUF_AUDIO_DK4ADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_WS_DECODER - BUF_AUDIO_VQA_IMA, - #endif - #ifdef CONFIG_ADPCM_IMA_SMJPEG_DECODER - BUF_AUDIO_SMJPEG_IMA, - #endif - #ifdef CONFIG_ADPCM_XA_DECODER - BUF_AUDIO_XA_ADPCM, - #endif - #ifdef CONFIG_ADPCM_4XM_DECODER - BUF_AUDIO_4X_ADPCM, - #endif - #ifdef CONFIG_ADPCM_EA_DECODER - BUF_AUDIO_EA_ADPCM, - #endif - #ifdef CONFIG_PCM_MULAW_DECODER - BUF_AUDIO_MULAW, - #endif - #ifdef CONFIG_PCM_ALAW_DECODER - BUF_AUDIO_ALAW, - #endif - #ifdef CONFIG_ROQ_DPCM_DECODER - BUF_AUDIO_ROQ, - #endif - #ifdef CONFIG_INTERPLAY_DPCM_DECODER - BUF_AUDIO_INTERPLAY, - #endif - #ifdef CONFIG_MACE3_DECODER - BUF_AUDIO_MAC3, - #endif - #ifdef CONFIG_MACE6_DECODER - BUF_AUDIO_MAC6, - #endif - #ifdef CONFIG_XAN_DPCM_DECODER - BUF_AUDIO_XAN_DPCM, - #endif - #ifdef CONFIG_VMDAUDIO_DECODER - BUF_AUDIO_VMD, - #endif - #ifdef CONFIG_FLAC_DECODER - BUF_AUDIO_FLAC, - #endif - #ifdef CONFIG_SHORTEN_DECODER - BUF_AUDIO_SHORTEN, - #endif - #ifdef CONFIG_ALAC_DECODER - BUF_AUDIO_ALAC, - #endif - #ifdef CONFIG_QDM2_DECODER - BUF_AUDIO_QDESIGN2, - #endif - #ifdef CONFIG_COOK_DECODER - BUF_AUDIO_COOK, - #endif - #ifdef CONFIG_TRUESPEECH_DECODER - BUF_AUDIO_TRUESPEECH, - #endif - #ifdef CONFIG_TTA_DECODER - BUF_AUDIO_TTA, - #endif - #ifdef CONFIG_SMACKAUDIO_DECODER - BUF_AUDIO_SMACKER, - #endif - #ifdef CONFIG_ADPCM_SWF_DECODER - BUF_AUDIO_FLVADPCM, - #endif - #ifdef CONFIG_WAVPACK_DECODER - BUF_AUDIO_WAVPACK, - #endif - #ifdef CONFIG_AMR_NB_DECODER - BUF_AUDIO_AMR_NB, - #endif - #ifdef CONFIG_AMR_WB_DECODER - BUF_AUDIO_AMR_WB, - #endif - 0 -}; - decoder_info_t dec_info_ffmpeg_audio = { supported_audio_types, /* supported types */ 7 /* priority */ diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index a04d2feb6..98caac269 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -58,6 +58,12 @@ #define ENABLE_DIRECT_RENDERING +/* reordered_opaque appeared in libavcodec 51.68.0 */ +#define AVCODEC_HAS_REORDERED_OPAQUE +#if LIBAVCODEC_VERSION_INT < 0x334400 +# undef AVCODEC_HAS_REORDERED_OPAQUE +#endif + typedef struct ff_video_decoder_s ff_video_decoder_t; typedef struct ff_video_class_s { @@ -78,7 +84,14 @@ struct ff_video_decoder_s { xine_stream_t *stream; int64_t pts; +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + uint64_t pts_tag_mask; + uint64_t pts_tag; + int pts_tag_counter; + int pts_tag_stable_counter; +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ int video_step; + int reported_video_step; uint8_t decoder_ok:1; uint8_t decoder_init_mode:1; @@ -212,6 +225,11 @@ static int get_buffer(AVCodecContext *context, AVFrame *av_frame){ av_frame->type= FF_BUFFER_TYPE_USER; +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* take over pts for this frame to have it reordered */ + av_frame->reordered_opaque = context->reordered_opaque; +#endif + xine_list_push_back(this->dr1_frames, av_frame); return 0; @@ -244,85 +262,7 @@ static void release_buffer(struct AVCodecContext *context, AVFrame *av_frame){ } #endif -static const ff_codec_t ff_video_lookup[] = { - {BUF_VIDEO_MSMPEG4_V1, CODEC_ID_MSMPEG4V1, "Microsoft MPEG-4 v1 (ffmpeg)"}, - {BUF_VIDEO_MSMPEG4_V2, CODEC_ID_MSMPEG4V2, "Microsoft MPEG-4 v2 (ffmpeg)"}, - {BUF_VIDEO_MSMPEG4_V3, CODEC_ID_MSMPEG4V3, "Microsoft MPEG-4 v3 (ffmpeg)"}, - {BUF_VIDEO_WMV7, CODEC_ID_WMV1, "MS Windows Media Video 7 (ffmpeg)"}, - {BUF_VIDEO_WMV8, CODEC_ID_WMV2, "MS Windows Media Video 8 (ffmpeg)"}, - {BUF_VIDEO_WMV9, CODEC_ID_WMV3, "MS Windows Media Video 9 (ffmpeg)"}, - {BUF_VIDEO_VC1, CODEC_ID_VC1, "MS Windows Media Video VC-1 (ffmpeg)"}, - {BUF_VIDEO_MPEG4, CODEC_ID_MPEG4, "ISO MPEG-4 (ffmpeg)"}, - {BUF_VIDEO_XVID, CODEC_ID_MPEG4, "ISO MPEG-4 (XviD, ffmpeg)"}, - {BUF_VIDEO_DIVX5, CODEC_ID_MPEG4, "ISO MPEG-4 (DivX5, ffmpeg)"}, - {BUF_VIDEO_3IVX, CODEC_ID_MPEG4, "ISO MPEG-4 (3ivx, ffmpeg)"}, - {BUF_VIDEO_JPEG, CODEC_ID_MJPEG, "Motion JPEG (ffmpeg)"}, - {BUF_VIDEO_MJPEG, CODEC_ID_MJPEG, "Motion JPEG (ffmpeg)"}, - {BUF_VIDEO_MJPEG_B, CODEC_ID_MJPEGB, "Motion JPEG B (ffmpeg)"}, - {BUF_VIDEO_I263, CODEC_ID_H263I, "ITU H.263 (ffmpeg)"}, - {BUF_VIDEO_H263, CODEC_ID_H263, "H.263 (ffmpeg)"}, - {BUF_VIDEO_RV10, CODEC_ID_RV10, "Real Video 1.0 (ffmpeg)"}, - {BUF_VIDEO_RV20, CODEC_ID_RV20, "Real Video 2.0 (ffmpeg)"}, - {BUF_VIDEO_IV31, CODEC_ID_INDEO3, "Indeo Video 3.1 (ffmpeg)"}, - {BUF_VIDEO_IV32, CODEC_ID_INDEO3, "Indeo Video 3.2 (ffmpeg)"}, - {BUF_VIDEO_SORENSON_V1, CODEC_ID_SVQ1, "Sorenson Video 1 (ffmpeg)"}, - {BUF_VIDEO_SORENSON_V3, CODEC_ID_SVQ3, "Sorenson Video 3 (ffmpeg)"}, - {BUF_VIDEO_DV, CODEC_ID_DVVIDEO, "DV (ffmpeg)"}, - {BUF_VIDEO_HUFFYUV, CODEC_ID_HUFFYUV, "HuffYUV (ffmpeg)"}, - {BUF_VIDEO_VP31, CODEC_ID_VP3, "On2 VP3.1 (ffmpeg)"}, - {BUF_VIDEO_VP5, CODEC_ID_VP5, "On2 VP5 (ffmpeg)"}, - {BUF_VIDEO_VP6, CODEC_ID_VP6, "On2 VP6 (ffmpeg)"}, - {BUF_VIDEO_VP6F, CODEC_ID_VP6F, "On2 VP6 (ffmpeg)"}, - {BUF_VIDEO_4XM, CODEC_ID_4XM, "4X Video (ffmpeg)"}, - {BUF_VIDEO_CINEPAK, CODEC_ID_CINEPAK, "Cinepak (ffmpeg)"}, - {BUF_VIDEO_MSVC, CODEC_ID_MSVIDEO1, "Microsoft Video 1 (ffmpeg)"}, - {BUF_VIDEO_MSRLE, CODEC_ID_MSRLE, "Microsoft RLE (ffmpeg)"}, - {BUF_VIDEO_RPZA, CODEC_ID_RPZA, "Apple Quicktime Video/RPZA (ffmpeg)"}, - {BUF_VIDEO_CYUV, CODEC_ID_CYUV, "Creative YUV (ffmpeg)"}, - {BUF_VIDEO_ROQ, CODEC_ID_ROQ, "Id Software RoQ (ffmpeg)"}, - {BUF_VIDEO_IDCIN, CODEC_ID_IDCIN, "Id Software CIN (ffmpeg)"}, - {BUF_VIDEO_WC3, CODEC_ID_XAN_WC3, "Xan (ffmpeg)"}, - {BUF_VIDEO_VQA, CODEC_ID_WS_VQA, "Westwood Studios VQA (ffmpeg)"}, - {BUF_VIDEO_INTERPLAY, CODEC_ID_INTERPLAY_VIDEO, "Interplay MVE (ffmpeg)"}, - {BUF_VIDEO_FLI, CODEC_ID_FLIC, "FLIC Video (ffmpeg)"}, - {BUF_VIDEO_8BPS, CODEC_ID_8BPS, "Planar RGB (ffmpeg)"}, - {BUF_VIDEO_SMC, CODEC_ID_SMC, "Apple Quicktime Graphics/SMC (ffmpeg)"}, - {BUF_VIDEO_DUCKTM1, CODEC_ID_TRUEMOTION1,"Duck TrueMotion v1 (ffmpeg)"}, - {BUF_VIDEO_DUCKTM2, CODEC_ID_TRUEMOTION2,"Duck TrueMotion v2 (ffmpeg)"}, - {BUF_VIDEO_VMD, CODEC_ID_VMDVIDEO, "Sierra VMD Video (ffmpeg)"}, - {BUF_VIDEO_ZLIB, CODEC_ID_ZLIB, "ZLIB Video (ffmpeg)"}, - {BUF_VIDEO_MSZH, CODEC_ID_MSZH, "MSZH Video (ffmpeg)"}, - {BUF_VIDEO_ASV1, CODEC_ID_ASV1, "ASV v1 Video (ffmpeg)"}, - {BUF_VIDEO_ASV2, CODEC_ID_ASV2, "ASV v2 Video (ffmpeg)"}, - {BUF_VIDEO_ATIVCR1, CODEC_ID_VCR1, "ATI VCR-1 (ffmpeg)"}, - {BUF_VIDEO_FLV1, CODEC_ID_FLV1, "Flash Video (ffmpeg)"}, - {BUF_VIDEO_QTRLE, CODEC_ID_QTRLE, "Apple Quicktime Animation/RLE (ffmpeg)"}, - {BUF_VIDEO_H264, CODEC_ID_H264, "H.264/AVC (ffmpeg)"}, - {BUF_VIDEO_H261, CODEC_ID_H261, "H.261 (ffmpeg)"}, - {BUF_VIDEO_AASC, CODEC_ID_AASC, "Autodesk Video (ffmpeg)"}, - {BUF_VIDEO_LOCO, CODEC_ID_LOCO, "LOCO (ffmpeg)"}, - {BUF_VIDEO_QDRW, CODEC_ID_QDRAW, "QuickDraw (ffmpeg)"}, - {BUF_VIDEO_QPEG, CODEC_ID_QPEG, "Q-Team QPEG (ffmpeg)"}, - {BUF_VIDEO_TSCC, CODEC_ID_TSCC, "TechSmith Video (ffmpeg)"}, - {BUF_VIDEO_ULTI, CODEC_ID_ULTI, "IBM UltiMotion (ffmpeg)"}, - {BUF_VIDEO_WNV1, CODEC_ID_WNV1, "Winnow Video (ffmpeg)"}, - {BUF_VIDEO_XL, CODEC_ID_VIXL, "Miro/Pinnacle VideoXL (ffmpeg)"}, - {BUF_VIDEO_RT21, CODEC_ID_INDEO2, "Indeo/RealTime 2 (ffmpeg)"}, - {BUF_VIDEO_FPS1, CODEC_ID_FRAPS, "Fraps (ffmpeg)"}, - {BUF_VIDEO_MPEG, CODEC_ID_MPEG1VIDEO, "MPEG 1/2 (ffmpeg)"}, - {BUF_VIDEO_CSCD, CODEC_ID_CSCD, "CamStudio (ffmpeg)"}, - {BUF_VIDEO_AVS, CODEC_ID_AVS, "AVS (ffmpeg)"}, - {BUF_VIDEO_ALGMM, CODEC_ID_MMVIDEO, "American Laser Games MM (ffmpeg)"}, - {BUF_VIDEO_ZMBV, CODEC_ID_ZMBV, "Zip Motion Blocks Video (ffmpeg)"}, - {BUF_VIDEO_SMACKER, CODEC_ID_SMACKVIDEO, "Smacker (ffmpeg)"}, - {BUF_VIDEO_NUV, CODEC_ID_NUV, "NuppelVideo (ffmpeg)"}, - {BUF_VIDEO_KMVC, CODEC_ID_KMVC, "Karl Morton's Video Codec (ffmpeg)"}, - {BUF_VIDEO_FLASHSV, CODEC_ID_FLASHSV, "Flash Screen Video (ffmpeg)"}, - {BUF_VIDEO_CAVS, CODEC_ID_CAVS, "Chinese AVS (ffmpeg)"}, - {BUF_VIDEO_VMNC, CODEC_ID_VMNC, "VMware Screen Codec (ffmpeg)"}, - {BUF_VIDEO_THEORA_RAW, CODEC_ID_THEORA, "Theora (ffmpeg)"}, - {BUF_VIDEO_SNOW, CODEC_ID_SNOW, "Snow (ffmpeg)"}, -}; +#include "ff_video_list.h" static const char *const skip_loop_filter_enum_names[] = { "default", /* AVDISCARD_DEFAULT */ @@ -400,6 +340,22 @@ static void init_video_codec (ff_video_decoder_t *this, unsigned int codec_type) return; } + if (this->codec->id == CODEC_ID_VC1 && + (!this->bih.biWidth || !this->bih.biHeight)) { + /* VC1 codec must be re-opened with correct width and height. */ + avcodec_close(this->context); + + if (avcodec_open (this->context, this->codec) < 0) { + pthread_mutex_unlock(&ffmpeg_lock); + xprintf (this->stream->xine, XINE_VERBOSITY_LOG, + _("ffmpeg_video_dec: couldn't open decoder (pass 2)\n")); + free(this->context); + this->context = NULL; + _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HANDLED, 0); + return; + } + } + if (this->class->thread_count > 1) { avcodec_thread_init(this->context, this->class->thread_count); this->context->thread_count = this->class->thread_count; @@ -606,6 +562,10 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { su = this->av_frame->data[1]; sv = this->av_frame->data[2]; + /* Some segfaults & heap corruption have been observed with img->height, + * so we use this->bih.biHeight instead (which is the displayed height) + */ + if (this->context->pix_fmt == PIX_FMT_YUV410P) { yuv9_to_yv12( @@ -626,7 +586,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { img->pitches[2], /* width x height */ img->width, - img->height); + this->bih.biHeight); } else if (this->context->pix_fmt == PIX_FMT_YUV411P) { @@ -648,15 +608,15 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { img->pitches[2], /* width x height */ img->width, - img->height); + this->bih.biHeight); - } else if (this->context->pix_fmt == PIX_FMT_RGBA32) { + } else if (this->context->pix_fmt == PIX_FMT_RGB32) { int x, plane_ptr = 0; uint32_t *argb_pixels; uint32_t argb; - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { argb_pixels = (uint32_t *)sy; for(x = 0; x < img->width; x++) { uint8_t r, g, b; @@ -684,7 +644,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { uint8_t *src; uint16_t pixel16; - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { src = sy; for(x = 0; x < img->width; x++) { uint8_t r, g, b; @@ -713,7 +673,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { uint8_t *src; uint16_t pixel16; - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { src = sy; for(x = 0; x < img->width; x++) { uint8_t r, g, b; @@ -741,7 +701,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { int x, plane_ptr = 0; uint8_t *src; - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { src = sy; for(x = 0; x < img->width; x++) { uint8_t r, g, b; @@ -765,7 +725,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { int x, plane_ptr = 0; uint8_t *src; - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { src = sy; for(x = 0; x < img->width; x++) { uint8_t r, g, b; @@ -808,7 +768,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { v_palette[x] = COMPUTE_V(r, g, b); } - for(y = 0; y < img->height; y++) { + for(y = 0; y < this->bih.biHeight; y++) { src = sy; for(x = 0; x < img->width; x++) { pixel = *src++; @@ -825,7 +785,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { } else { - for (y=0; y<img->height; y++) { + for (y = 0; y < this->bih.biHeight; y++) { xine_fast_memcpy (dy, sy, img->width); dy += img->pitches[0]; @@ -833,7 +793,7 @@ static void ff_convert_frame(ff_video_decoder_t *this, vo_frame_t *img) { sy += this->av_frame->linesize[0]; } - for (y=0; y<(img->height/2); y++) { + for (y = 0; y < this->bih.biHeight / 2; y++) { if (this->context->pix_fmt != PIX_FMT_YUV444P) { @@ -1174,6 +1134,97 @@ static void ff_handle_mpeg12_buffer (ff_video_decoder_t *this, buf_element_t *bu } } +#ifdef AVCODEC_HAS_REORDERED_OPAQUE +static uint64_t ff_tag_pts(ff_video_decoder_t *this, uint64_t pts) +{ + return pts | this->pts_tag; +} + +static uint64_t ff_untag_pts(ff_video_decoder_t *this, uint64_t pts) +{ + if (this->pts_tag_mask == 0) + return pts; /* pts tagging inactive */ + + if (this->pts_tag != 0 && (pts & this->pts_tag_mask) != this->pts_tag) + return 0; /* reset pts if outdated while waiting for first pass (see below) */ + + return pts & ~this->pts_tag_mask; +} + +static void ff_check_pts_tagging(ff_video_decoder_t *this, uint64_t pts) +{ + if (this->pts_tag_mask == 0) + return; /* pts tagging inactive */ + if ((pts & this->pts_tag_mask) != this->pts_tag) { + this->pts_tag_stable_counter = 0; + return; /* pts still outdated */ + } + + /* the tag should be stable for 100 frames */ + this->pts_tag_stable_counter++; + + if (this->pts_tag != 0) { + if (this->pts_tag_stable_counter >= 100) { + /* first pass: reset pts_tag */ + this->pts_tag = 0; + this->pts_tag_stable_counter = 0; + } + } else if (pts == 0) + return; /* cannot detect second pass */ + else { + if (this->pts_tag_stable_counter >= 100) { + /* second pass: reset pts_tag_mask and pts_tag_counter */ + this->pts_tag_mask = 0; + this->pts_tag_counter = 0; + this->pts_tag_stable_counter = 0; + } + } +} + +static int ff_vc1_find_header(ff_video_decoder_t *this, buf_element_t *buf) +{ + uint8_t *p = buf->content; + + if (!p[0] && !p[1] && p[2] == 1 && p[3] == 0x0f) { + int i; + + this->context->extradata = calloc(1, buf->size); + this->context->extradata_size = 0; + + for (i = 0; i < buf->size && i < 128; i++) { + if (!p[i] && !p[i+1] && p[i+2]) { + lprintf("00 00 01 %02x at %d\n", p[i+3], i); + if (p[i+3] != 0x0e && p[i+3] != 0x0f) + break; + } + this->context->extradata[i] = p[i]; + this->context->extradata_size++; + } + + lprintf("ff_video_decoder: found VC1 sequence header\n"); + return 1; + } + + xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, + "ffmpeg_video_dec: VC1 extradata missing !\n"); + return 0; +} + +static int ff_check_extradata(ff_video_decoder_t *this, unsigned int codec_type, buf_element_t *buf) +{ + if (this->context && this->context->extradata) + return 1; + + switch (codec_type) { + case BUF_VIDEO_VC1: + return ff_vc1_find_header(this, buf); + default:; + } + + return 1; +} + +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { uint8_t *chunk_buf = this->buf; AVRational avr00 = {0, 1}; @@ -1184,6 +1235,9 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { if (this->decoder_init_mode) { int codec_type = buf->type & 0xFFFF0000; + if (!ff_check_extradata(this, codec_type, buf)) + return; + /* init ffmpeg decoder */ init_video_codec(this, codec_type); init_postprocess(this); @@ -1198,6 +1252,16 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { this->size = 0; } +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + if (this->size == 0) { + /* take over pts when we are about to buffer a frame */ + this->av_frame->reordered_opaque = ff_tag_pts(this, this->pts); + if (this->context) /* shouldn't be NULL */ + this->context->reordered_opaque = ff_tag_pts(this, this->pts); + this->pts = 0; + } +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ + /* data accumulation */ if (buf->size > 0) { if ((this->size == 0) && @@ -1250,6 +1314,12 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { len = avcodec_decode_video (this->context, this->av_frame, &got_picture, &chunk_buf[offset], this->size); + +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* reset consumed pts value */ + this->context->reordered_opaque = ff_tag_pts(this, 0); +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ + lprintf("consumed size: %d, got_picture: %d\n", len, got_picture); if ((len <= 0) || (len > this->size)) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, @@ -1265,12 +1335,27 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { ff_check_bufsize(this, this->size); memmove (this->buf, &chunk_buf[offset], this->size); chunk_buf = this->buf; + +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* take over pts for next access unit */ + this->av_frame->reordered_opaque = ff_tag_pts(this, this->pts); + this->context->reordered_opaque = ff_tag_pts(this, this->pts); + this->pts = 0; +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ } } } /* use externally provided video_step or fall back to stream's time_base otherwise */ - video_step_to_use = (this->video_step || !this->context->time_base.den) ? this->video_step : (int)(90000ll * this->context->time_base.num / this->context->time_base.den); + video_step_to_use = (this->video_step || !this->context->time_base.den) + ? this->video_step + : (int)(90000ll +#if LIBAVCODEC_VERSION_INT >= 0x341400 + * this->context->ticks_per_frame +#elif LIBAVCODEC_VERSION_INT >= 0x340000 +# warning Building without avcodec ticks_per_frame support; you should upgrade your libavcodec and recompile +#endif + * this->context->time_base.num / this->context->time_base.den); /* aspect ratio provided by ffmpeg, override previous setting */ if ((this->aspect_ratio_prio < 2) && @@ -1296,7 +1381,7 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { /* initialize the colorspace converter */ if (!this->cs_convert_init) { - if ((this->context->pix_fmt == PIX_FMT_RGBA32) || + if ((this->context->pix_fmt == PIX_FMT_RGB32) || (this->context->pix_fmt == PIX_FMT_RGB565) || (this->context->pix_fmt == PIX_FMT_RGB555) || (this->context->pix_fmt == PIX_FMT_BGR24) || @@ -1359,15 +1444,24 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { ff_convert_frame(this, img); } +#ifndef AVCODEC_HAS_REORDERED_OPAQUE img->pts = this->pts; this->pts = 0; +#else /* AVCODEC_HAS_REORDERED_OPAQUE */ + img->pts = ff_untag_pts(this, this->av_frame->reordered_opaque); + ff_check_pts_tagging(this, this->av_frame->reordered_opaque); /* only check for valid frames */ + this->av_frame->reordered_opaque = 0; +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ /* workaround for weird 120fps streams */ if( video_step_to_use == 750 ) { /* fallback to the VIDEO_PTS_MODE */ video_step_to_use = 0; } - + + if (video_step_to_use && video_step_to_use != this->reported_video_step) + _x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, (this->reported_video_step = video_step_to_use)); + if (this->av_frame->repeat_pict) img->duration = video_step_to_use * 3 / 2; else @@ -1400,8 +1494,13 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { this->output_format, VO_BOTH_FIELDS|this->frame_flags); /* set PTS to allow early syncing */ +#ifndef AVCODEC_HAS_REORDERED_OPAQUE img->pts = this->pts; this->pts = 0; +#else /* AVCODEC_HAS_REORDERED_OPAQUE */ + img->pts = ff_untag_pts(this, this->av_frame->reordered_opaque); + this->av_frame->reordered_opaque = 0; +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ img->duration = video_step_to_use; @@ -1426,7 +1525,7 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { if (buf->decoder_flags & BUF_FLAG_FRAMERATE) { this->video_step = buf->decoder_info[0]; - _x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, this->video_step); + _x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, (this->reported_video_step = this->video_step)); } if (buf->decoder_flags & BUF_FLAG_PREVIEW) { @@ -1486,6 +1585,13 @@ static void ff_reset (video_decoder_t *this_gen) { if (this->is_mpeg12) mpeg_parser_reset(this->mpeg_parser); + +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + this->pts_tag_mask = 0; + this->pts_tag = 0; + this->pts_tag_counter = 0; + this->pts_tag_stable_counter = 0; +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ } static void ff_discontinuity (video_decoder_t *this_gen) { @@ -1493,6 +1599,41 @@ static void ff_discontinuity (video_decoder_t *this_gen) { lprintf ("ff_discontinuity\n"); this->pts = 0; + +#ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* + * there is currently no way to reset all the pts which are stored in the decoder. + * therefore, we add a unique tag (generated from pts_tag_counter) to pts (see + * ff_tag_pts()) and wait for it to appear on returned frames. + * until then, any retrieved pts value will be reset to 0 (see ff_untag_pts()). + * when we see the tag returned, pts_tag will be reset to 0. from now on, any + * untagged pts value is valid already. + * when tag 0 appears too, there are no tags left in the decoder so pts_tag_mask + * and pts_tag_counter will be reset to 0 too (see ff_check_pts_tagging()). + */ + this->pts_tag_counter++; + this->pts_tag_mask = 0; + this->pts_tag = 0; + this->pts_tag_stable_counter = 0; + { + /* pts values typically don't use the uppermost bits. therefore we put the tag there */ + int counter_mask = 1; + int counter = 2 * this->pts_tag_counter + 1; /* always set the uppermost bit in tag_mask */ + uint64_t tag_mask = 0x8000000000000000ull; + while (this->pts_tag_counter >= counter_mask) + { + /* + * mirror the counter into the uppermost bits. this allows us to enlarge mask as + * necessary and while previous taggings can still be detected to be outdated. + */ + if (counter & counter_mask) + this->pts_tag |= tag_mask; + this->pts_tag_mask |= tag_mask; + tag_mask >>= 1; + counter_mask <<= 1; + } + } +#endif /* AVCODEC_HAS_REORDERED_OPAQUE */ } static void ff_dispose (video_decoder_t *this_gen) { @@ -1669,237 +1810,6 @@ void *init_video_plugin (xine_t *xine, void *data) { return this; } -static uint32_t supported_video_types[] = { - #ifdef CONFIG_MSMPEG4V1_DECODER - BUF_VIDEO_MSMPEG4_V1, - #endif - #ifdef CONFIG_MSMPEG4V2_DECODER - BUF_VIDEO_MSMPEG4_V2, - #endif - #ifdef CONFIG_MSMPEG4V3_DECODER - BUF_VIDEO_MSMPEG4_V3, - #endif - #ifdef CONFIG_WMV1_DECODER - BUF_VIDEO_WMV7, - #endif - #ifdef CONFIG_WMV2_DECODER - BUF_VIDEO_WMV8, - #endif - #ifdef CONFIG_WMV3_DECODER - BUF_VIDEO_WMV9, - #endif - #ifdef CONFIG_VC1_DECODER - BUF_VIDEO_VC1, - #endif - #ifdef CONFIG_MPEG4_DECODER - BUF_VIDEO_MPEG4, - #endif - #ifdef CONFIG_MPEG4_DECODER - BUF_VIDEO_XVID, - #endif - #ifdef CONFIG_MPEG4_DECODER - BUF_VIDEO_DIVX5, - #endif - #ifdef CONFIG_MPEG4_DECODER - BUF_VIDEO_3IVX, - #endif - #ifdef CONFIG_MJPEG_DECODER - BUF_VIDEO_JPEG, - #endif - #ifdef CONFIG_MJPEG_DECODER - BUF_VIDEO_MJPEG, - #endif - #ifdef CONFIG_MJPEGB_DECODER - BUF_VIDEO_MJPEG_B, - #endif - #ifdef CONFIG_H263I_DECODER - BUF_VIDEO_I263, - #endif - #ifdef CONFIG_H263_DECODER - BUF_VIDEO_H263, - #endif - #ifdef CONFIG_RV10_DECODER - BUF_VIDEO_RV10, - #endif - #ifdef CONFIG_RV20_DECODER - BUF_VIDEO_RV20, - #endif - #ifdef CONFIG_INDEO3_DECODER - BUF_VIDEO_IV31, - #endif - #ifdef CONFIG_INDEO3_DECODER - BUF_VIDEO_IV32, - #endif - #ifdef CONFIG_SVQ1_DECODER - BUF_VIDEO_SORENSON_V1, - #endif - #ifdef CONFIG_SVQ3_DECODER - BUF_VIDEO_SORENSON_V3, - #endif - #ifdef CONFIG_DVVIDEO_DECODER - BUF_VIDEO_DV, - #endif - #ifdef CONFIG_HUFFYUV_DECODER - BUF_VIDEO_HUFFYUV, - #endif - #ifdef CONFIG_VP3_DECODER - BUF_VIDEO_VP31, - #endif - #ifdef CONFIG_VP5_DECODER - BUF_VIDEO_VP5, - #endif - #ifdef CONFIG_VP6_DECODER - BUF_VIDEO_VP6, - BUF_VIDEO_VP6F, - #endif - #ifdef CONFIG_4XM_DECODER - BUF_VIDEO_4XM, - #endif - #ifdef CONFIG_CINEPAK_DECODER - BUF_VIDEO_CINEPAK, - #endif - #ifdef CONFIG_MSVIDEO1_DECODER - BUF_VIDEO_MSVC, - #endif - #ifdef CONFIG_MSRLE_DECODER - BUF_VIDEO_MSRLE, - #endif - #ifdef CONFIG_RPZA_DECODER - BUF_VIDEO_RPZA, - #endif - #ifdef CONFIG_CYUV_DECODER - BUF_VIDEO_CYUV, - #endif - #ifdef CONFIG_ROQ_DECODER - BUF_VIDEO_ROQ, - #endif - #ifdef CONFIG_IDCIN_DECODER - BUF_VIDEO_IDCIN, - #endif - #ifdef CONFIG_XAN_WC3_DECODER - BUF_VIDEO_WC3, - #endif - #ifdef CONFIG_WS_VQA_DECODER - BUF_VIDEO_VQA, - #endif - #ifdef CONFIG_INTERPLAY_VIDEO_DECODER - BUF_VIDEO_INTERPLAY, - #endif - #ifdef CONFIG_FLIC_DECODER - BUF_VIDEO_FLI, - #endif - #ifdef CONFIG_8BPS_DECODER - BUF_VIDEO_8BPS, - #endif - #ifdef CONFIG_SMC_DECODER - BUF_VIDEO_SMC, - #endif - #ifdef CONFIG_TRUEMOTION1_DECODER - BUF_VIDEO_DUCKTM1, - #endif - #ifdef CONFIG_TRUEMOTION2_DECODER - BUF_VIDEO_DUCKTM2, - #endif - #ifdef CONFIG_VMDVIDEO_DECODER - BUF_VIDEO_VMD, - #endif - #ifdef CONFIG_ZLIB_DECODER - BUF_VIDEO_ZLIB, - #endif - #ifdef CONFIG_MSZH_DECODER - BUF_VIDEO_MSZH, - #endif - #ifdef CONFIG_ASV1_DECODER - BUF_VIDEO_ASV1, - #endif - #ifdef CONFIG_ASV2_DECODER - BUF_VIDEO_ASV2, - #endif - #ifdef CONFIG_VCR1_DECODER - BUF_VIDEO_ATIVCR1, - #endif - #ifdef CONFIG_FLV_DECODER - BUF_VIDEO_FLV1, - #endif - #ifdef CONFIG_QTRLE_DECODER - BUF_VIDEO_QTRLE, - #endif - #ifdef CONFIG_H264_DECODER - BUF_VIDEO_H264, - #endif - #ifdef CONFIG_H261_DECODER - BUF_VIDEO_H261, - #endif - #ifdef CONFIG_AASC_DECODER - BUF_VIDEO_AASC, - #endif - #ifdef CONFIG_LOCO_DECODER - BUF_VIDEO_LOCO, - #endif - #ifdef CONFIG_QDRAW_DECODER - BUF_VIDEO_QDRW, - #endif - #ifdef CONFIG_QPEG_DECODER - BUF_VIDEO_QPEG, - #endif - #ifdef CONFIG_TSCC_DECODER - BUF_VIDEO_TSCC, - #endif - #ifdef CONFIG_ULTI_DECODER - BUF_VIDEO_ULTI, - #endif - #ifdef CONFIG_WNV1_DECODER - BUF_VIDEO_WNV1, - #endif - #ifdef CONFIG_VIXL_DECODER - BUF_VIDEO_XL, - #endif - #ifdef CONFIG_INDEO2_DECODER - BUF_VIDEO_RT21, - #endif - #ifdef CONFIG_FRAPS_DECODER - BUF_VIDEO_FPS1, - #endif - #ifdef CONFIG_MPEG1VIDEO_DECODER - BUF_VIDEO_MPEG, - #endif - #ifdef CONFIG_CSCD_DECODER - BUF_VIDEO_CSCD, - #endif - #ifdef CONFIG_AVS_DECODER - BUF_VIDEO_AVS, - #endif - #ifdef CONFIG_MMVIDEO_DECODER - BUF_VIDEO_ALGMM, - #endif - #ifdef CONFIG_ZMBV_DECODER - BUF_VIDEO_ZMBV, - #endif - #ifdef CONFIG_SMACKVIDEO_DECODER - BUF_VIDEO_SMACKER, - #endif - #ifdef CONFIG_NUV_DECODER - BUF_VIDEO_NUV, - #endif - #ifdef CONFIG_KMVC_DECODER - BUF_VIDEO_KMVC, - #endif - #ifdef CONFIG_FLASHSV_DECODER - BUF_VIDEO_FLASHSV, - #endif - #ifdef CONFIG_CAVS_DECODER - BUF_VIDEO_CAVS, - #endif - #ifdef CONFIG_VMNC_DECODER - BUF_VIDEO_VMNC, - #endif - #ifdef CONFIG_SNOW_DECODER - BUF_VIDEO_SNOW, - #endif - BUF_VIDEO_THEORA_RAW, - 0 -}; - static uint32_t wmv8_video_types[] = { BUF_VIDEO_WMV8, 0 diff --git a/src/combined/ffmpeg/mkcodeclist.pl b/src/combined/ffmpeg/mkcodeclist.pl new file mode 100755 index 000000000..b4a10921a --- /dev/null +++ b/src/combined/ffmpeg/mkcodeclist.pl @@ -0,0 +1,95 @@ +#! /usr/bin/perl -w + +# Make codec lists for #inclusion by ff_*_decoder.c. +# Parameters: +# list of ffmpeg CODEC_ID_* (pre-processed, one per line) +# list of codecs recognised by xine-lib (see list for details) +# output file name, or "-" to generate a report on unhandled codecs + +my ($ffmpeg, $xine, $out) = @ARGV; +my $line; + +# Read in the ffmpeg codec IDs +my %codecs; +open LIST, "< $ffmpeg" or die $!; +$line = <LIST>; +while (defined $line) { + chomp $line; + $line =~ s/^CODEC_ID_//o; + $codecs{$line} = 0; + $line = <LIST>; +} +close LIST or die $!; + +# Read in the xine-lib codec IDs +my %config; +my @known; +my $type = 'audio'; # default type +my $Type = 'AUDIO'; +my ($a, $f, $t); +open LIST, "< $xine" or die $!; +while (defined ($line = <LIST>)) { + next if substr ($line, 0, 1) eq '#' or $line =~ /^\s*$/o; + chomp $line; + if (substr ($line, 0, 5) eq 'type=') { + # codec type; "FOO" in "BUF_FOO_BAR" + $type = substr ($line, 5); + $type =~ tr/A-Z/a-z/; + $Type = $type; + $Type =~ tr/a-z/A-Z/; + } elsif (substr ($line, 0, 7) eq 'config=') { + # "#ifdef CONFIG_FOO_DECODER" mappings + ($a, $f, $t) = split (/=/, $line, 3); + $config{$f} = $t; + } else { + # codec details + push @known, [split (/\s+/, $line, 3)]; + } +} +close LIST or die $!; + +# Look through the mappings. +# Mark what we can handle and report on what the installed ffmpeg can't +foreach $line (@known) { + if (defined $codecs{$line->[1]}) { + ++$codecs{$line->[1]}; + } else { + print "Ignored $line->[0] = $line->[1]\n"; + } +} + +my $w = ($out ne '-'); + +if ($w) { + # Write the C source code for the codec lists + open LIST, "> $out" or die $!; + print LIST "static const ff_codec_t ff_${type}_lookup[] = {\n" or die $!; + foreach $line (@known) { + next if $line->[0] eq '!'; + next unless defined $codecs{$line->[1]}; + print LIST " { BUF_${Type}_$line->[0], CODEC_ID_$line->[1], \"$line->[2] (ffmpeg)\" },\n" or die $!; + } + print LIST "};\n\nstatic uint32_t supported_${type}_types[] = {\n" or die $!; + foreach $line (@known) { + next if $line->[0] eq '!'; + next unless defined $codecs{$line->[1]}; + $a = $line->[1]; + $a = $config{$a} if defined $config{$a}; + if ($a eq '') { + print LIST " BUF_${Type}_$line->[0],\n" or die $!; + } else { + print LIST " #ifdef CONFIG_${a}_DECODER\n BUF_${Type}_$line->[0],\n #endif\n" or die $!; + } + } + print LIST " 0,\n};\n" or die $!; + close LIST or die $!; +} +else { + # Report on ffmpeg codecs which we don't handle + print "Unhandled $type codecs:\n"; + foreach $line (sort keys %codecs) { + print " $line\n" if $codecs{$line} == 0; + } +} + +exit 0; diff --git a/src/combined/ffmpeg/xine_audio.list b/src/combined/ffmpeg/xine_audio.list new file mode 100644 index 000000000..4b6932474 --- /dev/null +++ b/src/combined/ffmpeg/xine_audio.list @@ -0,0 +1,55 @@ +type=audio +config=MP3ADU= + +# xine-lib BUF_AUDIO_ ffmpeg CODEC_ID_ description or comment +# ("!"=ignore) (quote any "s) + +WMAV1 WMAV1 MS Windows Media Audio 1 +WMAV2 WMAV2 MS Windows Media Audio 2 +14_4 RA_144 Real 14.4 +28_8 RA_288 Real 28.8 +MPEG MP3 MP3 +MP3ADU MP3ADU MPEG-3 adu +MSADPCM ADPCM_MS MS ADPCM +QTIMAADPCM ADPCM_IMA_QT QT IMA ADPCM +MSIMAADPCM ADPCM_IMA_WAV MS IMA ADPCM +DK3ADPCM ADPCM_IMA_DK3 Duck DK3 ADPCM +DK4ADPCM ADPCM_IMA_DK4 Duck DK4 ADPCM +VQA_IMA ADPCM_IMA_WS Westwood Studios IMA +SMJPEG_IMA ADPCM_IMA_SMJPEG SMJPEG IMA +XA_ADPCM ADPCM_XA CD-ROM/XA ADPCM +4X_ADPCM ADPCM_4XM 4X ADPCM +EA_ADPCM ADPCM_EA Electronic Arts ADPCM +MULAW PCM_MULAW mu-law logarithmic PCM +ALAW PCM_ALAW A-law logarithmic PCM +ROQ ROQ_DPCM RoQ DPCM +INTERPLAY INTERPLAY_DPCM Interplay DPCM +MAC3 MACE3 MACE 3:1 +MAC6 MACE6 MACE 6:1 +XAN_DPCM XAN_DPCM Origin Xan DPCM +VMD VMDAUDIO Sierra VMD Audio +FLAC FLAC FLAC +SHORTEN SHORTEN Shorten +ALAC ALAC ALAC +QDESIGN2 QDM2 QDesign +COOK COOK RealAudio Cooker +TRUESPEECH TRUESPEECH TrueSpeech +TTA TTA True Audio Lossless +SMACKER SMACKAUDIO Smacker +FLVADPCM ADPCM_SWF Flash ADPCM +WAVPACK WAVPACK WavPack +AMR_NB AMR_NB AMR narrow band +AMR_WB AMR_WB AMR wide band + +# disabled codecs (ref. configure.ac) +! AAC +! AC3 +! ADPCM_ADX +! ADPCM_G726 +! DSICINAUDIO +! DVAUDIO +! IMC +! MP3ON4 +! SONIC +! SONIC_LS +! VORBIS diff --git a/src/combined/ffmpeg/xine_video.list b/src/combined/ffmpeg/xine_video.list new file mode 100644 index 000000000..a3c961d13 --- /dev/null +++ b/src/combined/ffmpeg/xine_video.list @@ -0,0 +1,109 @@ +type=video +config=VP6F=VP6 +config=FLV1=FLV +config=THEORA= + +# xine-lib BUF_VIDEO_ ffmpeg CODEC_ID_ description or comment +# ("!"=ignore) (quote any "s) + +MSMPEG4_V1 MSMPEG4V1 Microsoft MPEG-4 v1 +MSMPEG4_V2 MSMPEG4V2 Microsoft MPEG-4 v2 +MSMPEG4_V3 MSMPEG4V3 Microsoft MPEG-4 v3 +WMV7 WMV1 MS Windows Media Video 7 +WMV8 WMV2 MS Windows Media Video 8 +WMV9 WMV3 MS Windows Media Video 9 +VC1 VC1 MS Windows Media Video VC-1 +MPEG4 MPEG4 ISO MPEG-4 +XVID MPEG4 ISO MPEG-4 (XviD) +DIVX5 MPEG4 ISO MPEG-4 (DivX5) +3IVX MPEG4 ISO MPEG-4 (3ivx) +JPEG MJPEG Motion JPEG +MJPEG MJPEG Motion JPEG +MJPEG_B MJPEGB Motion JPEG B +I263 H263I ITU H.263 +H263 H263 H.263 +RV10 RV10 Real Video 1.0 +RV20 RV20 Real Video 2.0 +IV31 INDEO3 Indeo Video 3.1 +IV32 INDEO3 Indeo Video 3.2 +SORENSON_V1 SVQ1 Sorenson Video 1 +SORENSON_V3 SVQ3 Sorenson Video 3 +DV DVVIDEO DV +HUFFYUV HUFFYUV HuffYUV +VP31 VP3 On2 VP3.1 +VP5 VP5 On2 VP5 +VP6 VP6 On2 VP6 +VP6F VP6F On2 VP6 +4XM 4XM 4X Video +CINEPAK CINEPAK Cinepak +MSVC MSVIDEO1 Microsoft Video 1 +MSRLE MSRLE Microsoft RLE +RPZA RPZA Apple Quicktime Video/RPZA +CYUV CYUV Creative YUV +ROQ ROQ Id Software RoQ +IDCIN IDCIN Id Software CIN +WC3 XAN_WC3 Xan +VQA WS_VQA Westwood Studios VQA +INTERPLAY INTERPLAY_VIDEO Interplay MVE +FLI FLIC FLIC Video +8BPS 8BPS Planar RGB +SMC SMC Apple Quicktime Graphics/SMC +DUCKTM1 TRUEMOTION1 Duck TrueMotion v1 +DUCKTM2 TRUEMOTION2 Duck TrueMotion v2 +VMD VMDVIDEO Sierra VMD Video +ZLIB ZLIB ZLIB Video +MSZH MSZH MSZH Video +ASV1 ASV1 ASV v1 Video +ASV2 ASV2 ASV v2 Video +ATIVCR1 VCR1 ATI VCR-1 +FLV1 FLV1 Flash Video +QTRLE QTRLE Apple Quicktime Animation/RLE +H264 H264 H.264/AVC +H261 H261 H.261 +AASC AASC Autodesk Video +LOCO LOCO LOCO +QDRW QDRAW QuickDraw +QPEG QPEG Q-Team QPEG +TSCC TSCC TechSmith Video +ULTI ULTI IBM UltiMotion +WNV1 WNV1 Winnow Video +XL VIXL Miro/Pinnacle VideoXL +RT21 INDEO2 Indeo/RealTime 2 +FPS1 FRAPS Fraps +MPEG MPEG1VIDEO MPEG 1/2 +CSCD CSCD CamStudio +AVS AVS AVS +ALGMM MMVIDEO American Laser Games MM +ZMBV ZMBV Zip Motion Blocks Video +SMACKER SMACKVIDEO Smacker +NUV NUV NuppelVideo +KMVC KMVC Karl Morton's Video Codec +FLASHSV FLASHSV Flash Screen Video +CAVS CAVS Chinese AVS +VMNC VMNC VMware Screen Codec +THEORA_RAW THEORA Theora +SNOW SNOW Snow + +# disabled codecs (ref. configure.ac) +! BMP +! CLJR +! DSICINVIDEO +! FFV1 +! FFVHUFF +! GIF +! H263P +! JPEGLS +! LJPEG +! MDEC +! PAM +! PBM +! PGM +! PGMYUV +! PNG +! PPM +! RAWVIDEO +! SP5X +! TARGA +! TIERTEXSEQVIDEO +! TIFF +! XVID ⇒ MPEG4 diff --git a/src/demuxers/Makefile.am b/src/demuxers/Makefile.am index 0875672b2..fe10947c5 100644 --- a/src/demuxers/Makefile.am +++ b/src/demuxers/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CFLAGS = $(VISIBILITY_FLAG) @@ -74,10 +75,10 @@ xineplug_dmx_mpeg_pes_la_SOURCES = demux_mpeg_pes.c xineplug_dmx_mpeg_pes_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) xineplug_dmx_mpeg_ts_la_SOURCES = demux_ts.c -xineplug_dmx_mpeg_ts_la_LIBADD = $(XINE_LIB) +xineplug_dmx_mpeg_ts_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) xineplug_dmx_qt_la_SOURCES = demux_qt.c -xineplug_dmx_qt_la_LIBADD = $(XINE_LIB) $(ZLIB_LIBS) +xineplug_dmx_qt_la_LIBADD = $(XINE_LIB) $(ZLIB_LIBS) $(LTLIBINTL) xineplug_dmx_qt_la_CPPFLAGS = $(ZLIB_CPPFLAGS) xineplug_dmx_asf_la_SOURCES = demux_asf.c asfheader.c @@ -133,8 +134,8 @@ xineplug_dmx_image_la_LIBADD = $(XINE_LIB) xineplug_dmx_nsv_la_SOURCES = demux_nsv.c xineplug_dmx_nsv_la_LIBADD = $(XINE_LIB) -xineplug_dmx_matroska_la_SOURCES = demux_matroska.c ebml.c -xineplug_dmx_matroska_la_LIBADD = $(XINE_LIB) $(ZLIB_LIBS) +xineplug_dmx_matroska_la_SOURCES = demux_matroska.c demux_matroska-chapters.c ebml.c +xineplug_dmx_matroska_la_LIBADD = $(XINE_LIB) $(ZLIB_LIBS) $(LTLIBINTL) xineplug_dmx_matroska_la_CPPFLAGS = $(ZLIB_CPPFLAGS) xineplug_dmx_matroska_la_CFLAGS = $(AM_CFLAGS) -fno-strict-aliasing @@ -145,4 +146,4 @@ xineplug_dmx_flv_la_SOURCES = demux_flv.c xineplug_dmx_flv_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) xineinclude_HEADERS = demux.h -noinst_HEADERS = asfheader.h qtpalette.h group_games.h group_audio.h id3.h ebml.h matroska.h iff.h flacutils.h real_common.h +noinst_HEADERS = asfheader.h qtpalette.h group_games.h group_audio.h id3.h ebml.h matroska.h demux_matroska.h iff.h flacutils.h real_common.h diff --git a/src/demuxers/demux_4xm.c b/src/demuxers/demux_4xm.c index a02a4b597..397a271b8 100644 --- a/src/demuxers/demux_4xm.c +++ b/src/demuxers/demux_4xm.c @@ -190,8 +190,12 @@ static int open_fourxm_file(demux_fourxm_t *fourxm) { return 0; } const uint32_t current_track = _X_LE_32(&header[i + 8]); - if (current_track + 1 > fourxm->track_count) { + if (current_track >= fourxm->track_count) { fourxm->track_count = current_track + 1; + if (!fourxm->track_count || fourxm->track_count >= UINT_MAX / sizeof(audio_track_t)) { + free(header); + return 0; + } fourxm->tracks = realloc(fourxm->tracks, fourxm->track_count * sizeof(audio_track_t)); if (!fourxm->tracks) { diff --git a/src/demuxers/demux_aac.c b/src/demuxers/demux_aac.c index b8e6ec5c4..68a684ffa 100644 --- a/src/demuxers/demux_aac.c +++ b/src/demuxers/demux_aac.c @@ -173,7 +173,7 @@ static int demux_aac_send_chunk(demux_plugin_t *this_gen) { buf->extra_info->input_time = (8*current_pos) / (bitrate/1000); bytes_read = this->input->read(this->input, buf->content, buf->max_size); - if (bytes_read == 0) { + if (bytes_read <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_ac3.c b/src/demuxers/demux_ac3.c index 1acb12fcd..711bb0b45 100644 --- a/src/demuxers/demux_ac3.c +++ b/src/demuxers/demux_ac3.c @@ -311,13 +311,7 @@ static int demux_ac3_send_chunk (demux_plugin_t *this_gen) { this->frame_size); } - if (buf->size == 0) { - buf->free_buffer(buf); - this->status = DEMUX_FINISHED; - return this->status; - } - - if (buf->size == 0) { + if (buf->size <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index 9d4191633..6c9ea631c 100644 --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.c @@ -738,7 +738,10 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_demux_stream_t *str bufsize = stream->fifo->buffer_pool_buf_size; buf = stream->fifo->buffer_pool_alloc (stream->fifo); - this->input->read (this->input, buf->content, bufsize); + if (this->input->read (this->input, buf->content, bufsize) != bufsize) { + xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_asf: input buffer starved\n"); + return ; + } lprintf ("data: %d %d %d %d\n", buf->content[0], buf->content[1], buf->content[2], buf->content[3]); @@ -817,7 +820,10 @@ static void asf_send_buffer_defrag (demux_asf_t *this, asf_demux_stream_t *strea if( stream->frag_offset + frag_len > DEFRAG_BUFSIZE ) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_asf: buffer overflow on defrag!\n"); } else { - this->input->read (this->input, &stream->buffer[stream->frag_offset], frag_len); + if (this->input->read (this->input, &stream->buffer[stream->frag_offset], frag_len) != frag_len) { + xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_asf: input buffer starved\n"); + return ; + } stream->frag_offset += frag_len; } @@ -1538,6 +1544,7 @@ static int demux_asf_parse_asx_references( demux_asf_t *this) { int buf_used = 0; int len; xml_node_t *xml_tree, *asx_entry, *asx_ref; + xml_parser_t *xml_parser; int result; @@ -1560,9 +1567,13 @@ static int demux_asf_parse_asx_references( demux_asf_t *this) { if(buf_used) buf[buf_used] = '\0'; - xml_parser_init(buf, buf_used, XML_PARSER_CASE_INSENSITIVE); - if((result = xml_parser_build_tree(&xml_tree)) != XML_PARSER_OK) + xml_parser = xml_parser_init_r(buf, buf_used, XML_PARSER_CASE_INSENSITIVE); + if((result = xml_parser_build_tree_r(xml_parser, &xml_tree)) != XML_PARSER_OK) { + xml_parser_finalize_r(xml_parser); goto failure; + } + + xml_parser_finalize_r(xml_parser); if(!strcasecmp(xml_tree->name, "ASX")) { /* Attributes: VERSION, PREVIEWMODE, BANNERBAR diff --git a/src/demuxers/demux_cdda.c b/src/demuxers/demux_cdda.c index 8e9ad3679..d48bb2a51 100644 --- a/src/demuxers/demux_cdda.c +++ b/src/demuxers/demux_cdda.c @@ -60,6 +60,7 @@ typedef struct { input_plugin_t *input; int status; + int send_newpts; int seek_flag; /* this is set when a seek just occurred */ } demux_cdda_t; @@ -91,9 +92,9 @@ static int demux_cdda_send_chunk (demux_plugin_t *this_gen) { buf->extra_info->input_time = buf->pts / 90; buf->decoder_flags |= BUF_FLAG_FRAME_END; - if (this->seek_flag) { - _x_demux_control_newpts(this->stream, buf->pts, BUF_FLAG_SEEK); - this->seek_flag = 0; + if (this->send_newpts) { + _x_demux_control_newpts(this->stream, buf->pts, this->seek_flag); + this->send_newpts = this->seek_flag = 0; } this->audio_fifo->put (this->audio_fifo, buf); @@ -146,9 +147,14 @@ static int demux_cdda_seek (demux_plugin_t *this_gen, off_t start_pos, int start this->input->seek(this->input, start_pos & ~3, SEEK_SET); else this->input->seek(this->input, start_time * CD_BYTES_PER_SECOND, SEEK_SET); - this->seek_flag = 1; + this->status = DEMUX_OK; - _x_demux_flush_engine (this->stream); + + this->send_newpts = 1; + if (playing) { + this->seek_flag = BUF_FLAG_SEEK; + _x_demux_flush_engine (this->stream); + } return this->status; } diff --git a/src/demuxers/demux_dts.c b/src/demuxers/demux_dts.c index 0606586cb..ed1f16d33 100644 --- a/src/demuxers/demux_dts.c +++ b/src/demuxers/demux_dts.c @@ -278,7 +278,7 @@ static int demux_dts_send_chunk (demux_plugin_t *this_gen) { this->frame_size); } - if (buf->size == 0) { + if (buf->size <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_flac.c b/src/demuxers/demux_flac.c index c14536040..c4132b767 100644 --- a/src/demuxers/demux_flac.c +++ b/src/demuxers/demux_flac.c @@ -33,6 +33,9 @@ #include <unistd.h> #include <string.h> #include <stdlib.h> +#ifdef HAVE_MALLOC_H +#include <malloc.h> +#endif #define LOG_MODULE "demux_flac" #define LOG_VERBOSE diff --git a/src/demuxers/demux_matroska-chapters.c b/src/demuxers/demux_matroska-chapters.c new file mode 100644 index 000000000..aad8fe46d --- /dev/null +++ b/src/demuxers/demux_matroska-chapters.c @@ -0,0 +1,433 @@ +/* + * Copyright (C) 2009 the xine project + * + * This file is part of xine, a free video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine 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 General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * demultiplexer for matroska streams: chapter handling + * + * TODO: + * - nested chapters + * + * Authors: + * Nicos Gollan <gtdev@spearhead.de> + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#define LOG_MODULE "demux_matroska_chapters" +#define LOG_VERBOSE +/* +#define LOG +*/ + +#include "xine_internal.h" +#include "xineutils.h" +#include "demux.h" + +#include "ebml.h" +#include "matroska.h" +#include "demux_matroska.h" + +/* TODO: this only handles one single (title, language, country) tuple. + * See the header for information. */ +static int parse_chapter_display(demux_matroska_t *this, matroska_chapter_t *chap, int level) { + ebml_parser_t *ebml = this->ebml; + int next_level = level+1; + char* tmp_name = NULL; + char* tmp_lang = NULL; + char* tmp_country = NULL; + + while (next_level == level+1) { + ebml_elem_t elem; + + if (!ebml_read_elem_head(ebml, &elem)) + return 0; + + switch (elem.id) { + + case MATROSKA_ID_CH_STRING: + tmp_name = ebml_alloc_read_ascii(ebml, &elem); + break; + + case MATROSKA_ID_CH_LANGUAGE: + tmp_lang = ebml_alloc_read_ascii(ebml, &elem); + break; + + case MATROSKA_ID_CH_COUNTRY: + tmp_country = ebml_alloc_read_ascii(ebml, &elem); + break; + + default: + lprintf("Unhandled ID (inside ChapterDisplay): 0x%x\n", elem.id); + if (!ebml_skip(ebml, &elem)) + return 0; + } + + next_level = ebml_get_next_level(ebml, &elem); + } + + if (NULL != chap->title) { + chap->title = tmp_name; + + free(chap->language); + chap->language = tmp_lang; + + free(chap->country); + chap->country = tmp_country; + } else if (tmp_lang != NULL && !strcmp("eng", tmp_lang) && (chap->language == NULL || strcmp("eng", chap->language))) { + free(chap->title); + chap->title = tmp_name; + + free(chap->language); + chap->language = tmp_lang; + + free(chap->country); + chap->country = tmp_country; + } else { + free(tmp_name); + free(tmp_lang); + free(tmp_country); + } + + return 1; +} + +static int parse_chapter_atom(demux_matroska_t *this, matroska_chapter_t *chap, int level) { + ebml_parser_t *ebml = this->ebml; + int next_level = level+1; + uint64_t num; + + chap->time_start = 0; + chap->time_end = 0; + chap->hidden = 0; + chap->enabled = 1; + + while (next_level == level+1) { + ebml_elem_t elem; + + if (!ebml_read_elem_head(ebml, &elem)) { + lprintf("invalid head\n"); + return 0; + } + + switch (elem.id) { + case MATROSKA_ID_CH_UID: + if (!ebml_read_uint(ebml, &elem, &chap->uid)) { + lprintf("invalid UID\n"); + return 0; + } + break; + + case MATROSKA_ID_CH_TIMESTART: + if (!ebml_read_uint(ebml, &elem, &chap->time_start)) { + lprintf("invalid start time\n"); + return 0; + } + /* convert to xine timing: Matroska timestamps are in nanoseconds, + * xine's PTS are in 1/90,000s */ + chap->time_start /= 100000; + chap->time_start *= 9; + break; + + case MATROSKA_ID_CH_TIMEEND: + if (!ebml_read_uint(ebml, &elem, &chap->time_end)) { + lprintf("invalid end time\n"); + return 0; + } + /* convert to xine timing */ + chap->time_end /= 100000; + chap->time_end *= 9; + break; + + case MATROSKA_ID_CH_DISPLAY: + if (!ebml_read_master(ebml, &elem)) + return 0; + + lprintf("ChapterDisplay\n"); + if(!parse_chapter_display(this, chap, level+1)) { + lprintf("invalid display information\n"); + return 0; + } + break; + + case MATROSKA_ID_CH_HIDDEN: + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + chap->hidden = (int)num; + break; + + case MATROSKA_ID_CH_ENABLED: + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + chap->enabled = (int)num; + break; + + case MATROSKA_ID_CH_ATOM: /* TODO */ + xprintf(this->stream->xine, XINE_VERBOSITY_NONE, + LOG_MODULE ": Warning: Nested chapters are not supported, playback may suffer!\n"); + if (!ebml_skip(ebml, &elem)) + return 0; + break; + + case MATROSKA_ID_CH_TRACK: /* TODO */ + xprintf(this->stream->xine, XINE_VERBOSITY_NONE, + LOG_MODULE ": Warning: Specific track information in chapters is not supported, playback may suffer!\n"); + if (!ebml_skip(ebml, &elem)) + return 0; + break; + + default: + lprintf("Unhandled ID (inside ChapterAtom): 0x%x\n", elem.id); + if (!ebml_skip(ebml, &elem)) + return 0; + } + + next_level = ebml_get_next_level(ebml, &elem); + } + + /* fallback information */ + /* FIXME: check allocations! */ + if (NULL == chap->title) { + chap->title = malloc(9); + if (chap->title != NULL) + strncpy(chap->title, "No title", 9); + } + + if (NULL == chap->language) { + chap->language = malloc(4); + if (chap->language != NULL) + strncpy(chap->language, "unk", 4); + } + + if (NULL == chap->country) { + chap->country = malloc(3); + if (chap->country != NULL) + strncpy(chap->country, "XX", 3); + } + + lprintf( "Chapter 0x%" PRIx64 ": %" PRIu64 "-%" PRIu64 "(pts), %s (%s). %shidden, %senabled.\n", + chap->uid, chap->time_start, chap->time_end, + chap->title, chap->language, + (chap->hidden ? "" : "not "), + (chap->enabled ? "" : "not ")); + + return 1; +} + +static void free_chapter(demux_matroska_t *this, matroska_chapter_t *chap) { + free(chap->title); + free(chap->language); + free(chap->country); + + free(chap); +} + +static int parse_edition_entry(demux_matroska_t *this, matroska_edition_t *ed) { + ebml_parser_t *ebml = this->ebml; + int next_level = 3; + uint64_t num; + int i; + + ed->hidden = 0; + ed->is_default = 0; + ed->ordered = 0; + + while (next_level == 3) { + ebml_elem_t elem; + + if (!ebml_read_elem_head(ebml, &elem)) + return 0; + + switch (elem.id) { + case MATROSKA_ID_CH_ED_UID: + if (!ebml_read_uint(ebml, &elem, &ed->uid)) + return 0; + break; + + case MATROSKA_ID_CH_ED_HIDDEN: + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + ed->hidden = (int)num; + break; + + case MATROSKA_ID_CH_ED_DEFAULT: + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + ed->is_default = (int)num; + break; + + case MATROSKA_ID_CH_ED_ORDERED: + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + ed->ordered = (int)num; + break; + + case MATROSKA_ID_CH_ATOM: + { + matroska_chapter_t *chapter = calloc(1, sizeof(matroska_chapter_t)); + if (NULL == chapter) + return 0; + + lprintf("ChapterAtom\n"); + if (!ebml_read_master(ebml, &elem)) + return 0; + + if (!parse_chapter_atom(this, chapter, next_level)) + return 0; + + /* resize chapters array if necessary */ + if (ed->num_chapters >= ed->cap_chapters) { + matroska_chapter_t** old_chapters = ed->chapters; + ed->cap_chapters += 10; + ed->chapters = realloc(ed->chapters, ed->cap_chapters * sizeof(matroska_chapter_t*)); + + if (NULL == ed->chapters) { + ed->chapters = old_chapters; + ed->cap_chapters -= 10; + return 0; + } + } + + ed->chapters[ed->num_chapters] = chapter; + ++ed->num_chapters; + + break; + } + + default: + lprintf("Unhandled ID (inside EditionEntry): 0x%x\n", elem.id); + if (!ebml_skip(ebml, &elem)) + return 0; + } + + next_level = ebml_get_next_level(ebml, &elem); + } + + xprintf( this->stream->xine, XINE_VERBOSITY_LOG, + LOG_MODULE ": Edition 0x%" PRIx64 ": %shidden, %sdefault, %sordered. %d chapters:\n", + ed->uid, + (ed->hidden ? "" : "not "), + (ed->is_default ? "" : "not "), + (ed->ordered ? "" : "not "), + ed->num_chapters ); + + for (i=0; i<ed->num_chapters; ++i) { + matroska_chapter_t* chap = ed->chapters[i]; + xprintf( this->stream->xine, XINE_VERBOSITY_LOG, + LOG_MODULE ": Chapter %d: %" PRIu64 "-%" PRIu64 "(pts), %s (%s). %shidden, %senabled.\n", + i+1, chap->time_start, chap->time_end, + chap->title, chap->language, + (chap->hidden ? "" : "not "), + (chap->enabled ? "" : "not ")); + } + + return 1; +} + +static void free_edition(demux_matroska_t *this, matroska_edition_t *ed) { + int i; + + for(i=0; i<ed->num_chapters; ++i) { + free_chapter(this, ed->chapters[i]); + } + free(ed->chapters); + free(ed); +} + +int matroska_parse_chapters(demux_matroska_t *this) { + ebml_parser_t *ebml = this->ebml; + int next_level = 2; + + while (next_level == 2) { + ebml_elem_t elem; + + if (!ebml_read_elem_head(ebml, &elem)) + return 0; + + switch (elem.id) { + case MATROSKA_ID_CH_EDITIONENTRY: + { + matroska_edition_t *edition = calloc(1, sizeof(matroska_edition_t)); + if (NULL == edition) + return 0; + + lprintf("EditionEntry\n"); + if (!ebml_read_master(ebml, &elem)) + return 0; + + if (!parse_edition_entry(this, edition)) + return 0; + + /* resize editions array if necessary */ + if (this->num_editions >= this->cap_editions) { + matroska_edition_t** old_editions = this->editions; + this->cap_editions += 10; + this->editions = realloc(this->editions, this->cap_editions * sizeof(matroska_edition_t*)); + + if (NULL == this->editions) { + this->editions = old_editions; + this->cap_editions -= 10; + return 0; + } + } + + this->editions[this->num_editions] = edition; + ++this->num_editions; + + break; + } + + default: + lprintf("Unhandled ID: 0x%x\n", elem.id); + if (!ebml_skip(ebml, &elem)) + return 0; + } + + next_level = ebml_get_next_level(ebml, &elem); + } + + return 1; +} + +void matroska_free_editions(demux_matroska_t *this) { + int i; + + for(i=0; i<this->num_editions; ++i) { + free_edition(this, this->editions[i]); + } + free(this->editions); + this->num_editions = 0; + this->cap_editions = 0; +} + +int matroska_get_chapter(demux_matroska_t *this, uint64_t tc, matroska_edition_t** ed) { + uint64_t block_pts = (tc * this->timecode_scale) / 100000 * 9; + int chapter_idx = 0; + + if (this->num_editions < 1) + return -1; + + while (chapter_idx < (*ed)->num_chapters && block_pts > (*ed)->chapters[chapter_idx]->time_start) + ++chapter_idx; + + if (chapter_idx > 0) + --chapter_idx; + + return chapter_idx; +} diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c index ec75cb97a..9d224c62c 100644 --- a/src/demuxers/demux_matroska.c +++ b/src/demuxers/demux_matroska.c @@ -42,6 +42,7 @@ /* #define LOG */ + #include "xine_internal.h" #include "xineutils.h" #include "demux.h" @@ -50,89 +51,7 @@ #include "ebml.h" #include "matroska.h" - -#define NUM_PREVIEW_BUFFERS 10 - -#define MAX_STREAMS 128 -#define MAX_FRAMES 32 - -#define WRAP_THRESHOLD 90000 - -typedef struct { - int track_num; - off_t *pos; - uint64_t *timecode; - int num_entries; - -} matroska_index_t; - -typedef struct { - - demux_plugin_t demux_plugin; - - xine_stream_t *stream; - - input_plugin_t *input; - - int status; - - ebml_parser_t *ebml; - - /* segment element */ - ebml_elem_t segment; - uint64_t timecode_scale; - int duration; /* in millis */ - int preview_sent; - int preview_mode; - - /* meta seek info */ - int has_seekhead; - int seekhead_handled; - - /* seek info */ - matroska_index_t *indexes; - int num_indexes; - int first_cluster_found; - int skip_to_timecode; - int skip_for_track; - - /* tracks */ - int num_tracks; - int num_video_tracks; - int num_audio_tracks; - int num_sub_tracks; - - matroska_track_t *tracks[MAX_STREAMS]; - - /* block */ - uint8_t *block_data; - size_t block_data_size; - - /* current tracks */ - matroska_track_t *video_track; /* to remove */ - matroska_track_t *audio_track; /* to remove */ - matroska_track_t *sub_track; /* to remove */ - - int send_newpts; - int buf_flag_seek; - - /* seekhead parsing */ - int top_level_list_size; - int top_level_list_max_size; - off_t *top_level_list; - -} demux_matroska_t ; - -typedef struct { - - demux_class_t demux_class; - - /* class-wide, global variables here */ - - xine_t *xine; - -} demux_matroska_class_t; - +#include "demux_matroska.h" static void check_newpts (demux_matroska_t *this, int64_t pts, matroska_track_t *track) { @@ -206,10 +125,10 @@ static int parse_info(demux_matroska_t *this) { ebml_parser_t *ebml = this->ebml; int next_level = 2; double duration = 0.0; /* in matroska unit */ - + while (next_level == 2) { ebml_elem_t elem; - + if (!ebml_read_elem_head(ebml, &elem)) return 0; @@ -219,14 +138,22 @@ static int parse_info(demux_matroska_t *this) { if (!ebml_read_uint(ebml, &elem, &this->timecode_scale)) return 0; break; - case MATROSKA_ID_I_DURATION: { - + + case MATROSKA_ID_I_DURATION: lprintf("duration\n"); if (!ebml_read_float(ebml, &elem, &duration)) return 0; - } - break; - + break; + + case MATROSKA_ID_I_TITLE: + lprintf("title\n"); + if (NULL != this->title) + free(this->title); + + this->title = ebml_alloc_read_ascii(ebml, &elem); + _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TITLE, this->title); + break; + default: lprintf("Unhandled ID: 0x%x\n", elem.id); if (!ebml_skip(ebml, &elem)) @@ -240,6 +167,8 @@ static int parse_info(demux_matroska_t *this) { this->duration = (int)(duration * (double)this->timecode_scale / 1000000.0); lprintf("timecode_scale: %" PRId64 "\n", this->timecode_scale); lprintf("duration: %d\n", this->duration); + lprintf("title: %s\n", (NULL != this->title ? this->title : "(none)")); + return 1; } @@ -607,6 +536,8 @@ static void init_codec_xiph(demux_matroska_t *this, matroska_track_t *track) { int i; uint8_t *data; + if (track->codec_private_len < 3) + return; nb_lace = track->codec_private[0]; if (nb_lace != 2) return; @@ -614,6 +545,8 @@ static void init_codec_xiph(demux_matroska_t *this, matroska_track_t *track) { frame[0] = track->codec_private[1]; frame[1] = track->codec_private[2]; frame[2] = track->codec_private_len - frame[0] - frame[1] - 3; + if (frame[2] < 0) + return; data = track->codec_private + 3; for (i = 0; i < 3; i++) { @@ -1147,62 +1080,72 @@ static void handle_vobsub (demux_plugin_t *this_gen, matroska_track_t *track, static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { ebml_parser_t *ebml = this->ebml; int next_level = 3; - + while (next_level == 3) { ebml_elem_t elem; - + if (!ebml_read_elem_head(ebml, &elem)) return 0; switch (elem.id) { - case MATROSKA_ID_TR_NUMBER: { - uint64_t num; - lprintf("TrackNumber\n"); - if (!ebml_read_uint(ebml, &elem, &num)) - return 0; - track->track_num = num; - } - break; - - case MATROSKA_ID_TR_TYPE: { - uint64_t num; - lprintf("TrackType\n"); - if (!ebml_read_uint(ebml, &elem, &num)) - return 0; - track->track_type = num; - } - break; - - case MATROSKA_ID_TR_CODECID: { - char *codec_id = ebml_alloc_read_ascii (ebml, &elem); - lprintf("CodecID\n"); - if (!codec_id) - return 0; - track->codec_id = codec_id; - } - break; - - case MATROSKA_ID_TR_CODECPRIVATE: { - char *codec_private = malloc (elem.len); - lprintf("CodecPrivate\n"); - if (!ebml_read_binary(ebml, &elem, codec_private)) { - free(codec_private); - return 0; - } - track->codec_private = codec_private; - track->codec_private_len = elem.len; - } - break; - - case MATROSKA_ID_TR_LANGUAGE: { - char *language = ebml_alloc_read_ascii (ebml, &elem); - lprintf("Language\n"); - if (!language) - return 0; - track->language = language; - } - break; - + case MATROSKA_ID_TR_NUMBER: + { + uint64_t num; + lprintf("TrackNumber\n"); + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + track->track_num = num; + } + break; + + case MATROSKA_ID_TR_TYPE: + { + uint64_t num; + lprintf("TrackType\n"); + if (!ebml_read_uint(ebml, &elem, &num)) + return 0; + track->track_type = num; + } + break; + + case MATROSKA_ID_TR_CODECID: + { + char *codec_id = ebml_alloc_read_ascii (ebml, &elem); + lprintf("CodecID\n"); + if (!codec_id) + return 0; + track->codec_id = codec_id; + } + break; + + case MATROSKA_ID_TR_CODECPRIVATE: + { + char *codec_private; + if (elem.len >= 0x80000000) + return 0; + codec_private = malloc (elem.len); + if (! codec_private) + return 0; + lprintf("CodecPrivate\n"); + if (!ebml_read_binary(ebml, &elem, codec_private)) { + free(codec_private); + return 0; + } + track->codec_private = codec_private; + track->codec_private_len = elem.len; + } + break; + + case MATROSKA_ID_TR_LANGUAGE: + { + char *language = ebml_alloc_read_ascii (ebml, &elem); + lprintf("Language\n"); + if (!language) + return 0; + track->language = language; + } + break; + case MATROSKA_ID_TV: lprintf("Video\n"); if (track->video_track) @@ -1212,8 +1155,8 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { return 0; if ((elem.len > 0) && !parse_video_track(this, track->video_track)) return 0; - break; - + break; + case MATROSKA_ID_TA: lprintf("Audio\n"); if (track->audio_track) @@ -1223,38 +1166,54 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { return 0; if ((elem.len > 0) && !parse_audio_track(this, track->audio_track)) return 0; - break; - - case MATROSKA_ID_TR_FLAGDEFAULT: { - uint64_t val; - - lprintf("Default\n"); - if (!ebml_read_uint(ebml, &elem, &val)) - return 0; - track->default_flag = (int)val; - } - break; + break; - case MATROSKA_ID_TR_DEFAULTDURATION: { - uint64_t val; + case MATROSKA_ID_TR_FLAGDEFAULT: + { + uint64_t val; - if (!ebml_read_uint(ebml, &elem, &val)) - return 0; - track->default_duration = val; - lprintf("Default Duration: %"PRIu64"\n", track->default_duration); - } - break; + lprintf("Default\n"); + if (!ebml_read_uint(ebml, &elem, &val)) + return 0; + track->default_flag = (int)val; + } + break; - case MATROSKA_ID_CONTENTENCODINGS: { - lprintf("ContentEncodings\n"); - if (!ebml_read_master (ebml, &elem)) - return 0; - if ((elem.len > 0) && !parse_content_encodings(this, track)) - return 0; - } - break; + case MATROSKA_ID_TR_DEFAULTDURATION: + { + uint64_t val; + + if (!ebml_read_uint(ebml, &elem, &val)) + return 0; + track->default_duration = val; + lprintf("Default Duration: %"PRIu64"\n", track->default_duration); + } + break; + + case MATROSKA_ID_CONTENTENCODINGS: + { + lprintf("ContentEncodings\n"); + if (!ebml_read_master (ebml, &elem)) + return 0; + if ((elem.len > 0) && !parse_content_encodings(this, track)) + return 0; + } + break; + + case MATROSKA_ID_TR_UID: + { + uint64_t val; + + if (!ebml_read_uint(ebml, &elem, &val)) { + lprintf("Track UID (invalid)\n"); + return 0; + } + + track->uid = val; + lprintf("Track UID: 0x%" PRIx64 "\n", track->uid); + } + break; - case MATROSKA_ID_TR_UID: case MATROSKA_ID_TR_FLAGENABLED: case MATROSKA_ID_TR_FLAGLACING: case MATROSKA_ID_TR_MINCACHE: @@ -1275,32 +1234,37 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { } next_level = ebml_get_next_level(ebml, &elem); } - + xprintf(this->stream->xine, XINE_VERBOSITY_LOG, - "demux_matroska: Track %d, %s %s\n", - track->track_num, - (track->codec_id ? track->codec_id : ""), - (track->language ? track->language : "")); + "demux_matroska: Track %d, %s %s\n", + track->track_num, + (track->codec_id ? track->codec_id : ""), + (track->language ? track->language : "")); if (track->codec_id) { void (*init_codec)(demux_matroska_t *, matroska_track_t *) = NULL; if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_VFW_FOURCC)) { xine_bmiheader *bih; - lprintf("MATROSKA_CODEC_ID_V_VFW_FOURCC\n"); - bih = (xine_bmiheader*)track->codec_private; - _x_bmiheader_le2me(bih); + if (track->codec_private_len >= sizeof(xine_bmiheader)) { + lprintf("MATROSKA_CODEC_ID_V_VFW_FOURCC\n"); + bih = (xine_bmiheader*)track->codec_private; + _x_bmiheader_le2me(bih); - track->buf_type = _x_fourcc_to_buf_video(bih->biCompression); - init_codec = init_codec_video; + track->buf_type = _x_fourcc_to_buf_video(bih->biCompression); + init_codec = init_codec_video; + } } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_UNCOMPRESSED)) { } else if ((!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_SP)) || - (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_ASP)) || - (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_AP))) { + (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_ASP)) || + (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_AP))) { xine_bmiheader *bih; - + lprintf("MATROSKA_CODEC_ID_V_MPEG4_*\n"); + if (track->codec_private_len > 0x7fffffff - sizeof(xine_bmiheader)) + track->codec_private_len = 0x7fffffff - sizeof(xine_bmiheader); + /* create a bitmap info header struct for MPEG 4 */ bih = calloc(1, sizeof(xine_bmiheader) + track->codec_private_len); bih->biSize = sizeof(xine_bmiheader) + track->codec_private_len; @@ -1308,20 +1272,23 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { bih->biWidth = track->video_track->pixel_width; bih->biHeight = track->video_track->pixel_height; _x_bmiheader_le2me(bih); - + /* add bih extra data */ memcpy(bih + 1, track->codec_private, track->codec_private_len); free(track->codec_private); track->codec_private = (uint8_t *)bih; track->codec_private_len = bih->biSize; track->buf_type = BUF_VIDEO_MPEG4; - + /* init as a vfw decoder */ init_codec = init_codec_video; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MPEG4_AVC)) { xine_bmiheader *bih; - + lprintf("MATROSKA_CODEC_ID_V_MPEG4_AVC\n"); + if (track->codec_private_len > 0x7fffffff - sizeof(xine_bmiheader)) + track->codec_private_len = 0x7fffffff - sizeof(xine_bmiheader); + /* create a bitmap info header struct for h264 */ bih = calloc(1, sizeof(xine_bmiheader) + track->codec_private_len); bih->biSize = sizeof(xine_bmiheader) + track->codec_private_len; @@ -1329,14 +1296,14 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { bih->biWidth = track->video_track->pixel_width; bih->biHeight = track->video_track->pixel_height; _x_bmiheader_le2me(bih); - + /* add bih extra data */ memcpy(bih + 1, track->codec_private, track->codec_private_len); free(track->codec_private); track->codec_private = (uint8_t *)bih; track->codec_private_len = bih->biSize; track->buf_type = BUF_VIDEO_H264; - + /* init as a vfw decoder */ init_codec = init_codec_video; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_MSMPEG4V3)) { @@ -1357,7 +1324,7 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { track->handle_content = handle_realvideo; init_codec = init_codec_real; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_V_REAL_RV40)) { - + lprintf("MATROSKA_CODEC_ID_V_REAL_RV40\n"); track->buf_type = BUF_VIDEO_RV40; track->handle_content = handle_realvideo; @@ -1369,8 +1336,8 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { track->buf_type = BUF_VIDEO_THEORA_RAW; init_codec = init_codec_xiph; } else if ((!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_MPEG1_L1)) || - (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_MPEG1_L2)) || - (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_MPEG1_L3))) { + (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_MPEG1_L2)) || + (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_MPEG1_L3))) { lprintf("MATROSKA_CODEC_ID_A_MPEG1\n"); track->buf_type = BUF_AUDIO_MPEG; init_codec = init_codec_audio; @@ -1382,7 +1349,7 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { lprintf("MATROSKA_CODEC_ID_A_AC3\n"); track->buf_type = BUF_AUDIO_A52; init_codec = init_codec_audio; - + } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_DTS)) { lprintf("MATROSKA_CODEC_ID_A_DTS\n"); track->buf_type = BUF_AUDIO_DTS; @@ -1398,13 +1365,15 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { xine_waveformatex *wfh; lprintf("MATROSKA_CODEC_ID_A_ACM\n"); - wfh = (xine_waveformatex*)track->codec_private; - _x_waveformatex_le2me(wfh); + if (track->codec_private_len >= sizeof(xine_waveformatex)) { + wfh = (xine_waveformatex*)track->codec_private; + _x_waveformatex_le2me(wfh); - track->buf_type = _x_formattag_to_buf_audio(wfh->wFormatTag); - init_codec = init_codec_audio; + track->buf_type = _x_formattag_to_buf_audio(wfh->wFormatTag); + init_codec = init_codec_audio; + } } else if (!strncmp(track->codec_id, MATROSKA_CODEC_ID_A_AAC, - sizeof(MATROSKA_CODEC_ID_A_AAC) - 1)) { + sizeof(MATROSKA_CODEC_ID_A_AAC) - 1)) { lprintf("MATROSKA_CODEC_ID_A_AAC\n"); track->buf_type = BUF_AUDIO_AAC; init_codec = init_codec_aac; @@ -1424,17 +1393,17 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { track->buf_type = BUF_AUDIO_ATRK; init_codec = init_codec_real; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_S_TEXT_UTF8) || - !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_UTF8)) { + !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_UTF8)) { lprintf("MATROSKA_CODEC_ID_S_TEXT_UTF8\n"); track->buf_type = BUF_SPU_OGM; track->handle_content = handle_sub_utf8; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_S_TEXT_SSA) || - !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_SSA)) { + !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_SSA)) { lprintf("MATROSKA_CODEC_ID_S_TEXT_SSA\n"); track->buf_type = BUF_SPU_OGM; track->handle_content = handle_sub_ssa; } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_S_TEXT_ASS) || - !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_ASS)) { + !strcmp(track->codec_id, MATROSKA_CODEC_ID_S_ASS)) { lprintf("MATROSKA_CODEC_ID_S_TEXT_ASS\n"); track->buf_type = BUF_SPU_OGM; track->handle_content = handle_sub_ssa; @@ -1447,7 +1416,7 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { track->buf_type = BUF_SPU_DVD; track->handle_content = handle_vobsub; init_codec = init_codec_vobsub; - + /* Enable autodetection of the zlib compression, unless it was * explicitely set. Most vobsubs are compressed with zlib but * are not declared as such. @@ -1483,12 +1452,17 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { break; } - if (init_codec) + if (init_codec) { + if (! track->fifo) { + xprintf(this->stream->xine, XINE_VERBOSITY_LOG, + "demux_matroska: Error: fifo not set up for track of type type %" PRIu32 "\n", track->track_type); + return 0; + } init_codec(this, track); - + } } } - + return 1; } @@ -1507,6 +1481,12 @@ static int parse_tracks(demux_matroska_t *this) { case MATROSKA_ID_TR_ENTRY: { matroska_track_t *track; + /* bail out early if no more tracks can be handled! */ + if (this->num_tracks >= MAX_STREAMS) { + lprintf("Too many tracks!\n"); + return 0; + } + /* alloc and initialize a track with 0 */ track = calloc(1, sizeof(matroska_track_t)); track->compress_algo = MATROSKA_COMPRESS_NONE; @@ -1520,29 +1500,7 @@ static int parse_tracks(demux_matroska_t *this) { this->num_tracks++; } break; - - default: - lprintf("Unhandled ID: 0x%x\n", elem.id); - if (!ebml_skip(ebml, &elem)) - return 0; - } - next_level = ebml_get_next_level(ebml, &elem); - } - return 1; -} - -static int parse_chapters(demux_matroska_t *this) { - ebml_parser_t *ebml = this->ebml; - int next_level = 2; - - while (next_level == 2) { - ebml_elem_t elem; - - if (!ebml_read_elem_head(ebml, &elem)) - return 0; - - switch (elem.id) { default: lprintf("Unhandled ID: 0x%x\n", elem.id); if (!ebml_skip(ebml, &elem)) @@ -1553,7 +1511,6 @@ static int parse_chapters(demux_matroska_t *this) { return 1; } - static int parse_cue_trackposition(demux_matroska_t *this, int *track_num, int64_t *pos) { ebml_parser_t *ebml = this->ebml; @@ -1811,6 +1768,11 @@ static int read_block_data (demux_matroska_t *this, size_t len) { alloc_block_data(this, len); /* block datas */ + if (! this->block_data) { + xprintf(this->stream->xine, XINE_VERBOSITY_LOG, + "demux_matroska: memory allocation error\n"); + return 0; + } if (this->input->read(this->input, this->block_data, len) != len) { off_t pos = this->input->get_current_pos(this->input); xprintf(this->stream->xine, XINE_VERBOSITY_LOG, @@ -1838,7 +1800,7 @@ static int parse_block (demux_matroska_t *this, size_t block_size, uint8_t *data; uint8_t flags; int gap, lacing, num_len; - int timecode_diff; + int16_t timecode_diff; int64_t pts, xduration; int decoder_flags = 0; @@ -1848,7 +1810,7 @@ static int parse_block (demux_matroska_t *this, size_t block_size, data += num_len; /* timecode_diff is signed */ - timecode_diff = parse_int16(data); + timecode_diff = (int16_t)parse_int16(data); data += 2; flags = *data; @@ -2049,6 +2011,31 @@ static int parse_block (demux_matroska_t *this, size_t block_size, return 1; } +static int parse_simpleblock(demux_matroska_t *this, size_t block_len, uint64_t cluster_timecode, uint64_t block_duration) +{ + int has_block = 0; + off_t block_pos = 0; + off_t file_len = 0; + int normpos = 0; + int is_key = 1; + + lprintf("simpleblock\n"); + block_pos = this->input->get_current_pos(this->input); + file_len = this->input->get_length(this->input); + if( file_len ) + normpos = (int) ( (double) block_pos * 65535 / file_len ); + + if (!read_block_data(this, block_len)) + return 0; + + has_block = 1; + /* we have the duration, we can parse the block now */ + if (!parse_block(this, block_len, cluster_timecode, block_duration, + normpos, is_key)) + return 0; + return 1; +} + static int parse_block_group(demux_matroska_t *this, uint64_t cluster_timecode, uint64_t cluster_duration) { @@ -2111,9 +2098,52 @@ static int parse_block_group(demux_matroska_t *this, return 1; } +static int demux_matroska_seek (demux_plugin_t*, off_t, int, int); + +static void handle_events(demux_matroska_t *this) { + xine_event_t* event; + + while ((event = xine_event_get(this->event_queue))) { + if (this->num_editions > 0) { + matroska_edition_t* ed = this->editions[0]; + int chapter_idx = matroska_get_chapter(this, this->last_timecode, &ed); + uint64_t next_time; + + if (chapter_idx < 0) { + xine_event_free(event); + continue; + } + + switch(event->type) { + case XINE_EVENT_INPUT_NEXT: + if (chapter_idx < ed->num_chapters-1) { + next_time = ed->chapters[chapter_idx+1]->time_start / 90; + demux_matroska_seek((demux_plugin_t*)this, 0, next_time, 1); + } + break; + + /* TODO: should this try to implement common "start of chapter" + * functionality? */ + case XINE_EVENT_INPUT_PREVIOUS: + if (chapter_idx > 0) { + next_time = ed->chapters[chapter_idx-1]->time_start / 90; + demux_matroska_seek((demux_plugin_t*)this, 0, next_time, 1); + } + break; + + default: + break; + } + } + + xine_event_free(event); + } +} + static int parse_cluster(demux_matroska_t *this) { ebml_parser_t *ebml = this->ebml; - int next_level = 2; + int this_level = ebml->level; + int next_level = this_level; uint64_t timecode = 0; uint64_t duration = 0; @@ -2130,7 +2160,9 @@ static int parse_cluster(demux_matroska_t *this) { this->first_cluster_found = 1; } - while (next_level == 2) { + handle_events(this); + + while (next_level == this_level) { ebml_elem_t elem; if (!ebml_read_elem_head(ebml, &elem)) @@ -2154,6 +2186,11 @@ static int parse_cluster(demux_matroska_t *this) { if ((elem.len > 0) && !parse_block_group(this, timecode, duration)) return 0; break; + case MATROSKA_ID_CL_SIMPLEBLOCK: + lprintf("simpleblock\n"); + if (!parse_simpleblock(this, elem.len, timecode, duration)) + return 0; + break; case MATROSKA_ID_CL_BLOCK: lprintf("block\n"); if (!ebml_skip(ebml, &elem)) @@ -2166,6 +2203,49 @@ static int parse_cluster(demux_matroska_t *this) { } next_level = ebml_get_next_level(ebml, &elem); } + + /* at this point, we MUST have a timecode (according to format spec). + * Use that to find the chapter we are in, and adjust the title. + * + * TODO: this only looks at the chapters in the first edition. + */ + + this->last_timecode = timecode; + + if (this->num_editions <= 0) + return 1; + matroska_edition_t *ed = this->editions[0]; + + if (ed->num_chapters <= 0) + return 1; + + /* fix up a makeshift title if none has been set yet (e.g. filename) */ + if (NULL == this->title && NULL != _x_meta_info_get(this->stream, XINE_META_INFO_TITLE)) + this->title = strdup(_x_meta_info_get(this->stream, XINE_META_INFO_TITLE)); + + if (NULL == this->title) + this->title = strdup("(No title)"); + + if (NULL == this->title) { + lprintf("Failed to determine a valid stream title!\n"); + return 1; + } + + int chapter_idx = matroska_get_chapter(this, timecode, &ed); + if (chapter_idx < 0) { + _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TITLE, this->title); + return 1; + } + + xine_ui_data_t uidata = { + .str = {0, }, + .str_len = 0, + }; + + uidata.str_len = snprintf(uidata.str, sizeof(uidata.str), "%s / (%d) %s", + this->title, chapter_idx+1, ed->chapters[chapter_idx]->title); + _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TITLE, uidata.str); + return 1; } @@ -2300,6 +2380,7 @@ static int parse_top_level_head(demux_matroska_t *this, int *next_level) { ebml_elem_t elem; int ret_value = 1; off_t current_pos; + current_pos = this->input->get_current_pos(this->input); lprintf("current_pos: %" PRIdMAX "\n", (intmax_t)current_pos); @@ -2338,7 +2419,7 @@ static int parse_top_level_head(demux_matroska_t *this, int *next_level) { lprintf("Chapters\n"); if (!ebml_read_master (ebml, &elem)) return 0; - if ((elem.len > 0) && !parse_chapters(this)) + if ((elem.len > 0) && !matroska_parse_chapters(this)) return 0; break; case MATROSKA_ID_CLUSTER: @@ -2702,6 +2783,8 @@ static void demux_matroska_dispose (demux_plugin_t *this_gen) { demux_matroska_t *this = (demux_matroska_t *) this_gen; int i; + free(this->block_data); + /* free tracks */ for (i = 0; i < this->num_tracks; i++) { matroska_track_t *track; @@ -2719,7 +2802,7 @@ static void demux_matroska_dispose (demux_plugin_t *this_gen) { free (track->audio_track); if (track->sub_track) free (track->sub_track); - + free (track); } /* Free the cues. */ @@ -2731,12 +2814,17 @@ static void demux_matroska_dispose (demux_plugin_t *this_gen) { } if (this->indexes) free(this->indexes); - - /* Free the top_level elem list */ + + /* Free the top_level elem list */ if (this->top_level_list) free(this->top_level_list); + free(this->title); + + matroska_free_editions(this); + dispose_ebml_parser(this->ebml); + xine_event_dispose_queue(this->event_queue); free (this); } @@ -2750,7 +2838,13 @@ static int demux_matroska_get_stream_length (demux_plugin_t *this_gen) { static uint32_t demux_matroska_get_capabilities (demux_plugin_t *this_gen) { - return DEMUX_CAP_SPULANG | DEMUX_CAP_AUDIOLANG; + demux_matroska_t* this = (demux_matroska_t*)this_gen; + uint32_t caps = DEMUX_CAP_SPULANG | DEMUX_CAP_AUDIOLANG; + + if(this->num_editions > 0 && this->editions[0]->num_chapters > 0) + caps |= DEMUX_CAP_CHAPTERS; + + return caps; } @@ -2881,11 +2975,18 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str if (strcmp(ebml->doctype, "matroska")) goto error; + this->event_queue = xine_event_new_queue(this->stream); + return &this->demux_plugin; error: dispose_ebml_parser(ebml); - free(this); + + if (NULL != this) { + xine_event_dispose_queue(this->event_queue); + free(this); + } + return NULL; } diff --git a/src/demuxers/demux_matroska.h b/src/demuxers/demux_matroska.h new file mode 100644 index 000000000..a62aba498 --- /dev/null +++ b/src/demuxers/demux_matroska.h @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2000-2008 the xine project + * + * This file is part of xine, a free video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine 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 General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * demultiplexer for matroska streams: shared header + */ + +#ifndef _DEMUX_MATROSKA_H_ +#define _DEMUX_MATROSKA_H_ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <ctype.h> +#include <stdio.h> +#include <fcntl.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <zlib.h> + +#include "xine_internal.h" +#include "demux.h" +#include "buffer.h" +#include "bswap.h" + +#include "ebml.h" +#include "matroska.h" + +#define NUM_PREVIEW_BUFFERS 10 + +#define MAX_STREAMS 128 +#define MAX_FRAMES 32 + +#define WRAP_THRESHOLD 90000 + +typedef struct { + int track_num; + off_t *pos; + uint64_t *timecode; + int num_entries; + +} matroska_index_t; + +typedef struct { + + demux_plugin_t demux_plugin; + + xine_stream_t *stream; + + input_plugin_t *input; + + int status; + + ebml_parser_t *ebml; + + /* segment element */ + ebml_elem_t segment; + uint64_t timecode_scale; + int duration; /* in millis */ + int preview_sent; + int preview_mode; + char *title; + + /* meta seek info */ + int has_seekhead; + int seekhead_handled; + + /* seek info */ + matroska_index_t *indexes; + int num_indexes; + int first_cluster_found; + int skip_to_timecode; + int skip_for_track; + + /* tracks */ + int num_tracks; + int num_video_tracks; + int num_audio_tracks; + int num_sub_tracks; + + matroska_track_t *tracks[MAX_STREAMS]; + + /* maintain editions, number and capacity */ + int num_editions, cap_editions; + matroska_edition_t **editions; + + /* block */ + uint8_t *block_data; + size_t block_data_size; + + /* current tracks */ + matroska_track_t *video_track; /* to remove */ + matroska_track_t *audio_track; /* to remove */ + matroska_track_t *sub_track; /* to remove */ + uint64_t last_timecode; + + int send_newpts; + int buf_flag_seek; + + /* seekhead parsing */ + int top_level_list_size; + int top_level_list_max_size; + off_t *top_level_list; + + /* event handling (chapter navigation) */ + xine_event_queue_t *event_queue; +} demux_matroska_t ; + +typedef struct { + + demux_class_t demux_class; + + /* class-wide, global variables here */ + + xine_t *xine; + +} demux_matroska_class_t; + +/* "entry points" for chapter handling. + * The parser descends into "Chapters" elements at the _parse_ function, + * and editions care about cleanup internally. */ +int matroska_parse_chapters(demux_matroska_t*); +void matroska_free_editions(demux_matroska_t*); + +/* Search an edition for the chapter matching a given timecode. + * + * Return: chapter index, or -1 if none is found. + * + * TODO: does not handle chapter end times yet. + */ +int matroska_get_chapter(demux_matroska_t*, uint64_t, matroska_edition_t**); + +#endif /* _DEMUX_MATROSKA_H_ */ diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c index 0fcdb24ff..d0d83ff80 100644 --- a/src/demuxers/demux_mng.c +++ b/src/demuxers/demux_mng.c @@ -104,7 +104,12 @@ static mng_bool mymng_close_stream(mng_handle mngh){ static mng_bool mymng_read_stream(mng_handle mngh, mng_ptr buffer, mng_uint32 size, mng_uint32 *bytesread){ demux_mng_t *this = (demux_mng_t*)mng_get_userdata(mngh); - *bytesread = this->input->read(this->input, buffer, size); + off_t n = this->input->read(this->input, buffer, size); + if (n < 0) { + *bytesread = 0; + return MNG_FALSE; + } + *bytesread = n; return MNG_TRUE; } @@ -112,6 +117,9 @@ static mng_bool mymng_read_stream(mng_handle mngh, mng_ptr buffer, mng_uint32 si static mng_bool mymng_process_header(mng_handle mngh, mng_uint32 width, mng_uint32 height){ demux_mng_t *this = (demux_mng_t*)mng_get_userdata(mngh); + if (width > 0x8000 || height > 0x8000) + return MNG_FALSE; + this->bih.biWidth = (width + 7) & ~7; this->bih.biHeight = height; this->left_edge = (this->bih.biWidth - width) / 2; diff --git a/src/demuxers/demux_mod.c b/src/demuxers/demux_mod.c index bffcf36d8..de3e29ca8 100644 --- a/src/demuxers/demux_mod.c +++ b/src/demuxers/demux_mod.c @@ -130,9 +130,16 @@ static int probe_mod_file(demux_mod_t *this) { /* returns 1 if the MOD file was opened successfully, 0 otherwise */ static int open_mod_file(demux_mod_t *this) { int total_read; + off_t input_length; /* Get size and create buffer */ - this->filesize = this->input->get_length(this->input); + input_length = this->input->get_length(this->input); + /* Avoid potential issues with signed variables and e.g. read() returning -1 */ + if (input_length > 0x7FFFFFFF || input_length < 0) { + xine_log(this->stream->xine, XINE_LOG_PLUGIN, "modplug - size overflow\n"); + return 0; + } + this->filesize = input_length; this->buffer = (char *)malloc(this->filesize); if(!this->buffer) { xine_log(this->stream->xine, XINE_LOG_PLUGIN, "modplug - allocation failure\n"); @@ -171,6 +178,8 @@ static int open_mod_file(demux_mod_t *this) { this->copyright = strdup(""); this->mod_length = ModPlug_GetLength(this->mpfile); + if (this->mod_length < 1) + this->mod_length = 1; /* avoids -ve & div-by-0 */ return 1; } @@ -372,7 +381,19 @@ static const char *get_extensions (demux_class_t *this_gen) { } static const char *get_mimetypes (demux_class_t *this_gen) { - return NULL; + return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;" + "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;" + "audio/it: it: ImpulseTracker Module;" + "audio/x-it: it: ImpulseTracker Module;" + "audio/x-stm: stm: ScreamTracker 2 Module;" + "audio/x-s3m: s3m: ScreamTracker 3 Module;" + "audio/s3m: s3m: ScreamTracker 3 Module;" + "application/playerpro: 669: 669 Tracker Module;" + "application/adrift: amf: ADRIFT Module File;" + "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;" + "audio/x-amf: amf: ADRIFT Module File;" + "audio/x-xm: xm: FastTracker II Audio;" + "audio/xm: xm: FastTracker II Audio;"; } static void class_dispose (demux_class_t *this_gen) { diff --git a/src/demuxers/demux_mpc.c b/src/demuxers/demux_mpc.c index 9b27e5954..220e1b8b6 100644 --- a/src/demuxers/demux_mpc.c +++ b/src/demuxers/demux_mpc.c @@ -209,7 +209,7 @@ static int demux_mpc_send_chunk(demux_plugin_t *this_gen) { /* Read data */ bytes_read = this->input->read(this->input, buf->content, bytes_to_read); - if(bytes_read == 0) { + if(bytes_read <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_mpeg.c b/src/demuxers/demux_mpeg.c index 026d2a88e..ae0a50ae6 100644 --- a/src/demuxers/demux_mpeg.c +++ b/src/demuxers/demux_mpeg.c @@ -281,6 +281,10 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) if((this->dummy_space[0] & 0xE0) == 0x20) { buf = this->input->read_block (this->input, this->video_fifo, len-1); + if (! buf) { + this->status = DEMUX_FINISHED; + return; + } track = (this->dummy_space[0] & 0x1f); @@ -300,6 +304,10 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) int spu_id = this->dummy_space[1] & 0x03; buf = this->input->read_block (this->input, this->video_fifo, len-1); + if (! buf) { + this->status = DEMUX_FINISHED; + return; + } buf->type = BUF_SPU_SVCD + spu_id; buf->pts = pts; @@ -320,6 +328,10 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) if((this->dummy_space[0] & 0xfc) == 0x00) { buf = this->input->read_block (this->input, this->video_fifo, len-1); + if (! buf) { + this->status = DEMUX_FINISHED; + return; + } buf->type = BUF_SPU_CVD + (this->dummy_space[0] & 0x03); buf->pts = pts; @@ -332,7 +344,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) if((this->dummy_space[0] & 0xf0) == 0x80) { /* read rest of header - AC3 */ - i = this->input->read (this->input, this->dummy_space+1, 3); + this->input->read (this->input, this->dummy_space+1, 3); /* contents */ for (i = len - 4; i > 0; i -= (this->audio_fifo) @@ -378,6 +390,10 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) i = this->input->read (this->input, this->dummy_space+1, 6); buf = this->input->read_block (this->input, this->video_fifo, len-7); + if (! buf) { + this->status = DEMUX_FINISHED; + return; + } buf->type = BUF_AUDIO_LPCM_BE + track; buf->decoder_flags |= BUF_FLAG_SPECIAL; @@ -433,7 +449,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) header_len -= 5 ; } - i = this->input->read (this->input, this->dummy_space, header_len); + this->input->read (this->input, this->dummy_space, header_len); for (i = len; i > 0; i -= (this->audio_fifo) ? this->audio_fifo->buffer_pool_buf_size : this->video_fifo->buffer_pool_buf_size) { @@ -505,7 +521,7 @@ static void parse_mpeg2_packet (demux_mpeg_t *this, int stream_id, int64_t scr) } /* read rest of header */ - i = this->input->read (this->input, this->dummy_space, header_len); + this->input->read (this->input, this->dummy_space, header_len); /* contents */ @@ -922,7 +938,7 @@ static void demux_mpeg_resync (demux_mpeg_t *this, uint32_t buf) { if (pos == len) { len = this->input->read(this->input, dummy_buf, sizeof(dummy_buf)); pos = 0; - if (len == 0) { + if (len <= 0) { this->status = DEMUX_FINISHED; break; } diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c index 3ecb88d04..55eb0ce81 100644 --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -69,9 +69,6 @@ typedef struct demux_mpeg_block_s { char cur_mrl[256]; - uint8_t *scratch; - void *scratch_base; - int64_t nav_last_end_pts; int64_t nav_last_start_pts; int64_t last_pts[2]; @@ -1176,7 +1173,6 @@ static void demux_mpeg_block_dispose (demux_plugin_t *this_gen) { demux_mpeg_block_t *this = (demux_mpeg_block_t *) this_gen; - free (this->scratch_base); free (this); } @@ -1189,18 +1185,19 @@ static int demux_mpeg_block_get_status (demux_plugin_t *this_gen) { static int demux_mpeg_detect_blocksize(demux_mpeg_block_t *this, input_plugin_t *input) { + uint8_t scratch[4]; input->seek(input, 2048, SEEK_SET); - if (!input->read(input, this->scratch, 4)) + if (input->read(input, scratch, 4) != 4) return 0; - if (this->scratch[0] || this->scratch[1] - || (this->scratch[2] != 0x01) || (this->scratch[3] != 0xba)) { + if (scratch[0] || scratch[1] + || (scratch[2] != 0x01) || (scratch[3] != 0xba)) { input->seek(input, 2324, SEEK_SET); - if (!input->read(input, this->scratch, 4)) + if (input->read(input, scratch, 4) != 4) return 0; - if (this->scratch[0] || this->scratch[1] - || (this->scratch[2] != 0x01) || (this->scratch[3] != 0xba)) + if (scratch[0] || scratch[1] + || (scratch[2] != 0x01) || (scratch[3] != 0xba)) return 0; return 2324; @@ -1385,7 +1382,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->demux_plugin.get_optional_data = demux_mpeg_block_get_optional_data; this->demux_plugin.demux_class = class_gen; - this->scratch = xine_xmalloc_aligned (512, 4096, &this->scratch_base); this->status = DEMUX_FINISHED; lprintf ("open_plugin:detection_method=%d\n", @@ -1397,13 +1393,14 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str /* use demux_mpeg for non-block devices */ if (!(input->get_capabilities(input) & INPUT_CAP_BLOCK)) { - free (this->scratch_base); free (this); return NULL; } if (((input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) ) { + uint8_t scratch[5] = {0xff, 0xff, 0xff, 0xff, 0xff}; /* result of input->read() won't matter */ + this->blocksize = input->get_blocksize(input); lprintf("open_plugin:blocksize=%d\n",this->blocksize); @@ -1411,28 +1408,25 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->blocksize = demux_mpeg_detect_blocksize( this, input ); if (!this->blocksize) { - free (this->scratch_base); free (this); return NULL; } input->seek(input, 0, SEEK_SET); - if (input->read(input, this->scratch, this->blocksize)) { + if (input->read(input, scratch, 5)) { lprintf("open_plugin:read worked\n"); - if (this->scratch[0] || this->scratch[1] - || (this->scratch[2] != 0x01) || (this->scratch[3] != 0xba)) { + if (scratch[0] || scratch[1] + || (scratch[2] != 0x01) || (scratch[3] != 0xba)) { lprintf("open_plugin:scratch failed\n"); - free (this->scratch_base); free (this); return NULL; } /* if it's a file then make sure it's mpeg-2 */ if ( !input->get_blocksize(input) - && ((this->scratch[4]>>4) != 4) ) { - free (this->scratch_base); + && ((scratch[4]>>4) != 4) ) { free (this); return NULL; } @@ -1446,7 +1440,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str break; } } - free (this->scratch_base); free (this); return NULL; } @@ -1467,7 +1460,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str ending = strrchr(mrl, '.'); if (!ending) { - free (this->scratch_base); free (this); return NULL; } @@ -1477,7 +1469,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->blocksize = 2048; demux_mpeg_block_accept_input(this, input); } else { - free (this->scratch_base); free (this); return NULL; } @@ -1495,7 +1486,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str this->blocksize = demux_mpeg_detect_blocksize( this, input ); if (!this->blocksize) { - free (this->scratch_base); free (this); return NULL; } @@ -1505,7 +1495,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str break; default: - free (this->scratch_base); free (this); return NULL; } diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c index d9ac952d8..9715e1254 100644 --- a/src/demuxers/demux_mpeg_pes.c +++ b/src/demuxers/demux_mpeg_pes.c @@ -1173,7 +1173,7 @@ static int32_t parse_video_stream(demux_mpeg_pes_t *this, uint8_t *p, buf_elemen b->size = 0; b->pts = 0; b->type = buf_type; - b->decoder_flags = BUF_FLAG_FRAME_END; + b->decoder_flags = BUF_FLAG_FRAME_END | (this->preview_mode ? BUF_FLAG_PREVIEW : 0); this->video_fifo->put (this->video_fifo, b); } } @@ -1187,7 +1187,7 @@ static int32_t parse_video_stream(demux_mpeg_pes_t *this, uint8_t *p, buf_elemen if (this->mpeg12_h264_detected & 1) { uint8_t *t = buf->content + buf->size; if (buf->size >=4 && t[-1] == 10 && t[-2] == 0x01 && t[-3] == 0x00 && t[-4] == 0x00) /* end of sequence */ - buf->decoder_flags = BUF_FLAG_FRAME_END; + buf->decoder_flags = BUF_FLAG_FRAME_END | (this->preview_mode ? BUF_FLAG_PREVIEW : 0); } } else { buf->size = buf->max_size - result; @@ -1225,7 +1225,7 @@ static int32_t parse_video_stream(demux_mpeg_pes_t *this, uint8_t *p, buf_elemen if ((this->mpeg12_h264_detected & 1) && todo_length <= 0) { uint8_t *t = buf->content + buf->size; if (buf->size >= 4 && t[-1] == 10 && t[-2] == 0x01 && t[-3] == 0x00 && t[-4] == 0x00) /* end of sequence */ - buf->decoder_flags = BUF_FLAG_FRAME_END; + buf->decoder_flags = BUF_FLAG_FRAME_END | (this->preview_mode ? BUF_FLAG_PREVIEW : 0); } this->video_fifo->put (this->video_fifo, buf); @@ -1686,7 +1686,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str if (((input->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0) ) { input->seek(input, 0, SEEK_SET); - if (input->read(input, (char *)this->scratch, 6)) { + if (input->read(input, (char *)this->scratch, 6) == 6) { lprintf("open_plugin:read worked\n"); if (this->scratch[0] || this->scratch[1] diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c index 3c3576fd2..a87de5f97 100644 --- a/src/demuxers/demux_mpgaudio.c +++ b/src/demuxers/demux_mpgaudio.c @@ -65,11 +65,13 @@ /* Xing header stuff */ #define XING_TAG FOURCC_TAG('X', 'i', 'n', 'g') #define INFO_TAG FOURCC_TAG('I', 'n', 'f', 'o') +#define LAME_TAG FOURCC_TAG('L', 'A', 'M', 'E') #define XING_FRAMES_FLAG 0x0001 #define XING_BYTES_FLAG 0x0002 #define XING_TOC_FLAG 0x0004 #define XING_VBR_SCALE_FLAG 0x0008 #define XING_TOC_LENGTH 100 +#define LAME_HEADER_LENGTH 0xC0 /* Xing header stuff */ #define VBRI_TAG FOURCC_TAG('V', 'B', 'R', 'I') @@ -96,6 +98,10 @@ typedef struct { uint32_t stream_size; uint8_t toc[XING_TOC_LENGTH]; uint32_t vbr_scale; + + /* Lame extension */ + uint16_t start_delay; + uint16_t end_delay; } xing_header_t; /* Vbri Vbr Header struct */ @@ -402,9 +408,21 @@ static xing_header_t *XINE_MALLOC parse_xing_header(mpg_audio_frame_t *frame, xing->vbr_scale = -1; if (xing->flags & XING_VBR_SCALE_FLAG) { if (ptr >= (buf + bufsize - 4)) goto exit_error; - xing->vbr_scale = _X_BE_32(ptr); + xing->vbr_scale = _X_BE_32(ptr); ptr += 4; lprintf("vbr_scale: %d\n", xing->vbr_scale); } + + /* LAME extension */ + /* see http://gabriel.mp3-tech.org/mp3infotag.html */ + ptr -= 0x9C; /* move offset to match LAME header specs */ + if (ptr + LAME_HEADER_LENGTH >= (buf + bufsize - 4)) goto exit_error; + if (_X_BE_32(&ptr[0x9C]) == LAME_TAG) { + lprintf("Lame header found\n"); + xing->start_delay = (ptr[0xb1] << 4) | (ptr[0xb2] >> 4); + xing->end_delay = ((ptr[0xb2] & 0x0f) << 4) | ptr[0xb3]; + lprintf("start delay : %d samples\n", xing->start_delay); + lprintf("end delay : %d samples\n", xing->end_delay); + } } else { lprintf("Xing header not found\n"); } @@ -613,7 +631,22 @@ static int parse_frame_payload(demux_mpgaudio_t *this, buf->size = this->cur_frame.size; buf->type = BUF_AUDIO_MPEG; buf->decoder_info[0] = 1; - buf->decoder_flags = decoder_flags|BUF_FLAG_FRAME_END; + buf->decoder_flags = decoder_flags | BUF_FLAG_FRAME_END; + + /* send encoder padding */ + if (this->xing_header) { + if (frame_pos == this->mpg_frame_start) { + lprintf("sending a start padding of %d samples.\n", this->xing_header->start_delay); + buf->decoder_flags = buf->decoder_flags | BUF_FLAG_AUDIO_PADDING; + buf->decoder_info[1] = this->xing_header->start_delay; + buf->decoder_info[2] = 0; + } else if ((frame_pos + this->cur_frame.size) == this->mpg_frame_end) { + lprintf("sending a end padding of %d samples.\n", this->xing_header->end_delay); + buf->decoder_flags = buf->decoder_flags | BUF_FLAG_AUDIO_PADDING; + buf->decoder_info[1] = 0; + buf->decoder_info[2] = this->xing_header->end_delay; + } + } lprintf("send buffer: size=%d, pts=%"PRId64"\n", buf->size, pts); this->audio_fifo->put(this->audio_fifo, buf); @@ -768,9 +801,18 @@ static int demux_mpgaudio_send_chunk (demux_plugin_t *this_gen) { demux_mpgaudio_t *this = (demux_mpgaudio_t *) this_gen; - if (!demux_mpgaudio_next (this, 0, 0)) - this->status = DEMUX_FINISHED; + if (!demux_mpgaudio_next (this, 0, 0)) { + /* Hack: send 8 zero bytes to flush the libmad decoder */ + buf_element_t *buf; + buf = this->audio_fifo->buffer_pool_alloc(this->audio_fifo); + buf->type = BUF_AUDIO_MPEG; + buf->decoder_flags = BUF_FLAG_FRAME_END; + buf->size = 8; + memset(buf->content, 0, buf->size); + this->audio_fifo->put(this->audio_fifo, buf); + this->status = DEMUX_FINISHED; + } return this->status; } diff --git a/src/demuxers/demux_nsf.c b/src/demuxers/demux_nsf.c index 60d5049d9..926ea97e1 100644 --- a/src/demuxers/demux_nsf.c +++ b/src/demuxers/demux_nsf.c @@ -124,7 +124,7 @@ static int demux_nsf_send_chunk(demux_plugin_t *this_gen) { buf->type = BUF_AUDIO_NSF; bytes_read = this->input->read(this->input, buf->content, buf->max_size); - if (bytes_read == 0) { + if (bytes_read <= 0) { /* the file has been completely loaded, free the buffer and start * sending control buffers */ buf->free_buffer(buf); diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 9e9de45aa..e3a9b20c4 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -237,7 +237,7 @@ static int read_ogg_packet (demux_ogg_t *this) { while (ogg_sync_pageout(&this->oy,&this->og)!=1) { buffer = ogg_sync_buffer(&this->oy, CHUNKSIZE); bytes = this->input->read(this->input, buffer, CHUNKSIZE); - if (bytes == 0) { + if (bytes <= 0) { if (total == 0) { lprintf("read_ogg_packet read nothing\n"); return 0; diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 1fa9b4327..2039e54d3 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -738,6 +738,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { if (current_atom == ART_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->artist = xine_xmalloc(string_size); if (info->artist) { strncpy(info->artist, &meta_atom[i + 20], string_size - 1); @@ -745,6 +747,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == NAM_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->name = xine_xmalloc(string_size); if (info->name) { strncpy(info->name, &meta_atom[i + 20], string_size - 1); @@ -752,6 +756,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == ALB_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->album = xine_xmalloc(string_size); if (info->album) { strncpy(info->album, &meta_atom[i + 20], string_size - 1); @@ -759,6 +765,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == GEN_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->genre = xine_xmalloc(string_size); if (info->genre) { strncpy(info->genre, &meta_atom[i + 20], string_size - 1); @@ -766,6 +774,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == TOO_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->comment = xine_xmalloc(string_size); if (info->comment) { strncpy(info->comment, &meta_atom[i + 20], string_size - 1); @@ -773,6 +783,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == WRT_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->composer = xine_xmalloc(string_size); if (info->composer) { strncpy(info->composer, &meta_atom[i + 20], string_size - 1); @@ -780,6 +792,8 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { } } else if (current_atom == DAY_ATOM) { string_size = _X_BE_32(&meta_atom[i + 4]) - 16 + 1; + if (string_size <= 0) + continue; info->year = xine_xmalloc(string_size); if (info->year) { strncpy(info->year, &meta_atom[i + 20], string_size - 1); @@ -947,6 +961,10 @@ static qt_error parse_trak_atom (qt_trak *trak, /* allocate space for each of the properties unions */ trak->stsd_atoms_count = _X_BE_32(&trak_atom[i + 8]); + if (trak->stsd_atoms_count <= 0) { + last_error = QT_HEADER_TROUBLE; + goto free_trak; + } trak->stsd_atoms = calloc(trak->stsd_atoms_count, sizeof(properties_t)); if (!trak->stsd_atoms) { last_error = QT_NO_MEMORY; @@ -958,6 +976,10 @@ static qt_error parse_trak_atom (qt_trak *trak, for (k = 0; k < trak->stsd_atoms_count; k++) { current_stsd_atom_size = _X_BE_32(&trak_atom[atom_pos - 4]); + if (current_stsd_atom_size < 4) { + last_error = QT_HEADER_TROUBLE; + goto free_trak; + } if (trak->type == MEDIA_VIDEO) { @@ -1513,7 +1535,8 @@ static qt_error parse_trak_atom (qt_trak *trak, } else if (current_atom == STTS_ATOM) { /* there should only be one of these atoms */ - if (trak->time_to_sample_table) { + if (trak->time_to_sample_table + || current_atom_size < 12 || current_atom_size >= UINT_MAX) { last_error = QT_HEADER_TROUBLE; goto free_trak; } @@ -1523,6 +1546,11 @@ static qt_error parse_trak_atom (qt_trak *trak, debug_atom_load(" qt stts atom (time-to-sample atom): %d entries\n", trak->time_to_sample_count); + if (trak->time_to_sample_count > (current_atom_size - 12) / 8) { + last_error = QT_HEADER_TROUBLE; + goto free_trak; + } + trak->time_to_sample_table = (time_to_sample_table_t *)calloc( trak->time_to_sample_count+1, sizeof(time_to_sample_table_t)); if (!trak->time_to_sample_table) { @@ -1575,13 +1603,16 @@ static qt_error parse_reference_atom (reference_t *ref, qt_atom current_atom; unsigned int current_atom_size; + if (ref_atom_size >= 0x80000000) + return QT_NOT_A_VALID_FILE; + /* initialize reference atom */ ref->url = NULL; ref->data_rate = 0; ref->qtim_version = 0; /* traverse through the atom looking for the key atoms */ - for (i = ATOM_PREAMBLE_SIZE; i < ref_atom_size - 4; i++) { + for (i = ATOM_PREAMBLE_SIZE; i + 4 < ref_atom_size; i++) { current_atom_size = _X_BE_32(&ref_atom[i - 4]); current_atom = _X_BE_32(&ref_atom[i]); @@ -1589,15 +1620,22 @@ static qt_error parse_reference_atom (reference_t *ref, if (current_atom == RDRF_ATOM) { size_t string_size = _X_BE_32(&ref_atom[i + 12]); size_t url_offset = 0; + int http = 0; - if (string_size >= current_atom_size || i + string_size >= ref_atom_size) + if (string_size >= current_atom_size || string_size >= ref_atom_size - i) return QT_NOT_A_VALID_FILE; /* if the URL starts with "http://", copy it */ if ( memcmp(&ref_atom[i + 16], "http://", 7) && memcmp(&ref_atom[i + 16], "rtsp://", 7) && base_mrl ) - url_offset = strlen(base_mrl); + { + /* We need a "qt" prefix hack for Apple trailers */ + http = !strncasecmp (base_mrl, "http://", 7); + url_offset = strlen(base_mrl) + 2 * http; + } + if (url_offset >= 0x80000000) + return QT_NOT_A_VALID_FILE; /* otherwise, append relative URL to base MRL */ string_size += url_offset; @@ -1605,7 +1643,7 @@ static qt_error parse_reference_atom (reference_t *ref, ref->url = xine_xmalloc(string_size + 1); if ( url_offset ) - strcpy(ref->url, base_mrl); + sprintf (ref->url, "%s%s", http ? "qt" : "", base_mrl); memcpy(ref->url + url_offset, &ref_atom[i + 16], _X_BE_32(&ref_atom[i + 12])); @@ -2181,7 +2219,7 @@ static qt_error open_qt_file(qt_info *info, input_plugin_t *input, } /* check if moov is compressed */ - if (_X_BE_32(&moov_atom[12]) == CMOV_ATOM) { + if (_X_BE_32(&moov_atom[12]) == CMOV_ATOM && moov_atom_size >= 0x28) { info->compressed_header = 1; diff --git a/src/demuxers/demux_rawdv.c b/src/demuxers/demux_rawdv.c index 86f777ec6..d95fc9125 100644 --- a/src/demuxers/demux_rawdv.c +++ b/src/demuxers/demux_rawdv.c @@ -302,7 +302,8 @@ static int demux_raw_dv_seek (demux_plugin_t *this_gen, } if( !start_pos && start_time ) { - start_pos = (start_time * 90 / this->duration) * this->frame_size; + /* Upcast start_time in case sizeof(off_t) > sizeof(int) */ + start_pos = ((off_t) start_time * 90 / this->duration) * this->frame_size; } start_pos = start_pos - (start_pos % this->frame_size); diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index aa4dfc26b..774c74e2c 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -42,6 +42,9 @@ #include <string.h> #include <stdlib.h> #include <ctype.h> +#ifdef HAVE_MALLOC_H +#include <malloc.h> +#endif #define LOG_MODULE "demux_real" #define LOG_VERBOSE @@ -265,8 +268,12 @@ static void real_parse_index(demux_real_t *this) { this->input->seek(this->input, original_pos, SEEK_SET); } -static mdpr_t *real_parse_mdpr(const char *data) { - mdpr_t *mdpr=malloc(sizeof(mdpr_t)); +static mdpr_t *real_parse_mdpr(const char *data, const unsigned int size) +{ + if (size < 38) + return NULL; + + mdpr_t *mdpr=calloc(sizeof(mdpr_t), 1); mdpr->stream_number=_X_BE_16(&data[2]); mdpr->max_bit_rate=_X_BE_32(&data[4]); @@ -278,17 +285,29 @@ static mdpr_t *real_parse_mdpr(const char *data) { mdpr->duration=_X_BE_32(&data[28]); mdpr->stream_name_size=data[32]; + if (size < 38 + mdpr->stream_name_size) + goto fail; mdpr->stream_name=malloc(mdpr->stream_name_size+1); + if (!mdpr->stream_name) + goto fail; memcpy(mdpr->stream_name, &data[33], mdpr->stream_name_size); mdpr->stream_name[(int)mdpr->stream_name_size]=0; mdpr->mime_type_size=data[33+mdpr->stream_name_size]; + if (size < 38 + mdpr->stream_name_size + mdpr->mime_type_size) + goto fail; mdpr->mime_type=malloc(mdpr->mime_type_size+1); + if (!mdpr->mime_type) + goto fail; memcpy(mdpr->mime_type, &data[34+mdpr->stream_name_size], mdpr->mime_type_size); mdpr->mime_type[(int)mdpr->mime_type_size]=0; mdpr->type_specific_len=_X_BE_32(&data[34+mdpr->stream_name_size+mdpr->mime_type_size]); + if (size < 38 + mdpr->stream_name_size + mdpr->mime_type_size + mdpr->type_specific_data) + goto fail; mdpr->type_specific_data=malloc(mdpr->type_specific_len); + if (!mdpr->type_specific_data) + goto fail; memcpy(mdpr->type_specific_data, &data[38+mdpr->stream_name_size+mdpr->mime_type_size], mdpr->type_specific_len); @@ -308,6 +327,13 @@ static mdpr_t *real_parse_mdpr(const char *data) { #endif return mdpr; + +fail: + free (mdpr->stream_name); + free (mdpr->mime_type); + free (mdpr->type_specific_data); + free (mdpr); + return NULL; } static void real_free_mdpr (mdpr_t *mdpr) { @@ -318,9 +344,15 @@ static void real_free_mdpr (mdpr_t *mdpr) { } static void real_parse_audio_specific_data (demux_real_t *this, - real_stream_t * stream, - uint8_t * data) + real_stream_t * stream) { + if (stream->mdpr->type_specific_len < 46) { + xprintf (this->stream->xine, XINE_VERBOSITY_LOG, + "demux_real: audio data size smaller than header length!\n"); + return; + } + + uint8_t * data = stream->mdpr->type_specific_data; const uint32_t coded_frame_size = _X_BE_32 (data+24); const uint16_t codec_data_length = _X_BE_16 (data+40); const uint16_t coded_frame_size2 = _X_BE_16 (data+42); @@ -359,9 +391,14 @@ static void real_parse_audio_specific_data (demux_real_t *this, * stream->frame_size = stream->w / stream->sps * stream->h * stream->sps; * but it looks pointless? the compiler will probably optimise it away, I suppose? */ - stream->frame_size = stream->w * stream->h; + if (stream->w < 32768 && stream->h < 32768) { + stream->frame_size = stream->w * stream->h; + stream->frame_buffer = calloc(stream->frame_size, 1); + } else { + stream->frame_size = 0; + stream->frame_buffer = NULL; + } - stream->frame_buffer = calloc(stream->frame_size, 1); stream->frame_num_bytes = 0; stream->sub_packet_cnt = 0; @@ -430,9 +467,14 @@ static void real_parse_headers (demux_real_t *this) { case MDPR_TAG: case CONT_TAG: { + if (chunk_size < PREAMBLE_SIZE+1) { + this->status = DEMUX_FINISHED; + return; + } chunk_size -= PREAMBLE_SIZE; uint8_t *const chunk_buffer = malloc(chunk_size); - if (this->input->read(this->input, chunk_buffer, chunk_size) != + if (! chunk_buffer || + this->input->read(this->input, chunk_buffer, chunk_size) != chunk_size) { free (chunk_buffer); this->status = DEMUX_FINISHED; @@ -475,9 +517,14 @@ static void real_parse_headers (demux_real_t *this) { continue; } - mdpr_t *const mdpr = real_parse_mdpr (chunk_buffer); + mdpr_t *const mdpr = real_parse_mdpr (chunk_buffer, chunk_size); lprintf ("parsing type specific data...\n"); + if (!mdpr) { + free (chunk_buffer); + this->status = DEMUX_FINISHED; + return; + } if(!strcmp(mdpr->mime_type, "audio/X-MP3-draft-00")) { lprintf ("mpeg layer 3 audio detected...\n"); @@ -487,7 +534,8 @@ static void real_parse_headers (demux_real_t *this) { this->audio_streams[this->num_audio_streams].index = NULL; this->audio_streams[this->num_audio_streams].mdpr = mdpr; this->num_audio_streams++; - } else if(_X_BE_32(mdpr->type_specific_data) == RA_TAG) { + } else if(_X_BE_32(mdpr->type_specific_data) == RA_TAG && + mdpr->type_specific_len >= 6) { if(this->num_audio_streams == MAX_AUDIO_STREAMS) { xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_real: maximum number of audio stream exceeded\n"); @@ -498,26 +546,30 @@ static void real_parse_headers (demux_real_t *this) { lprintf("audio version %d detected\n", version); - char *fourcc_ptr = NULL; + char *fourcc_ptr = "\0\0\0"; switch(version) { case 3: /* Version 3 header stores fourcc after meta info - cheat by reading backwards from the * end of the header instead of having to parse it all */ - fourcc_ptr = mdpr->type_specific_data + mdpr->type_specific_len - 5; + if (mdpr->type_specific_len >= 5) + fourcc_ptr = mdpr->type_specific_data + mdpr->type_specific_len - 5; break; case 4: { - const uint8_t len = *(mdpr->type_specific_data + 56); - fourcc_ptr = mdpr->type_specific_data + 58 + len; + if (mdpr->type_specific_len >= 57) { + const uint8_t len = *(mdpr->type_specific_data + 56); + if (mdpr->type_specific_len >= 62 + len) + fourcc_ptr = mdpr->type_specific_data + 58 + len; + } } break; case 5: - fourcc_ptr = mdpr->type_specific_data + 66; + if (mdpr->type_specific_len >= 70) + fourcc_ptr = mdpr->type_specific_data + 66; break; default: lprintf("unsupported audio header version %d\n", version); goto unknown; } - lprintf("fourcc = %.4s\n", fourcc_ptr); const uint32_t fourcc = _X_ME_32(fourcc_ptr); @@ -528,11 +580,11 @@ static void real_parse_headers (demux_real_t *this) { this->audio_streams[this->num_audio_streams].mdpr = mdpr; real_parse_audio_specific_data (this, - &this->audio_streams[this->num_audio_streams], - mdpr->type_specific_data); + &this->audio_streams[this->num_audio_streams]); this->num_audio_streams++; - } else if(_X_BE_32(mdpr->type_specific_data + 4) == VIDO_TAG) { + } else if(_X_BE_32(mdpr->type_specific_data + 4) == VIDO_TAG && + mdpr->type_specific_len >= 34) { if(this->num_video_streams == MAX_VIDEO_STREAMS) { xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, diff --git a/src/demuxers/demux_realaudio.c b/src/demuxers/demux_realaudio.c index 1c39c6208..44449667c 100644 --- a/src/demuxers/demux_realaudio.c +++ b/src/demuxers/demux_realaudio.c @@ -202,11 +202,19 @@ static int open_ra_file(demux_ra_t *this) { this->h = _X_BE_16 (this->header+40); this->cfs = _X_BE_32 (this->header+24); - this->frame_len = this->w * this->h; - this->frame_size = this->frame_len * sps; - - this->frame_buffer = calloc(this->frame_size, 1); - _x_assert(this->frame_buffer != NULL); + if (this->w < 0x8000 && this->h < 0x8000) { + uint64_t fs; + this->frame_len = this->w * this->h; + fs = (uint64_t) this->frame_len * sps; + if (fs < 0x80000000) { + this->frame_size = fs; + this->frame_buffer = calloc(this->frame_size, 1); + } + } + if (! this->frame_buffer) { + xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_realaudio: malloc failed\n"); + return 0; + } if (this->audio_type == BUF_AUDIO_28_8 || this->audio_type == BUF_AUDIO_SIPRO) this->block_align = this->cfs; diff --git a/src/demuxers/demux_shn.c b/src/demuxers/demux_shn.c index 4d932305c..ccc34b57f 100644 --- a/src/demuxers/demux_shn.c +++ b/src/demuxers/demux_shn.c @@ -88,7 +88,7 @@ static int demux_shn_send_chunk(demux_plugin_t *this_gen) { buf->pts = 0; bytes_read = this->input->read(this->input, buf->content, buf->max_size); - if (bytes_read == 0) { + if (bytes_read <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_slave.c b/src/demuxers/demux_slave.c index 28a89a973..abb4d01e5 100644 --- a/src/demuxers/demux_slave.c +++ b/src/demuxers/demux_slave.c @@ -90,10 +90,11 @@ static int demux_slave_next (demux_slave_t *this) { /* fill the scratch buffer */ n = this->input->read(this->input, &this->scratch[this->scratch_used], SCRATCH_SIZE - this->scratch_used); - this->scratch_used += n; + if (n > 0) + this->scratch_used += n; this->scratch[this->scratch_used] = '\0'; - if( !n ) { + if (n <= 0) { lprintf("connection closed\n"); this->status = DEMUX_FINISHED; return 0; diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 55e06c033..e52c4c765 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -33,6 +33,11 @@ * Date Author * ---- ------ * + * 8-Apr-2009 Petri Hintukainen <phi@sdf-eu.org> + * - support for 192-byte packets (HDMV/BluRay) + * - support for audio inside PES PID 0xfd (HDMV/BluRay) + * - demux HDMV/BluRay bitmap subtitles + * * 28-Nov-2004 Mike Lampard <mlampard> * - Added support for PMT sections larger than 1 ts packet * @@ -172,9 +177,9 @@ #define SYNC_BYTE 0x47 #define MIN_SYNCS 3 -#define NPKT_PER_READ 100 +#define NPKT_PER_READ 96 // 96*188 = 94*192 -#define BUF_SIZE (NPKT_PER_READ * PKT_SIZE) +#define BUF_SIZE (NPKT_PER_READ * (PKT_SIZE + 4)) #define MAX_PES_BUF_SIZE 2048 @@ -218,8 +223,9 @@ ISO_14496_PART2_VIDEO = 0x10, /* ISO/IEC 14496-2 Visual (MPEG-4) */ ISO_14496_PART3_AUDIO = 0x11, /* ISO/IEC 14496-3 Audio with LATM transport syntax */ ISO_14496_PART10_VIDEO = 0x1b, /* ISO/IEC 14496-10 Video (MPEG-4 part 10/AVC, aka H.264) */ - STREAM_VIDEO_MPEG = 0x80, - STREAM_AUDIO_AC3 = 0x81, + STREAM_VIDEO_MPEG = 0x80, + STREAM_AUDIO_AC3 = 0x81, + STREAM_SPU_BITMAP_HDMV = 0x90, } streamType; #define WRAP_THRESHOLD 270000 @@ -227,6 +233,11 @@ #define PTS_AUDIO 0 #define PTS_VIDEO 1 +#undef MIN +#define MIN(a,b) ((a)<(b)?(a):(b)) +#undef MAX +#define MAX(a,b) ((a)>(b)?(a):(b)) + /* ** ** DATA STRUCTURES @@ -288,6 +299,10 @@ typedef struct { int status; + int hdmv; /* -1 = unknown, 0 = mpeg-ts, 1 = hdmv/m2ts */ + int pkt_size; /* TS packet size */ + int pkt_offset; /* TS packet offset */ + int blockSize; int rate; int media_num; @@ -446,12 +461,12 @@ static void check_newpts( demux_ts_t *this, int64_t pts, int video ) } /* Send a BUF_SPU_DVB to let xine know of that channel. */ -static void demux_send_special_spu_buf( demux_ts_t *this, int spu_channel ) +static void demux_send_special_spu_buf( demux_ts_t *this, uint32_t spu_type, int spu_channel ) { buf_element_t *buf; buf = this->video_fifo->buffer_pool_alloc( this->video_fifo ); - buf->type = BUF_SPU_DVB|spu_channel; + buf->type = spu_type|spu_channel; buf->content = buf->mem; buf->size = 0; this->video_fifo->put( this->video_fifo, buf ); @@ -504,6 +519,10 @@ static void demux_ts_update_spu_channel(demux_ts_t *this) #endif } + if ((this->media[this->spu_media].type & BUF_MAJOR_MASK) == BUF_SPU_HDMV) { + buf->type = BUF_SPU_HDMV; + } + this->video_fifo->put(this->video_fifo, buf); } @@ -741,7 +760,18 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, p += header_len + 9; packet_len -= header_len + 3; - if (stream_id == 0xbd) { + if (m->descriptor_tag == STREAM_SPU_BITMAP_HDMV) { + long payload_len = ((buf[4] << 8) | buf[5]) - header_len - 3; + + m->content = p; + m->size = packet_len; + m->type |= BUF_SPU_HDMV; + m->buf->decoder_info[2] = payload_len; + return 1; + + } else + + if (stream_id == 0xbd || stream_id == 0xfd /* HDMV */) { int spu_id; @@ -1413,7 +1443,7 @@ printf("Program Number is %i, looking for %i\n",program_number,this->program_num lang->media_index = this->media_num; this->media[this->media_num].type = no; demux_ts_pes_new(this, this->media_num, pid, this->video_fifo, stream[0]); - demux_send_special_spu_buf( this, no ); + demux_send_special_spu_buf( this, BUF_SPU_DVB, no ); #ifdef TS_LOG printf("demux_ts: DVBSUB: pid 0x%.4x: %s page %ld %ld type %2.2x\n", pid, lang->desc.lang, @@ -1426,6 +1456,29 @@ printf("Program Number is %i, looking for %i\n",program_number,this->program_num } break; + case STREAM_SPU_BITMAP_HDMV: + if (this->hdmv > 0) { + if (pid >= 0x1200 && pid < 0x1300) { + /* HDMV Presentation Graphics / SPU */ + demux_ts_spu_lang *lang = &this->spu_langs[this->spu_langs_count]; + + memset(lang->desc.lang, 0, sizeof(lang->desc.lang)); + /*memcpy(lang->desc.lang, &stream[pos], 3);*/ + /*lang->desc.lang[3] = 0;*/ + lang->pid = pid; + lang->media_index = this->media_num; + this->media[this->media_num].type = this->spu_langs_count; + demux_ts_pes_new(this, this->media_num, pid, this->video_fifo, stream[0]); + demux_send_special_spu_buf( this, BUF_SPU_HDMV, this->spu_langs_count ); + this->spu_langs_count++; +#ifdef TS_PMT_LOG + printf("demux_ts: HDMV subtitle stream_type: 0x%.2x pid: 0x%.4x\n", + stream[0], pid); +#endif + break; + } + } + /* fall thru */ default: /* This following section handles all the cases where the audio track info is stored in PMT user info with stream id >= 0x80 @@ -1512,10 +1565,10 @@ static int sync_correct(demux_ts_t*this, uint8_t *buf, int32_t npkt_read) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_ts: about to resync!\n"); for (p=0; p < npkt_read; p++) { - for(n=0; n < PKT_SIZE; n++) { + for(n=0; n < this->pkt_size; n++) { sync_ok = 1; for (i=0; i < MIN(MIN_SYNCS, npkt_read - p); i++) { - if (buf[n + ((i+p) * PKT_SIZE)] != SYNC_BYTE) { + if (buf[this->pkt_offset + n + ((i+p) * this->pkt_size)] != SYNC_BYTE) { sync_ok = 0; break; } @@ -1527,13 +1580,13 @@ static int sync_correct(demux_ts_t*this, uint8_t *buf, int32_t npkt_read) { if (sync_ok) { /* Found sync, fill in */ - memmove(&buf[0], &buf[n + p * PKT_SIZE], - ((PKT_SIZE * (npkt_read - p)) - n)); + memmove(&buf[0], &buf[n + p * this->pkt_size], + ((this->pkt_size * (npkt_read - p)) - n)); read_length = this->input->read(this->input, - &buf[(PKT_SIZE * (npkt_read - p)) - n], - n + p * PKT_SIZE); + &buf[(this->pkt_size * (npkt_read - p)) - n], + n + p * this->pkt_size); /* FIXME: when read_length is not as required... we now stop demuxing */ - if (read_length != (n + p * PKT_SIZE)) { + if (read_length != (n + p * this->pkt_size)) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_ts_tsync_correct: sync found, but read failed\n"); return 0; @@ -1552,6 +1605,32 @@ static int sync_detect(demux_ts_t*this, uint8_t *buf, int32_t npkt_read) { sync_ok = 1; + if (this->hdmv) { + this->pkt_size = PKT_SIZE + 4; + this->pkt_offset = 4; + for (i=0; i < MIN(MIN_SYNCS, npkt_read - 3); i++) { + if (buf[this->pkt_offset + i * this->pkt_size] != SYNC_BYTE) { + sync_ok = 0; + break; + } + } + if (sync_ok) { + if (this->hdmv < 0) { + /* fix npkt_read (packet size is 192, not 188) */ + this->npkt_read = npkt_read * PKT_SIZE / this->pkt_size; + } + this->hdmv = 1; + return sync_ok; + } + if (this->hdmv > 0) + return sync_correct(this, buf, npkt_read); + + /* plain ts */ + this->hdmv = 0; + this->pkt_size = PKT_SIZE; + this->pkt_offset = 0; + } + for (i=0; i < MIN(MIN_SYNCS, npkt_read); i++) { if (buf[i * PKT_SIZE] != SYNC_BYTE) { sync_ok = 0; @@ -1575,15 +1654,15 @@ static unsigned char * demux_synchronise(demux_ts_t* this) { /* NEW: handle read returning less packets than NPKT_PER_READ... */ do { read_length = this->input->read(this->input, this->buf, - PKT_SIZE * NPKT_PER_READ); - if (read_length % PKT_SIZE) { + this->pkt_size * NPKT_PER_READ); + if (read_length < 0 || read_length % this->pkt_size) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux_ts: read returned %d bytes (not a multiple of %d!)\n", - read_length, PKT_SIZE); + read_length, this->pkt_size); this->status = DEMUX_FINISHED; return NULL; } - this->npkt_read = read_length / PKT_SIZE; + this->npkt_read = read_length / this->pkt_size; #ifdef TS_READ_STATS this->rstat[this->npkt_read]++; @@ -1610,7 +1689,7 @@ static unsigned char * demux_synchronise(demux_ts_t* this) { return NULL; } } - return_pointer = &(this->buf)[PKT_SIZE * this->packet_number]; + return_pointer = &(this->buf)[this->pkt_offset + this->pkt_size * this->packet_number]; this->packet_number++; return return_pointer; } @@ -1758,7 +1837,7 @@ static void demux_ts_parse_packet (demux_ts_t*this) { /* * Discard packets that are obviously bad. */ - if (sync_byte != 0x47) { + if (sync_byte != SYNC_BYTE) { xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, "demux error! invalid ts sync byte %.2x\n", sync_byte); return; @@ -2170,6 +2249,32 @@ static int demux_ts_get_optional_data(demux_plugin_t *this_gen, } } +static int detect_ts(uint8_t *buf, size_t len, int ts_size) +{ + int i, j; + int try_again, ts_detected = 0; + size_t packs = len / ts_size - 2; + + for (i = 0; i < ts_size; i++) { + try_again = 0; + if (buf[i] == SYNC_BYTE) { + for (j = 1; j < packs; j++) { + if (buf[i + j*ts_size] != SYNC_BYTE) { + try_again = 1; + break; + } + } + if (try_again == 0) { +#ifdef TS_LOG + printf ("demux_ts: found 0x47 pattern at offset %d\n", i); +#endif + ts_detected = 1; + } + } + } + + return ts_detected; +} static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *stream, @@ -2177,38 +2282,21 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, demux_ts_t *this; int i; + int hdmv = -1; switch (stream->content_detection_method) { case METHOD_BY_CONTENT: { uint8_t buf[2069]; - int i, j; - int try_again, ts_detected; - if (!_x_demux_read_header(input, buf, 2069)) + if (!_x_demux_read_header(input, buf, sizeof(buf))) return NULL; - ts_detected = 0; - - for (i = 0; i < 188; i++) { - try_again = 0; - if (buf[i] == 0x47) { - for (j = 1; j <= 10; j++) { - if (buf[i + j*188] != 0x47) { - try_again = 1; - break; - } - } - if (try_again == 0) { -#ifdef TS_LOG - printf ("demux_ts: found 0x47 pattern at offset %d\n", i); -#endif - ts_detected = 1; - } - } - } - - if (!ts_detected) + if (detect_ts(buf, sizeof(buf), PKT_SIZE)) + hdmv = 0; + else if (detect_ts(buf, sizeof(buf), PKT_SIZE+4)) + hdmv = 1; + else return NULL; } break; @@ -2216,6 +2304,11 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, case METHOD_BY_EXTENSION: { const char *const mrl = input->get_mrl (input); + if (_x_demux_check_extension (mrl, "m2ts mts")) + hdmv = 1; + else + hdmv = 0; + /* check extension */ const char *const extensions = class_gen->get_extensions (class_gen); @@ -2301,7 +2394,12 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, /* dvb */ this->event_queue = xine_event_new_queue (this->stream); - + + /* HDMV */ + this->hdmv = hdmv; + this->pkt_offset = (hdmv > 0) ? 4 : 0; + this->pkt_size = PKT_SIZE + this->pkt_offset; + this->numPreview=0; return &this->demux_plugin; diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 68305a444..7853c8182 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -21,6 +21,10 @@ * Inspired by tta libavformat demuxer by Alex Beregszaszi */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #define LOG_MODULE "demux_tta" #define LOG_VERBOSE @@ -54,7 +58,7 @@ typedef struct { uint32_t samplerate; uint32_t data_length; uint32_t crc32; - } __attribute__((__packed__)) tta; + } XINE_PACKED tta; uint8_t buffer[22]; /* This is the size of the header */ } header; } demux_tta_t; @@ -126,6 +130,10 @@ static int demux_tta_send_chunk(demux_plugin_t *this_gen) { /* buf->extra_info->input_time = this->current_sample / this->samplerate; */ bytes_read = this->input->read(this->input, buf->content, ( bytes_to_read > buf->max_size ) ? buf->max_size : bytes_to_read); + if (bytes_read < 0) { + this->status = DEMUX_FINISHED; + break; + } buf->size = bytes_read; diff --git a/src/demuxers/demux_vox.c b/src/demuxers/demux_vox.c index d646a756f..1b34106ad 100644 --- a/src/demuxers/demux_vox.c +++ b/src/demuxers/demux_vox.c @@ -77,7 +77,7 @@ static int demux_vox_send_chunk (demux_plugin_t *this_gen) { buf = this->audio_fifo->buffer_pool_alloc (this->audio_fifo); buf->type = BUF_AUDIO_DIALOGIC_IMA; bytes_read = this->input->read(this->input, buf->content, buf->max_size); - if (bytes_read == 0) { + if (bytes_read <= 0) { buf->free_buffer(buf); this->status = DEMUX_FINISHED; return this->status; diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c index 5fbec7b69..99c50ad67 100644 --- a/src/demuxers/demux_wav.c +++ b/src/demuxers/demux_wav.c @@ -66,6 +66,7 @@ typedef struct { off_t data_start; off_t data_size; + int send_newpts; int seek_flag; /* this is set when a seek just occurred */ } demux_wav_t; @@ -186,9 +187,9 @@ static int demux_wav_send_chunk(demux_plugin_t *this_gen) { current_pts *= 90000; current_pts /= this->wave->nAvgBytesPerSec; - if (this->seek_flag) { - _x_demux_control_newpts(this->stream, current_pts, BUF_FLAG_SEEK); - this->seek_flag = 0; + if (this->send_newpts) { + _x_demux_control_newpts(this->stream, current_pts, this->seek_flag); + this->send_newpts = this->seek_flag = 0; } while (remaining_sample_bytes) { @@ -209,11 +210,16 @@ static int demux_wav_send_chunk(demux_plugin_t *this_gen) { buf->size = remaining_sample_bytes; remaining_sample_bytes -= buf->size; - if (this->input->read(this->input, buf->content, buf->size) != + off_t read; + if ((read = this->input->read(this->input, buf->content, buf->size)) != buf->size) { - buf->free_buffer(buf); - this->status = DEMUX_FINISHED; - break; + if (read == 0) { + buf->free_buffer(buf); + this->status = DEMUX_FINISHED; + break; + } else { + buf->size = read; + } } #if 0 @@ -284,10 +290,13 @@ static int demux_wav_seek (demux_plugin_t *this_gen, start_pos = (off_t) ( (double) start_pos / 65535 * this->data_size ); - this->seek_flag = 1; this->status = DEMUX_OK; - _x_demux_flush_engine (this->stream); + this->send_newpts = 1; + if (playing) { + this->seek_flag = 1; + _x_demux_flush_engine (this->stream); + } /* if input is non-seekable, do not proceed with the rest of this * seek function */ if (!INPUT_IS_SEEKABLE(this->input)) diff --git a/src/demuxers/demux_yuv_frames.c b/src/demuxers/demux_yuv_frames.c index c5ca363ed..089207f58 100644 --- a/src/demuxers/demux_yuv_frames.c +++ b/src/demuxers/demux_yuv_frames.c @@ -126,13 +126,19 @@ static void demux_yuv_frames_send_headers (demux_plugin_t *this_gen){ if(_x_stream_info_get(this->stream, XINE_STREAM_INFO_HAS_AUDIO)) { buf = this->input->read_block(this->input, this->audio_fifo, 0); - this->audio_fifo->put(this->audio_fifo, buf); + if (buf) + this->audio_fifo->put(this->audio_fifo, buf); + else + this->status = DEMUX_FINISHED; } if(_x_stream_info_get(this->stream, XINE_STREAM_INFO_HAS_VIDEO)) { buf = this->input->read_block(this->input, this->video_fifo, 0); - this->video_fifo->put(this->video_fifo, buf); + if (buf) + this->video_fifo->put(this->video_fifo, buf); + else + this->status = DEMUX_FINISHED; } this->status = DEMUX_OK; diff --git a/src/demuxers/id3.c b/src/demuxers/id3.c index ba8f50676..070ca2650 100644 --- a/src/demuxers/id3.c +++ b/src/demuxers/id3.c @@ -241,7 +241,7 @@ static int id3v2_parse_header(input_plugin_t *input, uint8_t *mp3_frame_header, lprintf("tag: ID3 v2.%d.%d\n", mp3_frame_header[3], tag_header->revision); lprintf("flags: %d\n", tag_header->flags); - lprintf("size: %d\n", tag_header->size); + lprintf("size: %zu\n", tag_header->size); return 1; } else { return 0; @@ -259,9 +259,9 @@ static int id3v22_parse_frame_header(input_plugin_t *input, if (len == ID3V22_FRAME_HEADER_SIZE) { frame_header->id = (buf[0] << 16) + (buf[1] << 8) + buf[2]; - frame_header->size = _X_BE_24_synchsafe(&buf[3]); + frame_header->size = _X_BE_24(&buf[3]); - lprintf("frame: %c%c%c: size: %d\n", buf[0], buf[1], buf[2], + lprintf("frame: %c%c%c: size: %zu\n", buf[0], buf[1], buf[2], frame_header->size); return 1; @@ -275,8 +275,8 @@ static int id3v22_interp_frame(input_plugin_t *input, id3v22_frame_header_t *frame_header) { char *buf; int enc; - const size_t bufsize = frame_header->size +1; - if ( bufsize <= 2 ) /* frames has to be _at least_ 1 byte */ + const size_t bufsize = frame_header->size + 2; + if ( bufsize < 3 ) /* frames has to be _at least_ 1 byte */ return 0; buf = malloc(bufsize); @@ -286,6 +286,8 @@ static int id3v22_interp_frame(input_plugin_t *input, } if (input->read (input, buf, frame_header->size) == frame_header->size) { + buf[frame_header->size] = 0; + buf[frame_header->size + 1] = 0; enc = buf[0]; if( enc >= ID3_ENCODING_COUNT ) enc = 0; @@ -373,7 +375,7 @@ static int id3v22_parse_tag(input_plugin_t *input, while ((pos + ID3V22_FRAME_HEADER_SIZE) <= tag_header.size) { if (id3v22_parse_frame_header(input, &tag_frame_header)) { pos += ID3V22_FRAME_HEADER_SIZE; - if (tag_frame_header.id && tag_frame_header.size) { + if (tag_frame_header.id) { if ((pos + tag_frame_header.size) <= tag_header.size) { if (!id3v22_interp_frame(input, stream, &tag_frame_header)) { xprintf(stream->xine, XINE_VERBOSITY_DEBUG, @@ -417,7 +419,7 @@ static int id3v23_parse_frame_header(input_plugin_t *input, frame_header->size = _X_BE_32(&buf[4]); frame_header->flags = _X_BE_16(buf + 8); - lprintf("frame: %c%c%c%c, size: %d, flags: %X\n", buf[0], buf[1], buf[2], buf[3], + lprintf("frame: %c%c%c%c, size: %zu, flags: %X\n", buf[0], buf[1], buf[2], buf[3], frame_header->size, frame_header->flags); return 1; @@ -432,7 +434,7 @@ static int id3v23_parse_frame_ext_header(input_plugin_t *input, if (input->read (input, buf, 4) == 4) { - frame_ext_header->size = _X_BE_32_synchsafe(&buf[0]); + frame_ext_header->size = _X_BE_32(&buf[0]); if (frame_ext_header->size == 6) { if (input->read (input, buf + 4, 6) == 6) { @@ -453,11 +455,11 @@ static int id3v23_parse_frame_ext_header(input_plugin_t *input, } } else { - lprintf("invalid ext header size: %d\n", frame_ext_header->size); + lprintf("invalid ext header size: %zu\n", frame_ext_header->size); return 0; } - lprintf("ext header: size: %d, flags: %X, padding_size: %d, crc: %d\n", + lprintf("ext header: size: %zu, flags: %X, padding_size: %d, crc: %d\n", frame_ext_header->size, frame_ext_header->flags, frame_ext_header->padding_size, frame_ext_header->crc); return 1; @@ -471,8 +473,8 @@ static int id3v23_interp_frame(input_plugin_t *input, id3v23_frame_header_t *frame_header) { char *buf; int enc; - const size_t bufsize = frame_header->size +1; - if ( bufsize <= 2 ) /* frames has to be _at least_ 1 byte */ + const size_t bufsize = frame_header->size + 2; + if ( bufsize < 3 ) /* frames has to be _at least_ 1 byte */ return 0; buf = malloc(bufsize); @@ -483,6 +485,7 @@ static int id3v23_interp_frame(input_plugin_t *input, if (input->read (input, buf, frame_header->size) == frame_header->size) { buf[frame_header->size] = 0; + buf[frame_header->size + 1] = 0; enc = buf[0]; if( enc >= ID3_ENCODING_COUNT ) enc = 0; @@ -570,7 +573,7 @@ static int id3v23_parse_tag(input_plugin_t *input, while ((pos + ID3V23_FRAME_HEADER_SIZE) <= tag_header.size) { if (id3v23_parse_frame_header(input, &tag_frame_header)) { pos += ID3V23_FRAME_HEADER_SIZE; - if (tag_frame_header.id && tag_frame_header.size) { + if (tag_frame_header.id) { if ((pos + tag_frame_header.size) <= tag_header.size) { if (!id3v23_interp_frame(input, stream, &tag_frame_header)) { xprintf(stream->xine, XINE_VERBOSITY_DEBUG, @@ -585,7 +588,7 @@ static int id3v23_parse_tag(input_plugin_t *input, pos += tag_frame_header.size; } else { /* end of frames, the rest is padding */ - lprintf("skipping padding %d bytes\n", tag_header.size - pos); + lprintf("skipping padding %zu bytes\n", tag_header.size - pos); input->seek (input, tag_header.size - pos, SEEK_CUR); return 1; } @@ -628,10 +631,10 @@ static int id3v24_parse_frame_header(input_plugin_t *input, len = input->read (input, buf, ID3V24_FRAME_HEADER_SIZE); if (len == ID3V24_FRAME_HEADER_SIZE) { frame_header->id = _X_BE_32(buf); - frame_header->size = _X_BE_32_synchsafe(&buf[4]); + frame_header->size = _X_BE_32(&buf[4]); frame_header->flags = _X_BE_16(&buf[8]); - lprintf("frame: %c%c%c%c, size: %d, flags: %X\n", buf[0], buf[1], buf[2], buf[3], + lprintf("frame: %c%c%c%c, size: %zu, flags: %X\n", buf[0], buf[1], buf[2], buf[3], frame_header->size, frame_header->flags); return 1; @@ -646,7 +649,7 @@ static int id3v24_parse_ext_header(input_plugin_t *input, if (input->read (input, buf, 4) == 4) { - frame_ext_header->size = _X_BE_32_synchsafe(&buf[0]); + frame_ext_header->size = _X_BE_32(&buf[0]); if (input->read (input, buf, 2) == 2) { uint8_t flags_size = buf[0]; @@ -711,7 +714,7 @@ static int id3v24_parse_ext_header(input_plugin_t *input, } else { return 0; } - lprintf("ext header: size: %d, flags: %X, crc: %d, restrictions: %8X\n", + lprintf("ext header: size: %zu, flags: %X, crc: %d, restrictions: %8X\n", frame_ext_header->size, frame_ext_header->flags, frame_ext_header->crc, frame_ext_header->restrictions); return 1; @@ -725,8 +728,8 @@ static int id3v24_interp_frame(input_plugin_t *input, id3v24_frame_header_t *frame_header) { char *buf; int enc; - const size_t bufsize = frame_header->size +1; - if ( bufsize <= 2 ) /* frames has to be _at least_ 1 byte */ + const size_t bufsize = frame_header->size + 2; + if ( bufsize < 3 ) /* frames has to be _at least_ 1 byte */ return 0; buf = malloc(bufsize); @@ -737,6 +740,7 @@ static int id3v24_interp_frame(input_plugin_t *input, if (input->read (input, buf, frame_header->size) == frame_header->size) { buf[frame_header->size] = 0; + buf[frame_header->size + 1] = 0; enc = buf[0]; if( enc >= ID3_ENCODING_COUNT ) enc = 0; @@ -826,7 +830,7 @@ static int id3v24_parse_tag(input_plugin_t *input, while ((pos + ID3V24_FRAME_HEADER_SIZE) <= tag_header.size) { if (id3v24_parse_frame_header(input, &tag_frame_header)) { pos += ID3V24_FRAME_HEADER_SIZE; - if (tag_frame_header.id && tag_frame_header.size) { + if (tag_frame_header.id) { if ((pos + tag_frame_header.size) <= tag_header.size) { if (!id3v24_interp_frame(input, stream, &tag_frame_header)) { xprintf(stream->xine, XINE_VERBOSITY_DEBUG, diff --git a/src/demuxers/matroska.h b/src/demuxers/matroska.h index 23af84af0..b32725b3b 100644 --- a/src/demuxers/matroska.h +++ b/src/demuxers/matroska.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000-2007 the xine project + * Copyright (C) 2000-2009 the xine project * * This file is part of xine, a free video player. * @@ -16,6 +16,8 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * Matroska EBML stream handling */ #ifndef MATROSKA_H #define MATROSKA_H @@ -62,6 +64,7 @@ #define MATROSKA_ID_CL_BLOCKGROUP 0xA0 #define MATROSKA_ID_CL_BLOCK 0xA1 #define MATROSKA_ID_CL_BLOCKVIRTUAL 0xA2 +#define MATROSKA_ID_CL_SIMPLEBLOCK 0xA3 #define MATROSKA_ID_CL_BLOCKADDITIONS 0x75A1 #define MATROSKA_ID_CL_BLOCKMORE 0xA6 #define MATROSKA_ID_CL_BLOCKADDID 0xEE @@ -168,10 +171,16 @@ /* Chapters */ #define MATROSKA_ID_CHAPTERS 0x1043A770 #define MATROSKA_ID_CH_EDITIONENTRY 0x45B9 +#define MATROSKA_ID_CH_ED_UID 0x45BC +#define MATROSKA_ID_CH_ED_HIDDEN 0x45BD +#define MATROSKA_ID_CH_ED_DEFAULT 0x45DB +#define MATROSKA_ID_CH_ED_ORDERED 0x45DD #define MATROSKA_ID_CH_ATOM 0xB6 #define MATROSKA_ID_CH_UID 0x73C4 #define MATROSKA_ID_CH_TIMESTART 0x91 #define MATROSKA_ID_CH_TIMEEND 0x92 +#define MATROSKA_ID_CH_HIDDEN 0x98 +#define MATROSKA_ID_CH_ENABLED 0x4598 #define MATROSKA_ID_CH_TRACK 0x8F #define MATROSKA_ID_CH_TRACKNUMBER 0x89 #define MATROSKA_ID_CH_DISPLAY 0x80 @@ -182,6 +191,46 @@ /* Tags */ #define MATROSKA_ID_TAGS 0x1254C367 +/* Chapter (used in tracks) */ +typedef struct { + uint64_t uid; + uint64_t time_start; + uint64_t time_end; + /* if not 0, the chapter could e.g. be used for skipping, but not + * be shown in the chapter list */ + int hidden; + /* disabled chapters should be skipped during playback (using this + * would require parsing control blocks) */ + int enabled; + /* Tracks this chapter belongs to. + * Remember that elements can occur in any order, so in theory the + * chapters could become available before the tracks do. + * TODO: currently unused + */ + /* uint64_t* tracks; */ + /* Chapter titles and locale information + * TODO: chapters can have multiple sets of those, i.e. several tuples + * (title, language, country). The current implementation picks from + * those by the following rules: + * 1) remember the first element + * 2) overwrite with an element where language=="eng" + */ + char* title; + char* language; + char* country; +} matroska_chapter_t; + +/* Edition */ +typedef struct { + uint64_t uid; + unsigned int hidden; + unsigned int is_default; + unsigned int ordered; + + int num_chapters, cap_chapters; + matroska_chapter_t** chapters; +} matroska_edition_t; + /* Matroska Track */ typedef struct { int flag_interlaced; @@ -213,7 +262,8 @@ typedef struct { typedef struct matroska_track_s matroska_track_t; struct matroska_track_s { int track_num; - + uint64_t uid; + uint32_t track_type; uint64_t default_duration; char *language; diff --git a/src/dxr3/Makefile.am b/src/dxr3/Makefile.am index f1a61ce12..3c2cbafbc 100644 --- a/src/dxr3/Makefile.am +++ b/src/dxr3/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CFLAGS = $(X_CFLAGS) $(LIBFAME_CFLAGS) diff --git a/src/dxr3/dxr3_decode_spu.c b/src/dxr3/dxr3_decode_spu.c index 1fe2373b4..82c8f8da0 100644 --- a/src/dxr3/dxr3_decode_spu.c +++ b/src/dxr3/dxr3_decode_spu.c @@ -17,6 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif /* dxr3 spu decoder plugin. * Accepts the spu data from xine and sends it directly to the diff --git a/src/dxr3/dxr3_decode_video.c b/src/dxr3/dxr3_decode_video.c index 496ef143e..e68ba2b5c 100644 --- a/src/dxr3/dxr3_decode_video.c +++ b/src/dxr3/dxr3_decode_video.c @@ -17,6 +17,10 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif /* dxr3 video decoder plugin. * Accepts the video data from xine and sends it directly to the diff --git a/src/dxr3/video_out_dxr3.c b/src/dxr3/video_out_dxr3.c index 3e7c9ab08..189824183 100644 --- a/src/dxr3/video_out_dxr3.c +++ b/src/dxr3/video_out_dxr3.c @@ -21,7 +21,7 @@ /* mpeg1 encoding video out plugin for the dxr3. * * modifications to the original dxr3 video out plugin by - * Mike Lampard <mike at web2u.com.au> + * Mike Lampard <mlampard at users.sourceforge.net> * this first standalone version by * Harm van der Heijden <hrm at users.sourceforge.net> */ diff --git a/src/input/Makefile.am b/src/input/Makefile.am index 81dd62eca..998fc6c81 100644 --- a/src/input/Makefile.am +++ b/src/input/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common EXTRA_DIST = input_dvd.c input_vcd.c input_gnome_vfs.c input_rtp.c @@ -45,6 +46,9 @@ endif if WIN32 else in_rtp = xineplug_inp_rtp.la +endif + +if DVB in_dvb = xineplug_inp_dvb.la endif diff --git a/src/input/http_helper.c b/src/input/http_helper.c index 279d3ff05..db93b9b45 100644 --- a/src/input/http_helper.c +++ b/src/input/http_helper.c @@ -29,8 +29,18 @@ #include "xine_internal.h" #include "http_helper.h" + +const char *_x_url_user_agent (const char *url) +{ + if (!strncasecmp (url, "qthttp://", 9)) + return "QuickTime"; /* needed for Apple trailers */ + return NULL; +} + int _x_parse_url (char *url, char **proto, char** host, int *port, - char **user, char **password, char **uri) { + char **user, char **password, char **uri, + const char **user_agent) +{ char *start = NULL; char *authcolon = NULL; char *at = NULL; @@ -63,6 +73,9 @@ int _x_parse_url (char *url, char **proto, char** host, int *port, end = start + strlen(start) - 1; *proto = strndup(url, start - url); + if (user_agent) + *user_agent = _x_url_user_agent (url); + /* user:password */ start += 3; at = strchr(start, '@'); @@ -185,6 +198,7 @@ int _x_parse_url (char *url, char **proto, char** host, int *port, } else *it = start[i]; } + *it = '\0'; } } } else { @@ -257,7 +271,7 @@ static int check_url(char *url, int ok) { printf("--------------------------------\n"); printf("url=%s\n", url); res = _x_parse_url (url, - &proto, &host, &port, &user, &password, &uri); + &proto, &host, &port, &user, &password, &uri, NULL); if (res) { printf("proto=%s, host=%s, port=%d, user=%s, password=%s, uri=%s\n", proto, host, port, user, password, uri); diff --git a/src/input/http_helper.h b/src/input/http_helper.h index 3ce3f2b7c..68299a2ea 100644 --- a/src/input/http_helper.h +++ b/src/input/http_helper.h @@ -24,6 +24,16 @@ #define HTTP_HELPER_H /* + * user agent finder, using modified protcol names + * {proto}://... + * e.g. "qthttp://example.com/foo.mov" → "QuickTime" + * + * return: + * NULL or user agent prefix + */ +const char *_x_url_user_agent (const char *url); + +/* * url parser * {proto}://{user}:{password}@{host}:{port}{uri} * {proto}://{user}:{password}@{[host]}:{port}{uri} @@ -33,7 +43,8 @@ * 1 valid url */ int _x_parse_url (char *url, char **proto, char** host, int *port, - char **user, char **password, char **uri); + char **user, char **password, char **uri, + const char **user_agent); /* * canonicalise url, given base diff --git a/src/input/input_cdda.c b/src/input/input_cdda.c index 996460832..70bd34f35 100644 --- a/src/input/input_cdda.c +++ b/src/input/input_cdda.c @@ -71,6 +71,8 @@ #define DEFAULT_CDDA_DEVICE "/vol/dev/aliases/cdrom0" #elif defined(WIN32) #define DEFAULT_CDDA_DEVICE "d:\\" +#elif defined(__OpenBSD__) +#define DEFAULT_CDDA_DEVICE "/dev/rcd0c" #else #define DEFAULT_CDDA_DEVICE "/dev/cdrom" #endif @@ -111,7 +113,7 @@ typedef struct _cdrom_toc { *************************************************************************/ #define MAX_TRACKS 99 -#define CACHED_FRAMES 500 +#define CACHED_FRAMES 100 typedef struct { int start; @@ -611,7 +613,7 @@ static int read_cdrom_frames(cdda_input_plugin_t *this_gen, int frame, int num_f return 0; } -#elif defined(__FreeBSD_kernel__) || defined(__NetBSD__) +#elif defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) #include <sys/cdio.h> @@ -624,7 +626,7 @@ static int read_cdrom_toc(int fd, cdrom_toc *toc) { struct ioc_toc_header tochdr; #if defined(__FreeBSD_kernel__) struct ioc_read_toc_single_entry tocentry; -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) struct ioc_read_toc_entry tocentry; struct cd_toc_entry data; #endif @@ -659,7 +661,7 @@ static int read_cdrom_toc(int fd, cdrom_toc *toc) { perror("CDIOREADTOCENTRY"); return -1; } -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) memset(&data, 0, sizeof(data)); tocentry.data_len = sizeof(data); tocentry.data = &data; @@ -680,7 +682,7 @@ static int read_cdrom_toc(int fd, cdrom_toc *toc) { (tocentry.entry.addr.msf.minute * CD_SECONDS_PER_MINUTE * CD_FRAMES_PER_SECOND) + (tocentry.entry.addr.msf.second * CD_FRAMES_PER_SECOND) + tocentry.entry.addr.msf.frame; -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) toc->toc_entries[i-1].track_mode = (tocentry.data->control & 0x04) ? 1 : 0; toc->toc_entries[i-1].first_frame_minute = tocentry.data->addr.msf.minute; toc->toc_entries[i-1].first_frame_second = tocentry.data->addr.msf.second; @@ -702,7 +704,7 @@ static int read_cdrom_toc(int fd, cdrom_toc *toc) { perror("CDIOREADTOCENTRY"); return -1; } -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) memset(&data, 0, sizeof(data)); tocentry.data_len = sizeof(data); tocentry.data = &data; @@ -723,7 +725,7 @@ static int read_cdrom_toc(int fd, cdrom_toc *toc) { (tocentry.entry.addr.msf.minute * CD_SECONDS_PER_MINUTE * CD_FRAMES_PER_SECOND) + (tocentry.entry.addr.msf.second * CD_FRAMES_PER_SECOND) + tocentry.entry.addr.msf.frame; -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) toc->leadout_track.track_mode = (tocentry.data->control & 0x04) ? 1 : 0; toc->leadout_track.first_frame_minute = tocentry.data->addr.msf.minute; toc->leadout_track.first_frame_second = tocentry.data->addr.msf.second; @@ -761,7 +763,7 @@ static int read_cdrom_frames(cdda_input_plugin_t *this_gen, int frame, int num_f perror("CDIOCREADAUDIO"); return -1; } -#elif defined(__NetBSD__) +#elif defined(__NetBSD__) || defined(__OpenBSD__) scsireq_t req; int nblocks = 1; @@ -1431,6 +1433,73 @@ static int _cdda_cddb_handle_code(char *buf) { return err; } +static inline char *_cdda_append (/*const*/ char *first, const char *second) +{ + if (!first) + return strdup (second); + + char *result = (char *) realloc (first, strlen (first) + strlen (second) + 1); + strcat (result, second); + return result; +} + +static void _cdda_parse_cddb_info (cdda_input_plugin_t *this, char *buffer, char **dtitle) +{ + /* buffer should be no more than 2048 bytes... */ + char buf[2048]; + int track_no; + + if (sscanf (buffer, "DTITLE=%s", &buf[0]) == 1) { + char *pt = strchr (buffer, '='); + if (pt) { + ++pt; + + *dtitle = _cdda_append (*dtitle, pt); + pt = strdup (*dtitle); + + char *title = strstr (pt, " / "); + if (title) + { + *title = 0; + title += 3; + free (this->cddb.disc_artist); + this->cddb.disc_artist = strdup (pt); + } + else + title = pt; + + free (this->cddb.disc_title); + this->cddb.disc_title = strdup (title); + + free (pt); + } + } + else if (sscanf (buffer, "DYEAR=%s", &buf[0]) == 1) { + char *pt = strchr (buffer, '='); + if (pt && strlen (pt) == 5) + this->cddb.disc_year = strdup (pt + 1); + } + else if(sscanf(buffer, "DGENRE=%s", &buf[0]) == 1) { + char *pt = strchr(buffer, '='); + if (pt) + this->cddb.disc_category = strdup (pt + 1); + } + else if (sscanf (buffer, "TTITLE%d=%s", &track_no, &buf[0]) == 2) { + char *pt = strchr(buffer, '='); + this->cddb.track[track_no].title = _cdda_append (this->cddb.track[track_no].title, pt + 1); + } + else if (!strncmp (buffer, "EXTD=", 5)) + { + if (!this->cddb.disc_year) + { + int nyear; + char *y = strstr (buffer, "YEAR:"); + if (y && sscanf (y + 5, "%4d", &nyear) == 1) + asprintf (&this->cddb.disc_year, "%d", nyear); + } + } +} + /* * Try to load cached cddb infos */ @@ -1463,82 +1532,16 @@ static int _cdda_load_cached_cddb_infos(cdda_input_plugin_t *this) { return 0; } else { - char buffer[256], *ln; - char buf[256]; - int tnum; + char buffer[2048], *ln; char *dtitle = NULL; - while ((ln = fgets(buffer, 255, fd)) != NULL) { - - buffer[strlen(buffer) - 1] = '\0'; - - if (sscanf(buffer, "DTITLE=%s", &buf[0]) == 1) { - char *pt, *artist, *title; - - pt = strchr(buffer, '='); - if (pt) { - pt++; - - if (dtitle != NULL) - { - dtitle = (char *) realloc(dtitle, strlen(dtitle) + strlen(pt) + 1); - strcat(dtitle, pt); - pt = dtitle; - } - dtitle = strdup(pt); - - artist = pt; - title = strstr(pt, " / "); - if (title) { - *title++ = '\0'; - title += 2; - } - else { - title = artist; - artist = NULL; - } - - if (artist) - this->cddb.disc_artist = strdup(artist); - - this->cddb.disc_title = strdup(title); - } - } - else if (sscanf(buffer, "DYEAR=%s", &buf[0]) == 1) { - char *pt; + while ((ln = fgets(buffer, sizeof (buffer) - 1, fd)) != NULL) { - pt = strrchr(buffer, '='); - pt++; - if (pt != NULL && strlen(pt) == 4) - this->cddb.disc_year = strdup(pt); - } - else if (sscanf(buffer, "TTITLE%d=%s", &tnum, &buf[0]) == 2) { - char *pt; - - pt = strchr(buffer, '='); - if (pt) - pt++; - if (this->cddb.track[tnum].title == NULL) - this->cddb.track[tnum].title = strdup(pt); - else - { - this->cddb.track[tnum].title - = (char *) realloc(this->cddb.track[tnum].title, strlen(this->cddb.track[tnum].title) + strlen(pt) + 1); - strcat(this->cddb.track[tnum].title, pt); - } - } - else { - if (!strncmp(buffer, "EXTD=", 5)) { - char *y; - int nyear; - - y = strstr(buffer, "YEAR:"); - if (y && this->cddb.disc_year == NULL) { - if (sscanf(y+5, "%4d", &nyear) == 1) - asprintf(&this->cddb.disc_year, "%d", nyear); - } - } - } + int length = strlen (buffer); + if (length && buffer[length - 1] == '\n') + buffer[length - 1] = '\0'; + + _cdda_parse_cddb_info (this, buffer, &dtitle); } fclose(fd); free(dtitle); @@ -1726,7 +1729,7 @@ static int _cdda_cddb_retrieve(cdda_input_plugin_t *this) { memset(&buffer, 0, sizeof(buffer)); err = _cdda_cddb_socket_read(this, buffer, sizeof(buffer) - 1); - if (err < 0 || (((err = _cdda_cddb_handle_code(buffer)) != 200) && (err != 210))) { + if (err < 0 || (((err = _cdda_cddb_handle_code(buffer)) != 200) && (err != 210) && (err != 211))) { xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "input_cdda: cddb query command returned error code '%03d'.\n", err); _cdda_cddb_socket_close(this); @@ -1747,7 +1750,7 @@ static int _cdda_cddb_retrieve(cdda_input_plugin_t *this) { } } - if (err == 210) { + if ((err == 210) || (err == 211)) { memset(&buffer, 0, sizeof(buffer)); err = _cdda_cddb_socket_read(this, buffer, sizeof(buffer) - 1); if (err < 0) { @@ -1801,82 +1804,13 @@ static int _cdda_cddb_retrieve(cdda_input_plugin_t *this) { memset(&buffercache, 0, sizeof(buffercache)); while (strcmp(buffer, ".")) { - char buf[2048]; - int tnum; size_t bufsize = strlen(buffercache); memset(&buffer, 0, sizeof(buffer)); _cdda_cddb_socket_read(this, buffer, sizeof(buffer) - 1); snprintf(buffercache + bufsize, sizeof(buffercache) - bufsize, "%s\n", buffer); - if (sscanf(buffer, "DTITLE=%s", &buf[0]) == 1) { - char *pt, *artist, *title; - - pt = strrchr(buffer, '='); - if (pt) { - pt++; - - if (dtitle != NULL) - { - dtitle = (char *) realloc(dtitle, strlen(dtitle) + strlen(pt) + 1); - strcat(dtitle, pt); - pt = dtitle; - } - dtitle = strdup(pt); - - artist = pt; - title = strstr(pt, " / "); - if (title) { - *title++ = '\0'; - title += 2; - } - else { - title = artist; - artist = NULL; - } - - if (artist) { - this->cddb.disc_artist = strdup(artist); - } - this->cddb.disc_title = strdup(title); - } - } - else if(sscanf(buffer, "DYEAR=%s", &buf[0]) == 1) { - char *pt; - - pt = strrchr(buffer, '='); - pt++; - if (pt != NULL && strlen(pt) == 4) - this->cddb.disc_year = strdup(pt); - } - else if (sscanf(buffer, "TTITLE%d=%s", &tnum, &buf[0]) == 2) { - char *pt; - - pt = strrchr(buffer, '='); - if (pt) { - pt++; - if (this->cddb.track[tnum].title == NULL) - this->cddb.track[tnum].title = strdup(pt); - else - { - this->cddb.track[tnum].title - = (char *) realloc(this->cddb.track[tnum].title, strlen(this->cddb.track[tnum].title) + strlen(pt) + 1); - strcat(this->cddb.track[tnum].title, pt); - } - } - } - else { - if (!strncmp(buffer, "EXTD=", 5)) { - char *y; - int nyear; - - y = strstr(buffer, "YEAR:"); - if (y && this->cddb.disc_year == NULL) { - if (sscanf(y+5, "%4d", &nyear) == 1) - asprintf(&this->cddb.disc_year, "%d", nyear); - } - } - } + _cdda_parse_cddb_info (this, buffer, &dtitle); } free(dtitle); @@ -2084,9 +2018,9 @@ static int cdda_open(cdda_input_plugin_t *this_gen, hASPI = LoadLibrary( "wnaspi32.dll" ); if( hASPI != NULL ) { - (FARPROC) lpGetSupport = GetProcAddress( hASPI, + lpGetSupport = GetProcAddress( hASPI, "GetASPI32SupportInfo" ); - (FARPROC) lpSendCommand = GetProcAddress( hASPI, + lpSendCommand = GetProcAddress( hASPI, "SendASPI32Command" ); } @@ -2224,26 +2158,18 @@ static int cdda_close(cdda_input_plugin_t *this_gen) { static uint32_t cdda_plugin_get_capabilities (input_plugin_t *this_gen) { - return INPUT_CAP_SEEKABLE | INPUT_CAP_BLOCK; + return INPUT_CAP_SEEKABLE; } static off_t cdda_plugin_read (input_plugin_t *this_gen, char *buf, off_t len) { - /* only allow reading in block-sized chunks */ - - return 0; -} - -static buf_element_t *cdda_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, - off_t nlen) { - cdda_input_plugin_t *this = (cdda_input_plugin_t *) this_gen; - buf_element_t *buf; - unsigned char frame_data[CD_RAW_FRAME_SIZE]; int err = 0; - if (nlen != CD_RAW_FRAME_SIZE) + /* only allow reading in block-sized chunks */ + + if (len != CD_RAW_FRAME_SIZE) return 0; if (this->current_frame > this->last_frame) @@ -2277,14 +2203,26 @@ static buf_element_t *cdda_plugin_read_block (input_plugin_t *this_gen, fifo_buf if( err < 0 ) return 0; - memcpy(frame_data, this->cache[this->current_frame-this->cache_first], CD_RAW_FRAME_SIZE); + memcpy(buf, this->cache[this->current_frame-this->cache_first], CD_RAW_FRAME_SIZE); this->current_frame++; + return CD_RAW_FRAME_SIZE; +} + +static buf_element_t *cdda_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, + off_t nlen) { + + buf_element_t *buf; + buf = fifo->buffer_pool_alloc(fifo); buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; - buf->size = CD_RAW_FRAME_SIZE; - memcpy(buf->mem, frame_data, CD_RAW_FRAME_SIZE); + + buf->size = cdda_plugin_read(this_gen, buf->content, nlen); + if (buf->size == 0) { + buf->free_buffer(buf); + buf = NULL; + } return buf; } @@ -2322,7 +2260,7 @@ static off_t cdda_plugin_get_length (input_plugin_t *this_gen) { static uint32_t cdda_plugin_get_blocksize (input_plugin_t *this_gen) { - return CD_RAW_FRAME_SIZE; + return 0; } static const char* cdda_plugin_get_mrl (input_plugin_t *this_gen) { @@ -2489,6 +2427,9 @@ static int cdda_plugin_open (input_plugin_t *this_gen ) { } lprintf("Track %d Title: %s\n", this->track+1, pt); + char tracknum[4]; + snprintf(tracknum, 4, "%d", this->track+1); + _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TRACK_NUMBER, tracknum); _x_meta_info_set_utf8(this->stream, XINE_META_INFO_TITLE, pt); } diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c index 0fa5ba971..54c40087e 100644 --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -67,7 +67,7 @@ */ #ifdef HAVE_CONFIG_H -#include <config.h> +#include "config.h" #endif /* pthread.h must be included first so rest of the headers are imported @@ -286,7 +286,7 @@ typedef struct { xine_t *xine; - char *mrls[5]; + char *mrls[6]; int numchannels; @@ -2602,6 +2602,12 @@ static buf_element_t *dvb_plugin_read_block (input_plugin_t *this_gen, buf_element_t *buf = fifo->buffer_pool_alloc (fifo); int total_bytes; + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -2869,6 +2875,8 @@ static int dvb_plugin_open(input_plugin_t * this_gen) if (lastchannel.num_value) { if (xine_config_lookup_entry(this->class->xine, "media.dvb.last_channel", &lastchannel)){ this->channel = lastchannel.num_value -1; + if (this->channel < 0 || this->channel >= num_channels) + this->channel = 0; /* out of range? default */ }else{ xprintf(this->class->xine, XINE_VERBOSITY_LOG, _("input_dvb: invalid channel specification, defaulting to channel 0\n")); this->channel = 0; diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c index a845d7628..4f8827dbd 100644 --- a/src/input/input_dvd.c +++ b/src/input/input_dvd.c @@ -53,7 +53,9 @@ #include <dlfcn.h> #ifndef WIN32 +#if ! defined(__GNU__) #include <sys/mount.h> +#endif #include <sys/wait.h> #include <sys/poll.h> @@ -115,6 +117,9 @@ /* There really isn't a default on Windows! */ #define DVD_PATH "d:\\" #define RDVD_PATH "d:\\" +#elif defined(__OpenBSD__) +#define DVD_PATH "/dev/rcd0c" +#define RDVD_PATH "/dev/rcd0c" #else #define DVD_PATH "/dev/dvd" #define RDVD_PATH "/dev/rdvd" @@ -850,6 +855,9 @@ static buf_element_t *dvd_plugin_read_block (input_plugin_t *this_gen, static off_t dvd_plugin_read (input_plugin_t *this_gen, char *ch_buf, off_t len) { /* dvd_input_plugin_t *this = (dvd_input_plugin_t*)this_gen; */ + if (len < 4) + return -1; + /* FIXME: Tricking the demux_mpeg_block plugin */ ch_buf[0] = 0; ch_buf[1] = 0; diff --git a/src/input/input_file.c b/src/input/input_file.c index 774f6b081..2187f0007 100644 --- a/src/input/input_file.c +++ b/src/input/input_file.c @@ -145,6 +145,9 @@ static int check_mmap_file(file_input_plugin_t *this) { static off_t file_plugin_read (input_plugin_t *this_gen, char *buf, off_t len) { file_input_plugin_t *this = (file_input_plugin_t *) this_gen; + if (len < 0) + return -1; + #ifdef HAVE_MMAP if ( check_mmap_file(this) ) { off_t l = len; @@ -166,6 +169,13 @@ static buf_element_t *file_plugin_read_block (input_plugin_t *this_gen, fifo_buf file_input_plugin_t *this = (file_input_plugin_t *) this_gen; buf_element_t *buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->type = BUF_DEMUX_BLOCK; #ifdef HAVE_MMAP diff --git a/src/input/input_gnome_vfs.c b/src/input/input_gnome_vfs.c index 0848b9206..a3dfafdd5 100644 --- a/src/input/input_gnome_vfs.c +++ b/src/input/input_gnome_vfs.c @@ -121,6 +121,13 @@ gnomevfs_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t total_bytes; buf_element_t *buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; diff --git a/src/input/input_http.c b/src/input/input_http.c index 169a0d384..4eece116f 100644 --- a/src/input/input_http.c +++ b/src/input/input_http.c @@ -91,6 +91,8 @@ typedef struct { char *host; int port; char *uri; + + const char *user_agent; char preview[MAX_PREVIEW_SIZE]; off_t preview_size; @@ -421,6 +423,9 @@ static off_t http_plugin_read (input_plugin_t *this_gen, num_bytes = 0; + if (nlen < 0) + return -1; + if (this->curpos < this->preview_size) { if (nlen > (this->preview_size - this->curpos)) @@ -437,7 +442,7 @@ static off_t http_plugin_read (input_plugin_t *this_gen, n = nlen - num_bytes; - if (n) { + if (n > 0) { int read_bytes; read_bytes = http_plugin_read_int (this, &buf[num_bytes], n); @@ -503,6 +508,13 @@ static buf_element_t *http_plugin_read_block (input_plugin_t *this_gen, fifo_buf off_t total_bytes; buf_element_t *buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -554,7 +566,7 @@ static off_t http_plugin_seek(input_plugin_t *this_gen, off_t offset, int origin if ((origin == SEEK_CUR) && (offset >= 0)) { for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } @@ -576,7 +588,7 @@ static off_t http_plugin_seek(input_plugin_t *this_gen, off_t offset, int origin offset -= this->curpos; for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } @@ -679,7 +691,8 @@ static int http_plugin_open (input_plugin_t *this_gen ) { if (!_x_parse_url(this->mrl, &this->proto, &this->host, &this->port, - &this->user, &this->password, &this->uri)) { + &this->user, &this->password, &this->uri, + &this->user_agent)) { _x_message(this->stream, XINE_MSG_GENERAL_WARNING, "malformed url", NULL); return 0; } @@ -778,10 +791,12 @@ static int http_plugin_open (input_plugin_t *this_gen ) { } buflen += snprintf(this->buf + buflen, BUFSIZE - buflen, - "User-Agent: xine/%s\015\012" + "User-Agent: %s%sxine/%s\015\012" "Accept: */*\015\012" "Icy-MetaData: 1\015\012" "\015\012", + this->user_agent ? this->user_agent : "", + this->user_agent ? " " : "", VERSION); if (_x_io_tcp_write (this->stream, this->fh, this->buf, buflen) != buflen) { _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "couldn't send request", NULL); @@ -996,6 +1011,7 @@ static int http_plugin_open (input_plugin_t *this_gen ) { this->preview_size = http_plugin_read_int (this, this->preview, MAX_PREVIEW_SIZE); } if (this->preview_size < 0) { + this->preview_size = 0; xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: read error %d\n"), errno); return -12; } @@ -1018,7 +1034,8 @@ static input_plugin_t *http_class_get_instance (input_class_t *cls_gen, xine_str if (strncasecmp (mrl, "http://", 7) && strncasecmp (mrl, "unsv://", 7) && - strncasecmp (mrl, "peercast://pls/", 15)) { + strncasecmp (mrl, "peercast://pls/", 15) && + !_x_url_user_agent (mrl) /* user agent hacks */) { return NULL; } this = calloc(1, sizeof(http_input_plugin_t)); diff --git a/src/input/input_mms.c b/src/input/input_mms.c index 158b40448..cd88a0609 100644 --- a/src/input/input_mms.c +++ b/src/input/input_mms.c @@ -122,6 +122,13 @@ static buf_element_t *mms_plugin_read_block (input_plugin_t *this_gen, lprintf ("mms_plugin_read_block: %"PRId64" bytes...\n", todo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; diff --git a/src/input/input_net.c b/src/input/input_net.c index 391f33a60..d9da27b54 100644 --- a/src/input/input_net.c +++ b/src/input/input_net.c @@ -253,6 +253,9 @@ static off_t net_plugin_read (input_plugin_t *this_gen, lprintf("reading %" PRIdMAX " bytes...\n", (intmax_t)len); + if (len < 0) + return -1; + total=0; if (this->curpos < this->preview_size) { n = this->preview_size - this->curpos; @@ -288,6 +291,13 @@ static buf_element_t *net_plugin_read_block (input_plugin_t *this_gen, buf_element_t *buf = fifo->buffer_pool_alloc (fifo); off_t total_bytes; + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -331,7 +341,7 @@ static off_t net_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin if ((origin == SEEK_CUR) && (offset >= 0)) { for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } @@ -353,7 +363,7 @@ static off_t net_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin offset -= this->curpos; for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } diff --git a/src/input/input_pnm.c b/src/input/input_pnm.c index 669d24d28..f609695d5 100644 --- a/src/input/input_pnm.c +++ b/src/input/input_pnm.c @@ -83,7 +83,8 @@ static off_t pnm_plugin_read (input_plugin_t *this_gen, lprintf ("pnm_plugin_read: %"PRId64" bytes ...\n", len); n = pnm_read (this->pnm, buf, len); - this->curpos += n; + if (n >= 0) + this->curpos += n; return n; } @@ -96,6 +97,13 @@ static buf_element_t *pnm_plugin_read_block (input_plugin_t *this_gen, lprintf ("pnm_plugin_read_block: %"PRId64" bytes...\n", todo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -123,10 +131,16 @@ static off_t pnm_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin if ((origin == SEEK_CUR) && (offset >= 0)) { for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - this->curpos += pnm_plugin_read (this_gen, this->scratch, BUFSIZE); + off_t n = pnm_plugin_read (this_gen, this->scratch, BUFSIZE); + if (n <= 0) + return this->curpos; + this->curpos += n; } - this->curpos += pnm_plugin_read (this_gen, this->scratch, offset); + off_t n = pnm_plugin_read (this_gen, this->scratch, offset); + if (n <= 0) + return this->curpos; + this->curpos += n; } return this->curpos; diff --git a/src/input/input_pvr.c b/src/input/input_pvr.c index 009c76939..a9c92e42e 100644 --- a/src/input/input_pvr.c +++ b/src/input/input_pvr.c @@ -424,6 +424,9 @@ static uint32_t pvr_plugin_get_capabilities (input_plugin_t *this_gen) { static off_t pvr_plugin_read (input_plugin_t *this_gen, char *buf, off_t len) { /*pvr_input_plugin_t *this = (pvr_input_plugin_t *) this_gen;*/ + if (len < 4) + return -1; + /* FIXME: Tricking the demux_mpeg_block plugin */ buf[0] = 0; buf[1] = 0; @@ -1204,6 +1207,14 @@ static buf_element_t *pvr_plugin_read_block (input_plugin_t *this_gen, fifo_buff return NULL; } + buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer(buf); + return NULL; + } + if( this->scr_tunning == -2 ) speed = this->speed_before_pause; @@ -1227,7 +1238,6 @@ static buf_element_t *pvr_plugin_read_block (input_plugin_t *this_gen, fifo_buff pvr_event_handler(this); - buf = fifo->buffer_pool_alloc (fifo); buf->content = buf->mem; pthread_mutex_lock(&this->lock); diff --git a/src/input/input_rtp.c b/src/input/input_rtp.c index 66fcba87e..90bae6670 100644 --- a/src/input/input_rtp.c +++ b/src/input/input_rtp.c @@ -453,6 +453,9 @@ static off_t rtp_plugin_read (input_plugin_t *this_gen, struct timespec timeout; off_t copied = 0; + if (length < 0) + return -1; + while(length > 0) { off_t n; @@ -524,6 +527,12 @@ static buf_element_t *rtp_plugin_read_block (input_plugin_t *this_gen, buf_element_t *buf = fifo->buffer_pool_alloc (fifo); int total_bytes; + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -609,11 +618,14 @@ static int rtp_plugin_get_optional_data (input_plugin_t *this_gen, if (data_type == INPUT_OPTIONAL_DATA_PREVIEW) { if (!this->preview_read_done) { this->preview_size = rtp_plugin_read(this_gen, this->preview, MAX_PREVIEW_SIZE); + if (this->preview_size < 0) + this->preview_size = 0; lprintf("Preview data length = %d\n", this->preview_size); this->preview_read_done = 1; } - memcpy(data, this->preview, this->preview_size); + if (this->preview_size) + memcpy(data, this->preview, this->preview_size); return this->preview_size; } else { diff --git a/src/input/input_rtsp.c b/src/input/input_rtsp.c index 110c4d4b6..fad395e0b 100644 --- a/src/input/input_rtsp.c +++ b/src/input/input_rtsp.c @@ -84,7 +84,8 @@ static off_t rtsp_plugin_read (input_plugin_t *this_gen, lprintf ("rtsp_plugin_read: %"PRId64" bytes ...\n", len); n = rtsp_session_read (this->rtsp, buf, len); - this->curpos += n; + if (n > 0) + this->curpos += n; return n; } @@ -97,6 +98,13 @@ static buf_element_t *rtsp_plugin_read_block (input_plugin_t *this_gen, lprintf ("rtsp_plugin_read_block: %"PRId64" bytes...\n", todo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -123,10 +131,16 @@ static off_t rtsp_plugin_seek (input_plugin_t *this_gen, off_t offset, int origi if ((origin == SEEK_CUR) && (offset >= 0)) { for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - this->curpos += rtsp_plugin_read (this_gen, this->scratch, BUFSIZE); + off_t n = rtsp_plugin_read (this_gen, this->scratch, BUFSIZE); + if (n <= 0) + return this->curpos; + this->curpos += n; } - this->curpos += rtsp_plugin_read (this_gen, this->scratch, offset); + off_t n = rtsp_plugin_read (this_gen, this->scratch, offset); + if (n <= 0) + return this->curpos; + this->curpos += n; } return this->curpos; diff --git a/src/input/input_smb.c b/src/input/input_smb.c index 3d495f04e..e49eaa889 100644 --- a/src/input/input_smb.c +++ b/src/input/input_smb.c @@ -69,6 +69,8 @@ smb_plugin_read (input_plugin_t *this_gen, char *buf, off_t len) smb_input_t *this = (smb_input_t *) this_gen; off_t n, num_bytes; + if (len < 0) + return -1; num_bytes = 0; while (num_bytes < len) @@ -89,6 +91,13 @@ smb_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t total_bytes; buf_element_t *buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; diff --git a/src/input/input_stdin_fifo.c b/src/input/input_stdin_fifo.c index 0ae841b4b..64b8d748c 100644 --- a/src/input/input_stdin_fifo.c +++ b/src/input/input_stdin_fifo.c @@ -85,6 +85,8 @@ static off_t stdin_plugin_read (input_plugin_t *this_gen, off_t n, total; lprintf ("reading %"PRId64" bytes...\n", len); + if (len < 0) + return -1; total=0; if (this->curpos < this->preview_size) { @@ -121,6 +123,13 @@ static buf_element_t *stdin_plugin_read_block (input_plugin_t *this_gen, fifo_bu /* stdin_input_plugin_t *this = (stdin_input_plugin_t *) this_gen; */ buf_element_t *buf = fifo->buffer_pool_alloc (fifo); + if (todo > buf->max_size) + todo = buf->max_size; + if (todo < 0) { + buf->free_buffer (buf); + return NULL; + } + buf->content = buf->mem; buf->type = BUF_DEMUX_BLOCK; @@ -146,7 +155,7 @@ static off_t stdin_plugin_seek (input_plugin_t *this_gen, off_t offset, int orig if ((origin == SEEK_CUR) && (offset >= 0)) { for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } @@ -168,7 +177,7 @@ static off_t stdin_plugin_seek (input_plugin_t *this_gen, off_t offset, int orig offset -= this->curpos; for (;((int)offset) - BUFSIZE > 0; offset -= BUFSIZE) { - if( !this_gen->read (this_gen, this->seek_buf, BUFSIZE) ) + if( this_gen->read (this_gen, this->seek_buf, BUFSIZE) <= 0 ) return this->curpos; } @@ -270,6 +279,8 @@ static int stdin_plugin_open (input_plugin_t *this_gen ) { this->preview_size = stdin_plugin_read (&this->input_plugin, this->preview, MAX_PREVIEW_SIZE); + if (this->preview_size < 0) + this->preview_size = 0; this->curpos = 0; return 1; diff --git a/src/input/input_vcd.c b/src/input/input_vcd.c index 760910a01..c99f57f09 100644 --- a/src/input/input_vcd.c +++ b/src/input/input_vcd.c @@ -92,7 +92,7 @@ typedef struct { #if defined (__linux__) || defined(__sun) struct cdrom_tochdr tochdr; struct cdrom_tocentry tocent[100]; -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) struct ioc_toc_header tochdr; struct cd_toc_entry *tocent; off_t cur_sec; @@ -117,7 +117,7 @@ typedef struct { int cur_track; -#if defined (__linux__) || defined(__sun) || defined (__FreeBSD_kernel__) +#if defined (__linux__) || defined(__sun) || defined (__FreeBSD_kernel__) || defined (__OpenBSD__) uint8_t cur_min, cur_sec, cur_frame; #endif @@ -177,7 +177,7 @@ static int input_vcd_read_toc (vcd_input_class_t *this, int fd) { return 0; } -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) static int input_vcd_read_toc (vcd_input_class_t *this, int fd) { struct ioc_read_toc_entry te; @@ -393,7 +393,7 @@ static off_t vcd_plugin_read (input_plugin_t *this_gen, memcpy (buf, data.data, VCDSECTORSIZE); /* FIXME */ return VCDSECTORSIZE; } -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) static off_t vcd_plugin_read (input_plugin_t *this_gen, char *buf, off_t nlen) { vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen; @@ -531,7 +531,7 @@ static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen, memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */ return buf; } -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t nlen) { @@ -690,7 +690,7 @@ static off_t vcd_plugin_seek (input_plugin_t *this_gen, return offset ; /* FIXME */ } -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) static off_t vcd_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin) { @@ -764,7 +764,7 @@ static off_t vcd_plugin_get_length (input_plugin_t *this_gen) { return (off_t) 0; } -#elif defined (__FreeBSD_kernel__) +#elif defined (__FreeBSD_kernel__) || defined (__OpenBSD__) static off_t vcd_plugin_get_length (input_plugin_t *this_gen) { vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen; off_t len ; @@ -859,6 +859,10 @@ static int vcd_plugin_open (input_plugin_t *this_gen) { this->cur_min = this->cls->tocent[this->cur_track].cdte_addr.msf.minute; this->cur_sec = this->cls->tocent[this->cur_track].cdte_addr.msf.second; this->cur_frame = this->cls->tocent[this->cur_track].cdte_addr.msf.frame; +#elif defined (__OpenBSD__) + this->cur_min = this->cls->tocent[this->cur_track + 1 - this->cls->tochdr.starting_track].addr.msf.minute; + this->cur_sec = this->cls->tocent[this->cur_track + 1 - this->cls->tochdr.starting_track].addr.msf.second; + this->cur_frame = this->cls->tocent[this->cur_track + 1 - this->cls->tochdr.starting_track].addr.msf.frame; #elif defined (__FreeBSD_kernel__) { int bsize = 2352; diff --git a/src/input/libdvdnav/bswap.h b/src/input/libdvdnav/bswap.h index 2a2d222fe..23f0251d6 100644 --- a/src/input/libdvdnav/bswap.h +++ b/src/input/libdvdnav/bswap.h @@ -20,7 +20,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include <config.h> +#include "config.h" #if defined(WORDS_BIGENDIAN) /* All bigendian systems are fine, just ignore the swaps. */ diff --git a/src/input/libdvdnav/diff_against_cvs.patch b/src/input/libdvdnav/diff_against_cvs.patch index 202474fef..6df704e2a 100644 --- a/src/input/libdvdnav/diff_against_cvs.patch +++ b/src/input/libdvdnav/diff_against_cvs.patch @@ -323,7 +323,7 @@ diff -u -p -u -r1.5 dvd_reader.h -#ifdef _MSC_VER +#ifdef HAVE_CONFIG_H - #include <config.h> + #include "config.h" +#endif +#ifdef _MSC_VER diff --git a/src/input/libdvdnav/dvd_reader.c b/src/input/libdvdnav/dvd_reader.c index eff1977fc..1e0d3016b 100644 --- a/src/input/libdvdnav/dvd_reader.c +++ b/src/input/libdvdnav/dvd_reader.c @@ -30,7 +30,9 @@ #include <string.h> #include <unistd.h> #include <limits.h> +#ifdef HAVE_DIRENT_H #include <dirent.h> +#endif #ifndef HAVE_GETTIMEOFDAY # ifdef WIN32 diff --git a/src/input/libdvdnav/dvd_reader.h b/src/input/libdvdnav/dvd_reader.h index e1b051c00..c7b3f9df8 100644 --- a/src/input/libdvdnav/dvd_reader.h +++ b/src/input/libdvdnav/dvd_reader.h @@ -22,7 +22,7 @@ */ #ifdef HAVE_CONFIG_H -#include <config.h> +#include "config.h" #endif #ifdef _MSC_VER diff --git a/src/input/libdvdnav/md5.c b/src/input/libdvdnav/md5.c index 2bfdddee4..16b7b0690 100644 --- a/src/input/libdvdnav/md5.c +++ b/src/input/libdvdnav/md5.c @@ -21,7 +21,7 @@ /* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. */ #ifdef HAVE_CONFIG_H -# include <config.h> +# include "config.h" #endif #include <sys/types.h> diff --git a/src/input/libdvdnav/remap.c b/src/input/libdvdnav/remap.c index 43c81c66f..df0be29ce 100644 --- a/src/input/libdvdnav/remap.c +++ b/src/input/libdvdnav/remap.c @@ -216,6 +216,7 @@ remap_t* remap_loadmap( char *title) { remap_add_node( map, tmp); } } + close (fp); /* ignoring errors... */ if (map->nblocks == 0 && map->debug == 0) return NULL; return map; diff --git a/src/input/libreal/asmrp.c b/src/input/libreal/asmrp.c index 970fcb0f7..902c59d42 100644 --- a/src/input/libreal/asmrp.c +++ b/src/input/libreal/asmrp.c @@ -32,6 +32,10 @@ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <stdio.h> #include <string.h> diff --git a/src/input/libreal/real.c b/src/input/libreal/real.c index c0e11fa00..dcb90bcd0 100644 --- a/src/input/libreal/real.c +++ b/src/input/libreal/real.c @@ -21,6 +21,10 @@ * adopted from joschkas real tools. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <string.h> diff --git a/src/input/libreal/rmff.c b/src/input/libreal/rmff.c index 41f85d3ae..2d3fcc613 100644 --- a/src/input/libreal/rmff.c +++ b/src/input/libreal/rmff.c @@ -21,6 +21,10 @@ * adopted from joschkas real tools */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #define LOG_MODULE "rmff" #define LOG_VERBOSE /* @@ -330,12 +334,14 @@ static rmff_prop_t *rmff_scan_prop(const char *data) { return prop; } -static rmff_mdpr_t *rmff_scan_mdpr(const char *data) { - - rmff_mdpr_t *mdpr = malloc(sizeof(rmff_mdpr_t)); +static rmff_mdpr_t *rmff_scan_mdpr(const char *data) +{ + rmff_mdpr_t *mdpr = calloc(sizeof(rmff_mdpr_t), 1); mdpr->object_id=_X_BE_32(data); mdpr->size=_X_BE_32(&data[4]); + if (mdpr->size < 46) + goto fail; mdpr->object_version=_X_BE_16(&data[8]); if (mdpr->object_version != 0) { @@ -351,21 +357,40 @@ static rmff_mdpr_t *rmff_scan_mdpr(const char *data) { mdpr->duration=_X_BE_32(&data[36]); mdpr->stream_name_size=data[40]; + if (mdpr->size < 46 + mdpr->stream_name_size) + goto fail; mdpr->stream_name = malloc(mdpr->stream_name_size+1); + if (!mdpr->stream_name) + goto fail; memcpy(mdpr->stream_name, &data[41], mdpr->stream_name_size); mdpr->stream_name[mdpr->stream_name_size]=0; mdpr->mime_type_size=data[41+mdpr->stream_name_size]; + if (mdpr->size < 46 + mdpr->stream_name_size + mdpr->mime_type_size) + goto fail; mdpr->mime_type = malloc(mdpr->mime_type_size+1); + if (!mdpr->mime_type) + goto fail; memcpy(mdpr->mime_type, &data[42+mdpr->stream_name_size], mdpr->mime_type_size); mdpr->mime_type[mdpr->mime_type_size]=0; mdpr->type_specific_len=_X_BE_32(&data[42+mdpr->stream_name_size+mdpr->mime_type_size]); + if (mdpr->size < 46 + mdpr->stream_name_size + mdpr->mime_type_size + mdpr->type_specific_data) + goto fail; mdpr->type_specific_data = malloc(mdpr->type_specific_len); + if (!mdpr->type_specific_data) + goto fail; memcpy(mdpr->type_specific_data, &data[46+mdpr->stream_name_size+mdpr->mime_type_size], mdpr->type_specific_len); return mdpr; + +fail: + free (mdpr->stream_name); + free (mdpr->mime_type); + free (mdpr->type_specific_data); + free (mdpr); + return NULL; } static rmff_cont_t *rmff_scan_cont(const char *data) { @@ -463,8 +488,11 @@ rmff_header_t *rmff_scan_header(const char *data) { break; case MDPR_TAG: mdpr=rmff_scan_mdpr(ptr); - chunk_size=mdpr->size; - header->streams[mdpr->stream_number]=mdpr; + if (mdpr) /* FIXME: what to do if NULL? */ + { + chunk_size=mdpr->size; + header->streams[mdpr->stream_number]=mdpr; + } break; case CONT_TAG: header->cont=rmff_scan_cont(ptr); diff --git a/src/input/libreal/sdpplin.c b/src/input/libreal/sdpplin.c index c1fab49c1..a07cb3360 100644 --- a/src/input/libreal/sdpplin.c +++ b/src/input/libreal/sdpplin.c @@ -19,6 +19,10 @@ * * sdp/sdpplin parser. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #define LOG_MODULE "sdpplin" #define LOG_VERBOSE diff --git a/src/input/librtsp/rtsp.c b/src/input/librtsp/rtsp.c index 07769064a..8d0d45ec5 100644 --- a/src/input/librtsp/rtsp.c +++ b/src/input/librtsp/rtsp.c @@ -22,7 +22,7 @@ */ #ifdef HAVE_CONFIG_H -#include <config.h> +#include "config.h" #endif #include <unistd.h> @@ -255,7 +255,7 @@ static int rtsp_get_answers(rtsp_t *s) { } } else { - lprintf("setting session id to: %s\n", buf); + lprintf("setting session id to: %s\n", tmp); s->session=strdup(tmp); } diff --git a/src/input/librtsp/rtsp_session.c b/src/input/librtsp/rtsp_session.c index 4e636410d..88103aa7d 100644 --- a/src/input/librtsp/rtsp_session.c +++ b/src/input/librtsp/rtsp_session.c @@ -20,6 +20,10 @@ * high level interface to rtsp servers. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> diff --git a/src/input/mms.c b/src/input/mms.c index ab1983955..8ba33e704 100644 --- a/src/input/mms.c +++ b/src/input/mms.c @@ -290,7 +290,7 @@ static int send_command (mms_t *this, int command, #ifdef USE_ICONV static iconv_t string_utf16_open() { - return iconv_open("UTF-16LE", nl_langinfo(CODESET)); + return iconv_open("UTF-16LE", "UTF-8"); } static void string_utf16_close(iconv_t url_conv) { @@ -698,7 +698,7 @@ mms_t *mms_connect (xine_stream_t *stream, const char *url, int bandwidth) { report_progress (stream, 0); if (!_x_parse_url (this->url, &this->proto, &this->host, &this->port, - &this->user, &this->password, &this->uri)) { + &this->user, &this->password, &this->uri, NULL)) { lprintf ("invalid url\n"); goto fail; } @@ -771,10 +771,17 @@ mms_t *mms_connect (xine_stream_t *stream, const char *url, int bandwidth) { /* command 0x5 */ { mms_buffer_t command_buffer; - char *path = this->uri; - size_t pathlen = strlen(path); + char *path, *unescaped; + size_t pathlen; + + unescaped = strdup (this->uri); + if (!unescaped) + goto fail; + _x_mrl_unescape (unescaped); /* remove the first '/' */ + path = unescaped; + pathlen = strlen (path); if (pathlen > 1) { path++; pathlen--; @@ -785,6 +792,7 @@ mms_t *mms_connect (xine_stream_t *stream, const char *url, int bandwidth) { mms_buffer_put_32 (&command_buffer, 0x00000000); /* ?? */ mms_buffer_put_32 (&command_buffer, 0x00000000); /* ?? */ string_utf16 (url_conv, this->scmd_body + command_buffer.pos, path, pathlen); + free (unescaped); if (!send_command (this, 5, 1, 0xffffffff, pathlen * 2 + 12)) goto fail; } diff --git a/src/input/mmsh.c b/src/input/mmsh.c index 4ee7ed07d..2cc27c3b1 100644 --- a/src/input/mmsh.c +++ b/src/input/mmsh.c @@ -649,7 +649,7 @@ mmsh_t *mmsh_connect (xine_stream_t *stream, const char *url, int bandwidth) { report_progress (stream, 0); if (!_x_parse_url (this->url, &this->proto, &this->host, &this->port, - &this->user, &this->password, &this->uri)) { + &this->user, &this->password, &this->uri, NULL)) { xine_log (this->stream->xine, XINE_LOG_MSG, _("invalid url\n")); goto fail; } diff --git a/src/input/pnm.c b/src/input/pnm.c index cbd245e7b..aabdbde96 100644 --- a/src/input/pnm.c +++ b/src/input/pnm.c @@ -22,7 +22,7 @@ */ #ifdef HAVE_CONFIG_H -# include <config.h> +# include "config.h" #endif #include <unistd.h> diff --git a/src/input/vcd/Makefile.am b/src/input/vcd/Makefile.am index 31ec6a44c..61eac753b 100644 --- a/src/input/vcd/Makefile.am +++ b/src/input/vcd/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common SUBDIRS = libcdio libvcd diff --git a/src/input/vcd/libcdio/MSWindows/aspi32.c b/src/input/vcd/libcdio/MSWindows/aspi32.c index 238a4b4e9..e62f8a089 100644 --- a/src/input/vcd/libcdio/MSWindows/aspi32.c +++ b/src/input/vcd/libcdio/MSWindows/aspi32.c @@ -162,9 +162,9 @@ have_aspi( HMODULE *hASPI, return false; } - (FARPROC) *lpGetSupport = GetProcAddress( *hASPI, + *lpGetSupport = (FARPROC)GetProcAddress( *hASPI, "GetASPI32SupportInfo" ); - (FARPROC) *lpSendCommand = GetProcAddress( *hASPI, + *lpSendCommand = (FARPROC)GetProcAddress( *hASPI, "SendASPI32Command" ); /* make sure that we've got both function addresses */ diff --git a/src/input/vcd/xineplug_inp_vcd.c b/src/input/vcd/xineplug_inp_vcd.c index 55b7f9b84..50382ee7e 100644 --- a/src/input/vcd/xineplug_inp_vcd.c +++ b/src/input/vcd/xineplug_inp_vcd.c @@ -20,7 +20,7 @@ /* These are plugin routines called by the xine engine. See Chapter 4. Extending xine's input - http://xinehq.de/index.php/hackersguide/index.php?resource=5.3&action=default#INPUT + http://www.xine-project.org/hackersguide#INPUT and the comments in input_plugin.h This is what is referred to below a "the xine plugin spec" diff --git a/src/liba52/Makefile.am b/src/liba52/Makefile.am index 508ea9c1b..b13170076 100644 --- a/src/liba52/Makefile.am +++ b/src/liba52/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common if A52 diff --git a/src/liba52/xine_a52_decoder.c b/src/liba52/xine_a52_decoder.c index 0f9ed3ad5..47babce7a 100644 --- a/src/liba52/xine_a52_decoder.c +++ b/src/liba52/xine_a52_decoder.c @@ -27,7 +27,7 @@ /* avoid compiler warnings */ #define _BSD_SOURCE 1 -#include <config.h> +#include "config.h" #include <stdlib.h> #include <unistd.h> diff --git a/src/libdts/Makefile.am b/src/libdts/Makefile.am index 1329dd49c..b7ec60016 100644 --- a/src/libdts/Makefile.am +++ b/src/libdts/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common if DTS diff --git a/src/libdts/xine_dts_decoder.c b/src/libdts/xine_dts_decoder.c index 669ae85da..eba750110 100644 --- a/src/libdts/xine_dts_decoder.c +++ b/src/libdts/xine_dts_decoder.c @@ -21,6 +21,10 @@ * 09-12-2001 DTS passthrough inprovements (C) James Courtier-Dutton */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #ifndef __sun /* required for swab() */ #define _XOPEN_SOURCE 500 diff --git a/src/libfaad/Makefile.am b/src/libfaad/Makefile.am index f36fb608a..92bab83fb 100644 --- a/src/libfaad/Makefile.am +++ b/src/libfaad/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common SUBDIRS = codebook diff --git a/src/libfaad/common.h b/src/libfaad/common.h index 4d2769526..4419f1eb5 100644 --- a/src/libfaad/common.h +++ b/src/libfaad/common.h @@ -36,7 +36,7 @@ extern "C" { #endif #ifdef HAVE_CONFIG_H -# include <config.h> +# include "config.h" #endif #if 1 diff --git a/src/libfaad/xine_faad_decoder.c b/src/libfaad/xine_faad_decoder.c index 9c657610e..b90bc701f 100644 --- a/src/libfaad/xine_faad_decoder.c +++ b/src/libfaad/xine_faad_decoder.c @@ -18,6 +18,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <unistd.h> #include <string.h> diff --git a/src/libmad/Makefile.am b/src/libmad/Makefile.am index c879645c5..56339cc72 100644 --- a/src/libmad/Makefile.am +++ b/src/libmad/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CFLAGS = -DOPT_SPEED diff --git a/src/libmad/xine_mad_decoder.c b/src/libmad/xine_mad_decoder.c index 31b313818..cb8c52831 100644 --- a/src/libmad/xine_mad_decoder.c +++ b/src/libmad/xine_mad_decoder.c @@ -22,7 +22,7 @@ #include <stdlib.h> #include <string.h> -#include <config.h> +#include "config.h" #ifdef HAVE_MAD_H #include <mad.h> @@ -84,6 +84,9 @@ typedef struct mad_decoder_s { uint8_t buffer[INPUT_BUF_SIZE]; int bytes_in_buffer; int preview_mode; + int start_padding; + int end_padding; + int needs_more_data; } mad_decoder_t; @@ -98,6 +101,9 @@ static void mad_reset (audio_decoder_t *this_gen) { this->pts = 0; this->bytes_in_buffer = 0; this->preview_mode = 0; + this->start_padding = 0; + this->end_padding = 0; + this->needs_more_data = 0; mad_synth_init (&this->synth); mad_stream_init (&this->stream); @@ -187,6 +193,17 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { if (this->bytes_in_buffer < MAD_MIN_SIZE) return; + if (!this->needs_more_data) { + this->pts = buf->pts; + if (buf->decoder_flags & BUF_FLAG_AUDIO_PADDING) { + this->start_padding = buf->decoder_info[1]; + this->end_padding = buf->decoder_info[2]; + } else { + this->start_padding = 0; + this->end_padding = 0; + } + } + while (1) { if (mad_frame_decode (&this->frame, &this->stream) != 0) { @@ -204,6 +221,8 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { switch (this->stream.error) { case MAD_ERROR_BUFLEN: + /* libmad wants more data */ + this->needs_more_data = 1; return; default: @@ -284,7 +303,24 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { nsamples = pcm->length; left_ch = pcm->samples[0]; right_ch = pcm->samples[1]; - + + /* padding */ + if (this->start_padding || this->end_padding) { + /* check padding validity */ + if (nsamples < (this->start_padding + this->end_padding)) { + lprintf("invalid padding data"); + this->start_padding = 0; + this->end_padding = 0; + } + lprintf("nsamples=%d, start_padding=%d, end_padding=%d\n", + nsamples, this->start_padding, this->end_padding); + nsamples -= this->start_padding + this->end_padding; + left_ch += this->start_padding; + right_ch += this->start_padding; + } + audio_buffer->num_frames = nsamples; + audio_buffer->vpts = this->pts; + while (nsamples--) { /* output sample(s) in 16-bit signed little-endian PCM */ @@ -315,14 +351,21 @@ static void mad_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { this->xstream->audio_out->put_buffer (this->xstream->audio_out, audio_buffer, this->xstream); + this->pts = buf->pts; buf->pts = 0; - + if (buf->decoder_flags & BUF_FLAG_AUDIO_PADDING) { + this->start_padding = buf->decoder_info[1]; + this->end_padding = buf->decoder_info[2]; + buf->decoder_info[1] = 0; + buf->decoder_info[2] = 0; + } else { + this->start_padding = 0; + this->end_padding = 0; + } } - - lprintf ("decode worked\n"); + lprintf ("decode worked\n"); } - } - + } } } diff --git a/src/libmpeg2/Makefile.am b/src/libmpeg2/Makefile.am index 9895aa5d7..849e56363 100644 --- a/src/libmpeg2/Makefile.am +++ b/src/libmpeg2/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xineplug_LTLIBRARIES = xineplug_decode_mpeg2.la @@ -22,7 +23,7 @@ xineplug_decode_mpeg2_la_SOURCES = \ xine_mpeg2_decoder.c \ libmpeg2_accel.c -xineplug_decode_mpeg2_la_LIBADD = $(XINE_LIB) $(MLIB_LIBS) -lm +xineplug_decode_mpeg2_la_LIBADD = $(XINE_LIB) $(MLIB_LIBS) $(LTLIBINTL) -lm xineplug_decode_mpeg2_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBMPEG2_CFLAGS) xineplug_decode_mpeg2_la_LDFLAGS = $(xineplug_ldflags) diff --git a/src/libmpeg2/motion_comp.c b/src/libmpeg2/motion_comp.c index 8779c1296..f8faa3ee5 100644 --- a/src/libmpeg2/motion_comp.c +++ b/src/libmpeg2/motion_comp.c @@ -68,7 +68,7 @@ void mpeg2_mc_init (uint32_t mm_accel) mpeg2_mc = mpeg2_mc_altivec; } else #endif -#ifdef ARCH_SPARC +#if defined(ARCH_SPARC) && defined(ENABLE_VIS) if (mm_accel & MM_ACCEL_SPARC_VIS) { #ifdef LOG fprintf (stderr, "Using VIS for motion compensation\n"); diff --git a/src/libmpeg2/slice_xvmc_vld.c b/src/libmpeg2/slice_xvmc_vld.c index 7e370a519..cd4eca0a2 100644 --- a/src/libmpeg2/slice_xvmc_vld.c +++ b/src/libmpeg2/slice_xvmc_vld.c @@ -17,6 +17,10 @@ * */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "video_out.h" #include "mpeg2.h" diff --git a/src/libmpeg2/xine_mpeg2_decoder.c b/src/libmpeg2/xine_mpeg2_decoder.c index 123374a08..b136ee861 100644 --- a/src/libmpeg2/xine_mpeg2_decoder.c +++ b/src/libmpeg2/xine_mpeg2_decoder.c @@ -20,6 +20,10 @@ * stuff needed to turn libmpeg2 into a xine decoder plugin */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <string.h> diff --git a/src/libmpeg2new/Makefile.am b/src/libmpeg2new/Makefile.am index 49959da86..8b05a5444 100644 --- a/src/libmpeg2new/Makefile.am +++ b/src/libmpeg2new/Makefile.am @@ -1,13 +1,18 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common -SUBDIRS = libmpeg2 +SUBDIRS = include libmpeg2 -xineplug_LTLIBRARIES = xineplug_decode_mpeg2.la +if ENABLE_MPEG2NEW +mpeg2new_module = xineplug_decode_mpeg2new.la +endif -xineplug_decode_mpeg2_la_SOURCES = \ - xine_mpeg2_decoder.c +xineplug_LTLIBRARIES = $(mpeg2new_module) -xineplug_decode_mpeg2_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBMPEG2_CFLAGS) -xineplug_decode_mpeg2_la_LIBADD = $(XINE_LIB) ./libmpeg2/libmpeg2.la -xineplug_decode_mpeg2_la_LDFLAGS = $(xineplug_ldflags) +xineplug_decode_mpeg2new_la_SOURCES = \ + xine_mpeg2new_decoder.c + +xineplug_decode_mpeg2new_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBMPEG2_CFLAGS) +xineplug_decode_mpeg2new_la_LIBADD = $(XINE_LIB) libmpeg2/libmpeg2.la +xineplug_decode_mpeg2new_la_LDFLAGS = $(xineplug_ldflags) diff --git a/src/libmpeg2new/include/Makefile.am b/src/libmpeg2new/include/Makefile.am index 302d01cb1..91d5575ee 100644 --- a/src/libmpeg2new/include/Makefile.am +++ b/src/libmpeg2new/include/Makefile.am @@ -1,3 +1,4 @@ -pkginclude_HEADERS = mpeg2.h mpeg2convert.h +include $(top_builddir)/misc/Makefile.plugins +include $(top_srcdir)/misc/Makefile.common -EXTRA_DIST = video_out.h mmx.h alpha_asm.h vis.h attributes.h tendra.h +EXTRA_DIST = video_out.h mmx.h alpha_asm.h vis.h attributes.h tendra.h mpeg2.h mpeg2convert.h diff --git a/src/libmpeg2new/include/attributes.h b/src/libmpeg2new/include/attributes.h index eefbc0dd1..92db86e7e 100644 --- a/src/libmpeg2new/include/attributes.h +++ b/src/libmpeg2new/include/attributes.h @@ -22,11 +22,7 @@ */ /* use gcc attribs to align critical data structures */ -#ifdef ATTRIBUTE_ALIGNED_MAX -#define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) -#else -#define ATTR_ALIGN(align) -#endif +#include "../../xine-utils/attributes.h" #ifdef HAVE_BUILTIN_EXPECT #define likely(x) __builtin_expect ((x) != 0, 1) diff --git a/src/libmpeg2new/libmpeg2/Makefile.am b/src/libmpeg2new/libmpeg2/Makefile.am index f99894f12..0bfeda1ce 100644 --- a/src/libmpeg2new/libmpeg2/Makefile.am +++ b/src/libmpeg2new/libmpeg2/Makefile.am @@ -1,13 +1,20 @@ include $(top_srcdir)/misc/Makefile.common -noinst_LTLIBRARIES = libmpeg2.la libmpeg2arch.la +if ENABLE_MPEG2NEW +mpeg2new_libs = libmpeg2.la libmpeg2arch.la +endif + +noinst_LTLIBRARIES = $(mpeg2new_libs) libmpeg2_la_SOURCES = alloc.c header.c decode.c slice.c motion_comp.c idct.c libmpeg2_la_LIBADD = libmpeg2arch.la +AM_CPPFLAGS = -I$(srcdir)/../include + libmpeg2arch_la_SOURCES = motion_comp_mmx.c idct_mmx.c \ motion_comp_altivec.c idct_altivec.c \ motion_comp_alpha.c idct_alpha.c \ motion_comp_vis.c \ cpu_accel.c cpu_state.c +EXTRA_DIST = mpeg2_internal.h vlc.h diff --git a/src/libmpeg2new/libmpeg2/motion_comp_alpha.c b/src/libmpeg2new/libmpeg2/motion_comp_alpha.c index 05cd55084..73f6625d2 100644 --- a/src/libmpeg2new/libmpeg2/motion_comp_alpha.c +++ b/src/libmpeg2new/libmpeg2/motion_comp_alpha.c @@ -26,10 +26,10 @@ #include <inttypes.h> -#include "mpeg2.h" -#include "attributes.h" +#include "../include/mpeg2.h" +#include "../include/attributes.h" #include "mpeg2_internal.h" -#include "alpha_asm.h" +#include "../include/alpha_asm.h" static inline uint64_t avg2 (uint64_t a, uint64_t b) { diff --git a/src/libmpeg2new/libmpeg2/motion_comp_altivec.c b/src/libmpeg2new/libmpeg2/motion_comp_altivec.c index 4356aa6e7..cc1b72f56 100644 --- a/src/libmpeg2new/libmpeg2/motion_comp_altivec.c +++ b/src/libmpeg2new/libmpeg2/motion_comp_altivec.c @@ -30,8 +30,8 @@ #endif #include <inttypes.h> -#include "mpeg2.h" -#include "attributes.h" +#include "../include/mpeg2.h" +#include "../include/attributes.h" #include "mpeg2_internal.h" typedef vector signed char vector_s8_t; diff --git a/src/libmpeg2new/libmpeg2/motion_comp_vis.c b/src/libmpeg2new/libmpeg2/motion_comp_vis.c index 54c0f7e75..e4b61aaa7 100644 --- a/src/libmpeg2new/libmpeg2/motion_comp_vis.c +++ b/src/libmpeg2new/libmpeg2/motion_comp_vis.c @@ -22,14 +22,14 @@ #include "config.h" -#ifdef ARCH_SPARC +#if defined(ARCH_SPARC) && defined(ENABLE_VIS) #include <inttypes.h> -#include "mpeg2.h" -#include "attributes.h" +#include "../include/mpeg2.h" +#include "../include/attributes.h" #include "mpeg2_internal.h" -#include "vis.h" +#include "../include/vis.h" /* The trick used in some of this file is the formula from the MMX * motion comp code, which is: @@ -2058,4 +2058,4 @@ static void MC_avg_xy_8_vis (uint8_t * dest, const uint8_t * _ref, MPEG2_MC_EXTERN(vis); -#endif /* !(ARCH_SPARC) */ +#endif /* defined(ARCH_SPARC) && defined(ENABLE_VIS) */ diff --git a/src/libmpeg2new/xine_mpeg2new_decoder.c b/src/libmpeg2new/xine_mpeg2new_decoder.c index c096ccfa7..8c16c441b 100644 --- a/src/libmpeg2new/xine_mpeg2new_decoder.c +++ b/src/libmpeg2new/xine_mpeg2new_decoder.c @@ -20,6 +20,10 @@ * stuff needed to turn libmpeg2 into a xine decoder plugin */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <string.h> @@ -35,13 +39,14 @@ #include "video_out.h" #include "buffer.h" - - +/* #define LOG #define LOG_FRAME_ALLOC_FREE #define LOG_ENTRY #define LOG_FRAME_COUNTER +*/ +#define _x_abort() do {} while (0) typedef struct { video_decoder_class_t decoder_class; @@ -66,7 +71,9 @@ typedef struct mpeg2_video_decoder_s { } mpeg2_video_decoder_t; - +#ifndef LOG_FRAME_ALLOC_FREE +inline static void mpeg2_video_print_bad_state(img_state_t * img_state) {} +#else static void mpeg2_video_print_bad_state(img_state_t * img_state) { int32_t n,m; m=0; @@ -79,6 +86,7 @@ static void mpeg2_video_print_bad_state(img_state_t * img_state) { if (m > 3) _x_abort(); if (m == 0) printf("NO FRAMES\n"); } +#endif static void mpeg2_video_free_all(img_state_t * img_state) { int32_t n,m; @@ -153,7 +161,7 @@ static void mpeg2_video_decode_data (video_decoder_t *this_gen, buf_element_t *b _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH, info->sequence->picture_width); _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT, info->sequence->picture_height); _x_stream_info_set(this->stream, XINE_STREAM_INFO_FRAME_DURATION, info->sequence->frame_period / 300); - if (this->force_aspect) info->sequence->pixel_width = this->force_aspect; + if (this->force_aspect) ((mpeg2_sequence_t *)info->sequence)->pixel_width = this->force_aspect; /* ugly... */ switch (info->sequence->pixel_width) { case 3: this->ratio = 16.0 / 9.0; @@ -503,14 +511,14 @@ static void *init_plugin (xine_t *xine, void *data) { * exported plugin catalog entry */ -static uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 }; +static const uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 }; -static decoder_info_t dec_info_mpeg2 = { +static const decoder_info_t dec_info_mpeg2 = { supported_types, /* supported types */ 6 /* priority */ }; -plugin_info_t xine_plugin_info[] = { +const plugin_info_t xine_plugin_info[] EXPORTED = { /* type, API, "name", version, special_info, init_function */ { PLUGIN_VIDEO_DECODER, 18, "mpeg2new", XINE_VERSION_CODE, &dec_info_mpeg2, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } diff --git a/src/libmusepack/Makefile.am b/src/libmusepack/Makefile.am index 01875bdad..11344c3c2 100644 --- a/src/libmusepack/Makefile.am +++ b/src/libmusepack/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common SUBDIRS = musepack diff --git a/src/libmusepack/xine_musepack_decoder.c b/src/libmusepack/xine_musepack_decoder.c index 115532e86..5977abd63 100644 --- a/src/libmusepack/xine_musepack_decoder.c +++ b/src/libmusepack/xine_musepack_decoder.c @@ -24,6 +24,10 @@ * Seeking?? */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -43,6 +47,8 @@ #ifdef HAVE_MPCDEC_MPCDEC_H # include <mpcdec/mpcdec.h> +#elif defined(HAVE_MPC_MPCDEC_H) +# include <mpc/mpcdec.h> #else # include "musepack/musepack.h" #endif @@ -74,7 +80,11 @@ typedef struct mpc_decoder_s { mpc_reader reader; mpc_streaminfo streaminfo; +#ifndef HAVE_MPC_MPCDEC_H mpc_decoder decoder; +#else + mpc_demux *decoder; +#endif int decoder_ok; unsigned int current_frame; @@ -89,8 +99,13 @@ typedef struct mpc_decoder_s { *************************************************************************/ /* Reads size bytes of data into buffer at ptr. */ +#ifndef HAVE_MPC_MPCDEC_H static int32_t mpc_reader_read(void *data, void *ptr, int size) { mpc_decoder_t *this = (mpc_decoder_t *) data; +#else +static int32_t mpc_reader_read(mpc_reader *data, void *ptr, int size) { + mpc_decoder_t *this = (mpc_decoder_t *) data->data; +#endif lprintf("mpc_reader_read: size=%d\n", size); @@ -108,8 +123,13 @@ static int32_t mpc_reader_read(void *data, void *ptr, int size) { } /* Seeks to byte position offset. */ +#ifndef HAVE_MPC_MPCDEC_H static mpc_bool_t mpc_reader_seek(void *data, int32_t offset) { mpc_decoder_t *this = (mpc_decoder_t *) data; +#else +static mpc_bool_t mpc_reader_seek(mpc_reader *data, int32_t offset) { + mpc_decoder_t *this = (mpc_decoder_t *) data->data; +#endif lprintf("mpc_reader_seek: offset=%d\n", offset); @@ -117,11 +137,19 @@ static mpc_bool_t mpc_reader_seek(void *data, int32_t offset) { * that the buffer starts at the start of the file */ this->read = offset; +#ifndef HAVE_MPC_MPCDEC_H return TRUE; +#else + return MPC_TRUE; +#endif } /* Returns the current byte offset in the stream. */ +#ifndef HAVE_MPC_MPCDEC_H static int32_t mpc_reader_tell(void *data) { +#else +static int32_t mpc_reader_tell(mpc_reader *data) { +#endif lprintf("mpc_reader_tell\n"); /* Tell isn't used so just return 0 */ @@ -129,8 +157,13 @@ static int32_t mpc_reader_tell(void *data) { } /* Returns the total length of the source stream, in bytes. */ +#ifndef HAVE_MPC_MPCDEC_H static int32_t mpc_reader_get_size(void *data) { mpc_decoder_t *this = (mpc_decoder_t *) data; +#else +static int32_t mpc_reader_get_size(mpc_reader *data) { + mpc_decoder_t *this = (mpc_decoder_t *) data->data; +#endif lprintf("mpc_reader_get_size\n"); @@ -138,10 +171,17 @@ static int32_t mpc_reader_get_size(void *data) { } /* True if the stream is a seekable stream. */ +#ifndef HAVE_MPC_MPCDEC_H static mpc_bool_t mpc_reader_canseek(void *data) { lprintf("mpc_reader_canseek\n"); return TRUE; +#else +static mpc_bool_t mpc_reader_canseek(mpc_reader *data) { + + lprintf("mpc_reader_canseek\n"); + return MPC_TRUE; +#endif } /* Convert 32bit float samples into 16bit int samples */ @@ -161,10 +201,19 @@ static inline void float_to_int(float *_f, int16_t *s16, int samples) { static int mpc_decode_frame (mpc_decoder_t *this) { float buffer[MPC_DECODER_BUFFER_LENGTH]; uint32_t frames; +#ifdef HAVE_MPC_MPCDEC_H + mpc_frame_info frame; +#endif lprintf("mpd_decode_frame\n"); +#ifndef HAVE_MPC_MPCDEC_H frames = mpc_decoder_decode(&this->decoder, buffer, 0, 0); +#else + frame.buffer = buffer; + mpc_demux_decode(this->decoder, &frame); + frames = frame.samples; +#endif if (frames > 0) { audio_buffer_t *audio_buffer; @@ -231,6 +280,16 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { xine_fast_memcpy(this->buf, buf->content, buf->size); this->size = buf->size; +#ifdef HAVE_MPC_MPCDEC_H + this->decoder = mpc_demux_init(&this->reader); + if (!this->decoder) { + xprintf(this->stream->xine, XINE_VERBOSITY_LOG, + _("libmusepack: mpc_demux_init failed.\n")); + _x_stream_info_set(this->stream, XINE_STREAM_INFO_AUDIO_HANDLED, 0); + return; + } + mpc_demux_get_info(this->decoder, &this->streaminfo); +#else /* Initialise and read stream info */ mpc_streaminfo_init(&this->streaminfo); @@ -241,6 +300,7 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { _x_stream_info_set(this->stream, XINE_STREAM_INFO_AUDIO_HANDLED, 0); return; } +#endif this->sample_rate = this->streaminfo.sample_freq; this->channels = this->streaminfo.channels; @@ -255,7 +315,9 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { this->current_frame = 0; /* Setup the decoder */ +#ifndef HAVE_MPC_MPCDEC_H mpc_decoder_setup(&this->decoder, &this->reader); +#endif this->decoder_ok = 0; /* Take this opportunity to initialize stream/meta information */ @@ -308,7 +370,11 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { /* Time to decode */ if (buf->decoder_flags & BUF_FLAG_FRAME_END) { /* Increment frame count */ +#ifndef HAVE_MPC_MPCDEC_H if (this->current_frame++ == this->streaminfo.frames) { +#else + if (this->current_frame++ == this->streaminfo.samples) { +#endif xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("libmusepack: data after last frame ignored\n")); return; @@ -319,7 +385,11 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { if ((this->size - this->read) >= MPC_DECODER_MEMSIZE) { lprintf("initialise"); +#ifndef HAVE_MPC_MPCDEC_H if (!mpc_decoder_initialize(&this->decoder, &this->streaminfo)) { +#else + if (!this->decoder) { +#endif xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("libmusepack: mpc_decoder_initialise failed\n")); @@ -350,7 +420,11 @@ static void mpc_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { /* If we are at the end of the stream we decode the remaining frames as we * know we'll have enough data */ +#ifndef HAVE_MPC_MPCDEC_H if (this->current_frame == this->streaminfo.frames) { +#else + if (this->current_frame == this->streaminfo.samples) { +#endif lprintf("flushing buffers\n"); do { @@ -388,6 +462,10 @@ static void mpc_dispose (audio_decoder_t *this_gen) { /* free anything that was allocated during operation */ if (this->buf) free(this->buf); +#ifdef HAVE_MPC_MPCDEC_H + if (this->decoder) + mpc_demux_exit(this->decoder); +#endif free(this); } diff --git a/src/libreal/Makefile.am b/src/libreal/Makefile.am index 6e76d6279..90e47a63c 100644 --- a/src/libreal/Makefile.am +++ b/src/libreal/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common if ENABLE_REAL diff --git a/src/libreal/xine_real_audio_decoder.c b/src/libreal/xine_real_audio_decoder.c index 20f67a984..4187477e1 100644 --- a/src/libreal/xine_real_audio_decoder.c +++ b/src/libreal/xine_real_audio_decoder.c @@ -22,6 +22,10 @@ * code inspired by work from Florian Schneider for the MPlayer Project */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <string.h> diff --git a/src/libreal/xine_real_video_decoder.c b/src/libreal/xine_real_video_decoder.c index 3c575d0a8..314edc489 100644 --- a/src/libreal/xine_real_video_decoder.c +++ b/src/libreal/xine_real_video_decoder.c @@ -22,6 +22,10 @@ * code inspired by work from Florian Schneider for the MPlayer Project */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <string.h> diff --git a/src/libspucc/Makefile.am b/src/libspucc/Makefile.am index a8af8632e..1e170cdd5 100644 --- a/src/libspucc/Makefile.am +++ b/src/libspucc/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xineplug_LTLIBRARIES = xineplug_decode_spucc.la diff --git a/src/libspucc/cc_decoder.c b/src/libspucc/cc_decoder.c index 67767c61a..98c7319b6 100644 --- a/src/libspucc/cc_decoder.c +++ b/src/libspucc/cc_decoder.c @@ -27,6 +27,10 @@ * available at http://sourceforge.net/projects/ccdecoder/. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libspucc/xine_cc_decoder.c b/src/libspucc/xine_cc_decoder.c index 1d9c87366..12a5e7132 100644 --- a/src/libspucc/xine_cc_decoder.c +++ b/src/libspucc/xine_cc_decoder.c @@ -20,6 +20,10 @@ * closed caption spu decoder. receive data by events. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <stdio.h> #include <string.h> diff --git a/src/libspucmml/Makefile.am b/src/libspucmml/Makefile.am index 81e8d3623..53a980b57 100644 --- a/src/libspucmml/Makefile.am +++ b/src/libspucmml/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xineplug_LTLIBRARIES = xineplug_decode_spucmml.la diff --git a/src/libspucmml/xine_cmml_decoder.c b/src/libspucmml/xine_cmml_decoder.c index c3da1b0fd..9cd446988 100644 --- a/src/libspucmml/xine_cmml_decoder.c +++ b/src/libspucmml/xine_cmml_decoder.c @@ -239,6 +239,7 @@ static void spudec_decode_data (spu_decoder_t *this_gen, buf_element_t *buf) { spucmml_decoder_t *this = (spucmml_decoder_t *) this_gen; + xml_parser_t *xml_parser; xml_node_t *packet_xml_root; char * anchor_text = NULL; @@ -248,12 +249,15 @@ static void spudec_decode_data (spu_decoder_t *this_gen, buf_element_t *buf) { /* parse the CMML */ - xml_parser_init (str, strlen (str), XML_PARSER_CASE_INSENSITIVE); - if (xml_parser_build_tree(&packet_xml_root) != XML_PARSER_OK) { + xml_parser = xml_parser_init_r (str, strlen (str), XML_PARSER_CASE_INSENSITIVE); + if (xml_parser_build_tree_r(xml_parser, &packet_xml_root) != XML_PARSER_OK) { lprintf ("warning: invalid XML packet detected in CMML track\n"); + xml_parser_finalize_r(xml_parser); return; } + xml_parser_finalize_r(xml_parser); + if (strcasecmp(packet_xml_root->name, "head") == 0) { /* found a <head>...</head> packet: need to parse the title */ diff --git a/src/libspudec/Makefile.am b/src/libspudec/Makefile.am index 208d994f5..061bd7731 100644 --- a/src/libspudec/Makefile.am +++ b/src/libspudec/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xineplug_LTLIBRARIES = xineplug_decode_spu.la @@ -7,7 +8,7 @@ if HAVE_DVDNAV xineplug_decode_spu_la_SOURCES = \ spu.c \ xine_spu_decoder.c -xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(DVDNAV_LIBS) $(PTHREAD_LIBS) +xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(DVDNAV_LIBS) $(PTHREAD_LIBS) $(LTLIBINTL) else @@ -16,7 +17,7 @@ xineplug_decode_spu_la_SOURCES = \ spu.c \ xine_spu_decoder.c AM_CPPFLAGS = -I$(top_srcdir)/src/input/libdvdnav -xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) +xineplug_decode_spu_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) endif diff --git a/src/libspudec/spu.c b/src/libspudec/spu.c index b41387dfb..e91cafbc1 100644 --- a/src/libspudec/spu.c +++ b/src/libspudec/spu.c @@ -37,6 +37,10 @@ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <errno.h> diff --git a/src/libspudec/spu.h b/src/libspudec/spu.h index 8d92146f0..464f77438 100644 --- a/src/libspudec/spu.h +++ b/src/libspudec/spu.h @@ -26,7 +26,7 @@ #define __SPU_H__ #ifdef HAVE_CONFIG_H -#include <config.h> +#include "config.h" #endif #include <inttypes.h> diff --git a/src/libspudec/xine_spu_decoder.c b/src/libspudec/xine_spu_decoder.c index 02bae6ac9..b6c06ca05 100644 --- a/src/libspudec/xine_spu_decoder.c +++ b/src/libspudec/xine_spu_decoder.c @@ -22,6 +22,10 @@ * stuff needed to turn libspu into a xine decoder plugin */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <unistd.h> #include <string.h> diff --git a/src/libspudvb/Makefile.am b/src/libspudvb/Makefile.am index 310c02f0b..8187346aa 100644 --- a/src/libspudvb/Makefile.am +++ b/src/libspudvb/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xineplug_LTLIBRARIES = xineplug_decode_spudvb.la diff --git a/src/libspudvb/xine_spudvb_decoder.c b/src/libspudvb/xine_spudvb_decoder.c index 1e33c48af..62dced2d5 100644 --- a/src/libspudvb/xine_spudvb_decoder.c +++ b/src/libspudvb/xine_spudvb_decoder.c @@ -146,7 +146,6 @@ static void update_region (dvb_spu_decoder_t * this, int region_id, int region_w dvbsub_func_t *dvbsub = this->dvbsub; region_t *reg = &dvbsub->regions[region_id]; - page_t *page = &dvbsub->page; /* reject invalid sizes and set some limits ! */ if ( region_width<=0 || region_height<=0 || region_width>SPU_MAX_WIDTH || region_height>SPU_MAX_HEIGHT ) { @@ -325,22 +324,27 @@ static void set_clut(dvb_spu_decoder_t *this,int CLUT_id,int CLUT_entry_id,int Y static void process_CLUT_definition_segment(dvb_spu_decoder_t *this) { dvbsub_func_t *dvbsub = this->dvbsub; - const uint16_t page_id= _X_BE_16(&dvbsub->buf[dvbsub->i]); + /* + const uint16_t page_id= _X_BE_16(&dvbsub->buf[dvbsub->i]); + */ dvbsub->i+=2; const uint16_t segment_length= _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i+=2; const int j=dvbsub->i+segment_length; const uint8_t CLUT_id=dvbsub->buf[dvbsub->i++]; - const uint8_t CLUT_version_number=(dvbsub->buf[dvbsub->i]&0xf0)>>4; + /* + const uint8_t CLUT_version_number=(dvbsub->buf[dvbsub->i]&0xf0)>>4; + */ dvbsub->i++; while (dvbsub->i < j) { const uint8_t CLUT_entry_id=dvbsub->buf[dvbsub->i++]; - - const uint8_t CLUT_flag_2_bit=(dvbsub->buf[dvbsub->i]&0x80)>>7; - const uint8_t CLUT_flag_4_bit=(dvbsub->buf[dvbsub->i]&0x40)>>6; - const uint8_t CLUT_flag_8_bit=(dvbsub->buf[dvbsub->i]&0x20)>>5; + /* + const uint8_t CLUT_flag_2_bit=(dvbsub->buf[dvbsub->i]&0x80)>>7; + const uint8_t CLUT_flag_4_bit=(dvbsub->buf[dvbsub->i]&0x40)>>6; + const uint8_t CLUT_flag_8_bit=(dvbsub->buf[dvbsub->i]&0x20)>>5; + */ const uint8_t full_range_flag=dvbsub->buf[dvbsub->i]&1; dvbsub->i++; @@ -453,13 +457,20 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) dvbsub->i += 2; const uint16_t region_height = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; - const uint8_t region_level_of_compatibility = (dvbsub->buf[dvbsub->i] & 0xe0) >> 5; - const uint8_t region_depth = (dvbsub->buf[dvbsub->i] & 0x1c) >> 2; + /* + const uint8_t region_level_of_compatibility = (dvbsub->buf[dvbsub->i] & 0xe0) >> 5; + const uint8_t region_depth = (dvbsub->buf[dvbsub->i] & 0x1c) >> 2; + */ dvbsub->i++; const uint8_t CLUT_id = dvbsub->buf[dvbsub->i++]; - const uint8_t region_8_bit_pixel_code = dvbsub->buf[dvbsub->i++]; + /* + const uint8_t region_8_bit_pixel_code = dvbsub->buf[dvbsub->i]; + */ + dvbsub->i++; const uint8_t region_4_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; - const uint8_t region_2_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; + /* + const uint8_t region_2_bit_pixel_code = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; + */ dvbsub->i++; if(region_id>=MAX_REGIONS) @@ -489,7 +500,9 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) const uint16_t object_id = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; const uint8_t object_type = (dvbsub->buf[dvbsub->i] & 0xc0) >> 6; - const uint8_t object_provider_flag = (dvbsub->buf[dvbsub->i] & 0x30) >> 4; + /* + const uint8_t object_provider_flag = (dvbsub->buf[dvbsub->i] & 0x30) >> 4; + */ const uint16_t object_x = ((dvbsub->buf[dvbsub->i] & 0x0f) << 8) | dvbsub->buf[dvbsub->i + 1]; dvbsub->i += 2; const uint16_t object_y = ((dvbsub->buf[dvbsub->i] & 0x0f) << 8) | dvbsub->buf[dvbsub->i + 1]; @@ -498,8 +511,11 @@ static void process_region_composition_segment (dvb_spu_decoder_t * this) dvbsub->regions[region_id].object_pos[object_id] = (object_x << 16) | object_y; if ((object_type == 0x01) || (object_type == 0x02)) { - const uint8_t foreground_pixel_code = dvbsub->buf[dvbsub->i++]; - const uint8_t background_pixel_code = dvbsub->buf[dvbsub->i++]; + /* + const uint8_t foreground_pixel_code = dvbsub->buf[dvbsub->i]; + const uint8_t background_pixel_code = dvbsub->buf[dvbsub->i+1]; + */ + dvbsub->i += 2; } } @@ -511,15 +527,19 @@ static void process_object_data_segment (dvb_spu_decoder_t * this) dvbsub->page.page_id = (dvbsub->buf[dvbsub->i] << 8) | dvbsub->buf[dvbsub->i + 1]; dvbsub->i += 2; - const uint16_t segment_length = _X_BE_16(&dvbsub->buf[dvbsub->i]); + /* + const uint16_t segment_length = _X_BE_16(&dvbsub->buf[dvbsub->i]); + */ dvbsub->i += 2; const uint16_t object_id = _X_BE_16(&dvbsub->buf[dvbsub->i]); dvbsub->i += 2; dvbsub->curr_obj = object_id; - const uint8_t object_version_number = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; const uint8_t object_coding_method = (dvbsub->buf[dvbsub->i] & 0x0c) >> 2; - const uint8_t non_modifying_colour_flag = (dvbsub->buf[dvbsub->i] & 0x02) >> 1; + /* + const uint8_t object_version_number = (dvbsub->buf[dvbsub->i] & 0xf0) >> 4; + const uint8_t non_modifying_colour_flag = (dvbsub->buf[dvbsub->i] & 0x02) >> 1; + */ dvbsub->i++; if ( object_coding_method != 0 ) @@ -765,8 +785,11 @@ static void spudec_decode_data (spu_decoder_t * this_gen, buf_element_t * buf) this->dvbsub->i = 0; - const uint8_t data_identifier = this->dvbsub->buf[this->dvbsub->i++]; - const uint8_t subtitle_stream_id = this->dvbsub->buf[this->dvbsub->i++]; + /* + const uint8_t data_identifier = this->dvbsub->buf[this->dvbsub->i]; + const uint8_t subtitle_stream_id = this->dvbsub->buf[this->dvbsub->i+1]; + */ + this->dvbsub->i += 2; while (this->dvbsub->i <= (PES_packet_length)) { /* SUBTITLING SEGMENT */ diff --git a/src/libspuhdmv/Makefile.am b/src/libspuhdmv/Makefile.am new file mode 100644 index 000000000..15a029f8a --- /dev/null +++ b/src/libspuhdmv/Makefile.am @@ -0,0 +1,9 @@ +include $(top_builddir)/misc/Makefile.plugins +include $(top_srcdir)/misc/Makefile.common + +xineplug_LTLIBRARIES = xineplug_decode_spuhdmv.la + +xineplug_decode_spuhdmv_la_SOURCES = xine_hdmv_decoder.c +xineplug_decode_spuhdmv_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) +xineplug_decode_spuhdmv_la_CFLAGS = $(VISIBILITY_FLAG) +xineplug_decode_spuhdmv_la_LDFLAGS = $(xineplug_ldflags) diff --git a/src/libspuhdmv/xine_hdmv_decoder.c b/src/libspuhdmv/xine_hdmv_decoder.c new file mode 100644 index 000000000..ba4487bf6 --- /dev/null +++ b/src/libspuhdmv/xine_hdmv_decoder.c @@ -0,0 +1,1019 @@ +/* + * Copyright (C) 2000-2009 the xine project + * + * Copyright (C) 2009 Petri Hintukainen <phintuka@users.sourceforge.net> + * + * This file is part of xine, a unix video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine 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 General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * + * Decoder for HDMV/BluRay bitmap subtitles + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <inttypes.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> + +#ifdef HAVE_CONFIG_H +# include "xine_internal.h" +# include "buffer.h" +# include "xineutils.h" +# include "video_out.h" +# include "video_overlay.h" +#else +# include <xine/xine_internal.h> +# include <xine/buffer.h> +# include <xine/xineutils.h> +# include <xine/video_out.h> +# include <xine/video_overlay.h> +#endif + +#define TRACE(x...) printf(x) +/*#define TRACE(x...) */ +#define ERROR(x...) fprintf(stderr, "spuhdmv: " x) +/*#define ERROR(x...) lprintf(x) */ + +/* + * cached palette (xine-lib format) + */ +typedef struct subtitle_clut_s subtitle_clut_t; +struct subtitle_clut_s { + uint8_t id; + uint32_t color[256]; + uint8_t trans[256]; + subtitle_clut_t *next; + + int shown; +}; + +/* + * cached RLE image (xine-lib format) + */ +typedef struct subtitle_object_s subtitle_object_t; +struct subtitle_object_s { + uint16_t id; + uint16_t xpos, ypos; + uint16_t width, height; + + rle_elem_t *rle; + uint num_rle; + size_t data_size; + +#if 0 + uint8_t *raw_data; /* partial RLE data in HDMV format */ + size_t raw_data_len; + size_t raw_data_size; +#endif + + subtitle_object_t *next; + + int shown; +}; + +/* + * Window definition + */ +typedef struct window_def_s window_def_t; +struct window_def_s { + uint8_t id; + uint16_t xpos, ypos; + uint16_t width, height; + + window_def_t *next; + + int shown; +}; + + +/* + * decoded SPU + */ +typedef struct composition_object_s composition_object_t; +struct composition_object_s { + uint8_t window_id_ref; + uint8_t object_id_ref; + + uint16_t xpos, ypos; + + uint8_t forced_flag; + uint8_t cropped_flag; + uint16_t crop_horiz_pos, crop_vert_pos; + uint16_t crop_width, crop_height; + + composition_object_t *next; + + int shown; +}; + +typedef struct composition_descriptor_s composition_descriptor_t; +struct composition_descriptor_s { + uint16_t number; + uint8_t state; +}; + +typedef struct presentation_segment_s presentation_segment_t; +struct presentation_segment_s { + composition_descriptor_t comp_descr; + + uint8_t palette_update_flag; + uint8_t palette_id_ref; + uint8_t object_number; + + composition_object_t *comp_objs; + + presentation_segment_t *next; + + int64_t pts; + int shown; +}; + +/* + * list handling + */ + +#define LIST_REPLACE(list, obj, FREE_FUNC) \ + do { \ + uint id = obj->id; \ + \ + /* insert to list */ \ + obj->next = list; \ + list = obj; \ + \ + /* remove old */ \ + while (obj->next && obj->next->id != id) \ + obj = obj->next; \ + if (obj->next) { \ + void *tmp = (void*)obj->next; \ + obj->next = obj->next->next; \ + FREE_FUNC(tmp); \ + } \ + } while (0); + +#define LIST_DESTROY(list, FREE_FUNC) \ + while (list) { \ + void *tmp = (void*)list; \ + list = list->next; \ + FREE_FUNC(tmp); \ + } + +static void free_subtitle_object(void *ptr) +{ + if (ptr) { + free(((subtitle_object_t*)ptr)->rle); + free(ptr); + } +} +static void free_presentation_segment(void *ptr) +{ + if (ptr) { + presentation_segment_t *seg = (presentation_segment_t*)ptr; + LIST_DESTROY(seg->comp_objs, free); + free(ptr); + } +} + + +/* + * segment_buffer_t + * + * assemble and decode segments + */ + +typedef struct { + /* current segment */ + int segment_len; /* length of current segment (without 3-byte header) */ + uint8_t segment_type; /* current segment type */ + uint8_t *segment_data; /* pointer to current segment payload */ + uint8_t *segment_end; /* pointer to last byte + 1 of current segment */ + uint8_t error; /* boolean: buffer overflow etc. */ + + /* accumulated data */ + uint8_t *buf; /* */ + size_t len; /* count of unprocessed bytes */ + size_t data_size; /* allocated buffer size */ +} segment_buffer_t; + +/* + * mgmt + */ + +static segment_buffer_t *segbuf_init(void) +{ + segment_buffer_t *buf = calloc(1, sizeof(segment_buffer_t)); + return buf; +} + +static void segbuf_dispose(segment_buffer_t *buf) +{ + if (buf->buf) + free (buf->buf); + free (buf); +} + +static void segbuf_reset(segment_buffer_t *buf) +{ + buf->segment_end = buf->segment_data = buf->buf; + buf->len = 0; + buf->segment_len = -1; + buf->segment_type = 0; + buf->error = 0; +} + +/* + * assemble, parse + */ + +static void segbuf_parse_segment_header(segment_buffer_t *buf) +{ + if (buf->len > 2) { + buf->segment_type = buf->buf[0]; + buf->segment_len = (buf->buf[1] << 8) | buf->buf[2]; + buf->segment_data = buf->buf + 3; + buf->segment_end = buf->segment_data + buf->segment_len; + buf->error = 0; + + if ( buf->segment_type < 0x14 || + ( buf->segment_type > 0x18 && + buf->segment_type != 0x80)) { + ERROR("unknown segment type, resetting\n"); + segbuf_reset(buf); + } + } else { + buf->segment_len = -1; + buf->error = 1; + } +} + +static void segbuf_fill(segment_buffer_t *buf, uint8_t *data, size_t len) +{ + if (buf->len + len > buf->data_size) { + buf->data_size = buf->len + len; + if (buf->buf) + buf->buf = realloc(buf->buf, buf->data_size); + else + buf->buf = malloc(buf->data_size); + } + + memcpy(buf->buf + buf->len, data, len); + buf->len += len; + + segbuf_parse_segment_header(buf); +} + +static int segbuf_segment_complete(segment_buffer_t *buf) +{ + return (buf->segment_len >= 0) && (buf->len >= buf->segment_len + 3); +} + +static void segbuf_skip_segment(segment_buffer_t *buf) +{ + if (segbuf_segment_complete (buf)) { + buf->len -= buf->segment_len + 3; + if (buf->len > 0) + memmove(buf->buf, buf->buf + buf->segment_len + 3, buf->len); + + segbuf_parse_segment_header(buf); + + TRACE(" skip_segment: %d bytes left\n", (uint)buf->len); + } else { + ERROR(" skip_segment: ERROR - %d bytes queued, %d required\n", + (uint)buf->len, buf->segment_len); + segbuf_reset (buf); + } +} + +/* + * access segment data + */ + +static uint8_t segbuf_segment_type(segment_buffer_t *buf) +{ + return buf->segment_type; +} + +static size_t segbuf_data_length(segment_buffer_t *buf) +{ + ssize_t val = buf->segment_end - buf->segment_data; + if (val < 0) val = 0; + return (size_t)val; +} + +static uint8_t segbuf_get_u8(segment_buffer_t *buf) +{ + if (!(buf->error = ++buf->segment_data > buf->segment_end)) + return buf->segment_data[-1]; + ERROR("segbuf_get_u8: read failed (end of segment reached) !"); + return 0; +} + +static uint16_t segbuf_get_u16(segment_buffer_t *buf) +{ + return (segbuf_get_u8(buf) << 8) | segbuf_get_u8(buf); +} + +static uint32_t segbuf_get_u24(segment_buffer_t *buf) +{ + return (segbuf_get_u8(buf) << 16) | (segbuf_get_u8(buf) << 8) | segbuf_get_u8(buf); +} + +static uint8_t *segbuf_get_string(segment_buffer_t *buf, size_t len) +{ + if (len > 0) { + uint8_t *val = buf->segment_data; + buf->segment_data += len; + if (buf->segment_data <= buf->segment_end) + return val; + } + ERROR("segbuf_get_string(%d): read failed (end of segment reached) !", (int)len); + buf->error = 1; + return NULL; +} + +/* + * decode segments + */ + +static subtitle_clut_t *segbuf_decode_palette(segment_buffer_t *buf) +{ + uint8_t palette_id = segbuf_get_u8 (buf); + uint8_t palette_version_number = segbuf_get_u8 (buf); + + size_t len = segbuf_data_length(buf); + size_t entries = len / 5; + int i; + + if (buf->error) + return NULL; + + if (len % 5) { + ERROR(" decode_palette: segment size error (%d ; expected %d for %d entries)\n", + (uint)len, (uint)(5 * entries), (uint)entries); + return NULL; + } + TRACE("decode_palette: %d items (id %d, version %d)\n", + (uint)entries, palette_id, palette_version_number); + + /* convert to xine-lib clut */ + subtitle_clut_t *clut = calloc(1, sizeof(subtitle_clut_t)); + clut->id = palette_id; + + for (i = 0; i < entries; i++) { + uint8_t index = segbuf_get_u8 (buf); + uint8_t Y = segbuf_get_u8 (buf); + uint8_t Cr = segbuf_get_u8 (buf); + uint8_t Cb = segbuf_get_u8 (buf); + uint8_t alpha = segbuf_get_u8 (buf); + clut->color[index] = (Y << 16) | (Cr << 8) | Cb; + clut->trans[index] = alpha >> 4; + } + + return clut; +} + +static int segbuf_decode_rle(segment_buffer_t *buf, subtitle_object_t *obj) +{ + int x = 0, y = 0; + int rle_size = sizeof(rle_elem_t) * obj->width / 16 * obj->height + 1; + rle_elem_t *rlep = malloc(rle_size); + + free (obj->rle); + obj->rle = rlep; + obj->data_size = rle_size; + obj->num_rle = 0; + + /* convert to xine-lib rle format */ + while (y < obj->height && !buf->error) { + + /* decode RLE element */ + uint8_t byte = segbuf_get_u8 (buf); + if (byte != 0) { + rlep->color = byte; + rlep->len = 1; + } else { + byte = segbuf_get_u8 (buf); + if (!(byte & 0x80)) { + rlep->color = 0; + if (!(byte & 0x40)) + rlep->len = byte & 0x3f; + else + rlep->len = ((byte & 0x3f) << 8) | segbuf_get_u8 (buf); + } else { + if (!(byte & 0x40)) + rlep->len = byte & 0x3f; + else + rlep->len = ((byte & 0x3f) << 8) | segbuf_get_u8 (buf); + rlep->color = segbuf_get_u8 (buf); + } + } + + /* move to next element */ + if (rlep->len > 0) { + x += rlep->len; + rlep++; + obj->num_rle ++; + } else { + /* end of line marker (00 00) */ + if (x < obj->width) { + rlep->len = obj->width - x; + rlep->color = 0xff; + rlep++; + obj->num_rle ++; + } + x = 0; + y++; + } + + /* grow allocated RLE data size ? */ + if (obj->data_size <= (obj->num_rle + 1) * sizeof(rle_elem_t)) { + obj->data_size *= 2; + obj->rle = realloc(obj->rle, obj->data_size); + rlep = obj->rle + obj->num_rle; + } + } + + return buf->error; +} + +static subtitle_object_t *segbuf_decode_object(segment_buffer_t *buf) +{ + uint8_t object_id = segbuf_get_u16(buf); + uint8_t version = segbuf_get_u8 (buf); + uint8_t seq_desc = segbuf_get_u8 (buf); + + TRACE(" decode_object: object_id %d, version %d, seq 0x%x\n", + object_id, version, seq_desc); + + //LIST_FIND(); + subtitle_object_t *obj = calloc(1, sizeof(subtitle_object_t)); + obj->id = object_id; + + if (seq_desc & 0x80) { + + uint32_t data_len = segbuf_get_u24(buf); + obj->width = segbuf_get_u16(buf); + obj->height = segbuf_get_u16(buf); + + TRACE(" object length %d bytes, size %dx%d\n", data_len, obj->width, obj->height); + + segbuf_decode_rle (buf, obj); + + if (buf->error) { + free_subtitle_object(obj); + return NULL; + } + + } else { + ERROR(" TODO: APPEND RLE, length %d bytes\n", buf->segment_len - 4); + /* TODO */ + free_subtitle_object(obj); + return NULL; + } + + return obj; +} + +static window_def_t *segbuf_decode_window_definition(segment_buffer_t *buf) +{ + window_def_t *wnd = calloc(1, sizeof(window_def_t)); + + uint8_t a = segbuf_get_u8 (buf); + wnd->id = segbuf_get_u8 (buf); + wnd->xpos = segbuf_get_u16 (buf); + wnd->ypos = segbuf_get_u16 (buf); + wnd->width = segbuf_get_u16 (buf); + wnd->height = segbuf_get_u16 (buf); + + TRACE(" window: [%02x %d] %d,%d %dx%d\n", a, + wnd->id, wnd->xpos, wnd->ypos, wnd->width, wnd->height); + + if (buf->error) { + free(wnd); + return NULL; + } + + return wnd; +} + +static int segbuf_decode_video_descriptor(segment_buffer_t *buf) +{ + uint16_t width = segbuf_get_u16(buf); + uint16_t height = segbuf_get_u16(buf); + uint8_t frame_rate = segbuf_get_u8 (buf); + + TRACE(" video_descriptor: %dx%d fps %d\n", width, height, frame_rate); + return buf->error; +} + +static int segbuf_decode_composition_descriptor(segment_buffer_t *buf, composition_descriptor_t *descr) +{ + descr->number = segbuf_get_u16(buf); + descr->state = segbuf_get_u8 (buf); + + TRACE(" composition_descriptor: number %d, state %d\n", descr->number, descr->state); + return buf->error; +} + +static composition_object_t *segbuf_decode_composition_object(segment_buffer_t *buf) +{ + composition_object_t *cobj = calloc(1, sizeof(composition_object_t)); + + cobj->object_id_ref = segbuf_get_u16 (buf); + cobj->window_id_ref = segbuf_get_u8 (buf); + uint8_t tmp = segbuf_get_u8 (buf); + cobj->cropped_flag = !!(tmp & 0x80); + cobj->forced_flag = !!(tmp & 0x40); + cobj->xpos = segbuf_get_u16 (buf); + cobj->ypos = segbuf_get_u16 (buf); + if (cobj->cropped_flag) { + /* x,y where to take the image from */ + cobj->crop_horiz_pos = segbuf_get_u8 (buf); + cobj->crop_vert_pos = segbuf_get_u8 (buf); + /* size of the cropped image */ + cobj->crop_width = segbuf_get_u8 (buf); + cobj->crop_height = segbuf_get_u8 (buf); + } + + if (buf->error) { + free(cobj); + return NULL; + } + + TRACE(" composition_object: id: %d, win: %d, position %d,%d crop %d forced %d\n", + cobj->object_id_ref, cobj->window_id_ref, cobj->xpos, cobj->ypos, + cobj->cropped_flag, cobj->forced_flag); + + return cobj; +} + +static presentation_segment_t *segbuf_decode_presentation_segment(segment_buffer_t *buf) +{ + presentation_segment_t *seg = calloc(1, sizeof(presentation_segment_t)); + int index; + + segbuf_decode_video_descriptor (buf); + segbuf_decode_composition_descriptor (buf, &seg->comp_descr); + + seg->palette_update_flag = !!((segbuf_get_u8(buf)) & 0x80); + seg->palette_id_ref = segbuf_get_u8 (buf); + seg->object_number = segbuf_get_u8 (buf); + + TRACE(" presentation_segment: object_number %d, palette %d\n", + seg->object_number, seg->palette_id_ref); + + for (index = 0; index < seg->object_number; index++) { + composition_object_t *cobj = segbuf_decode_composition_object (buf); + cobj->next = seg->comp_objs; + seg->comp_objs = cobj; + } + + if (buf->error) { + free_presentation_segment(seg); + return NULL; + } + + return seg; +} + +static rle_elem_t *copy_crop_rle(subtitle_object_t *obj, composition_object_t *cobj) +{ + /* TODO: cropping (w,h sized image from pos x,y) */ + + rle_elem_t *rle = calloc (obj->num_rle, sizeof(rle_elem_t)); + memcpy (rle, obj->rle, obj->num_rle * sizeof(rle_elem_t)); + return rle; +} + + +/* + * xine plugin + */ + +typedef struct { + spu_decoder_class_t decoder_class; +} spuhdmv_class_t; + +typedef struct spuhdmv_decoder_s { + spu_decoder_t spu_decoder; + + spuhdmv_class_t *class; + xine_stream_t *stream; + + segment_buffer_t *buf; + + subtitle_clut_t *cluts; + subtitle_object_t *objects; + window_def_t *windows; + presentation_segment_t *segments; + + int overlay_handles[MAX_OBJECTS]; + + int64_t pts; + +} spuhdmv_decoder_t; + +static int decode_palette(spuhdmv_decoder_t *this) +{ + /* decode */ + subtitle_clut_t *clut = segbuf_decode_palette(this->buf); + if (!clut) + return 1; + + LIST_REPLACE (this->cluts, clut, free); + + return 0; +} + +static int decode_object(spuhdmv_decoder_t *this) +{ + /* decode */ + subtitle_object_t *obj = segbuf_decode_object(this->buf); + if (!obj) + return 1; + + LIST_REPLACE (this->objects, obj, free_subtitle_object); + + return 0; +} + +static int decode_window_definition(spuhdmv_decoder_t *this) +{ + /* decode */ + window_def_t *wnd = segbuf_decode_window_definition (this->buf); + if (!wnd) + return 1; + + LIST_REPLACE (this->windows, wnd, free); + + return 0; +} + +static int decode_presentation_segment(spuhdmv_decoder_t *this) +{ + /* decode */ + presentation_segment_t *seg = segbuf_decode_presentation_segment(this->buf); + if (!seg) + return 1; + + seg->pts = this->pts; + + /* replace */ + if (this->segments) + LIST_DESTROY(this->segments, free_presentation_segment); + this->segments = seg; + + return 0; +} + +static int show_overlay(spuhdmv_decoder_t *this, composition_object_t *cobj, uint palette_id_ref, + int overlay_index, int64_t pts, int force_update) +{ + video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out); + metronom_t *metronom = this->stream->metronom; + video_overlay_event_t event = {0}; + vo_overlay_t overlay = {0}; + + /* find palette */ + subtitle_clut_t *clut = this->cluts; + while (clut && clut->id != palette_id_ref) + clut = clut->next; + if (!clut) { + TRACE(" show_overlay: clut %d not found !\n", palette_id_ref); + return -1; + } + + /* find RLE image */ + subtitle_object_t *obj = this->objects; + while (obj && obj->id != cobj->object_id_ref) + obj = obj->next; + if (!obj) { + TRACE(" show_overlay: object %d not found !\n", cobj->object_id_ref); + return -1; + } + + /* find window */ + window_def_t *wnd = this->windows; + while (wnd && wnd->id != cobj->window_id_ref) + wnd = wnd->next; + if (!wnd) { + TRACE(" show_overlay: window %d not found !\n", cobj->window_id_ref); + return -1; + } + + /* do not show again if all elements are unchanged */ + if (!force_update && clut->shown && obj->shown && wnd->shown && cobj->shown) + return 0; + clut->shown = obj->shown = wnd->shown = cobj->shown = 1; + + /* copy palette to xine overlay */ + overlay.rgb_clut = 0; + memcpy(overlay.color, clut->color, sizeof(uint32_t) * 256); + memcpy(overlay.trans, clut->trans, sizeof(uint8_t) * 256); + + /* copy and crop RLE image to xine overlay */ + overlay.width = obj->width; + overlay.height = obj->height; + + overlay.rle = copy_crop_rle (obj, cobj); + overlay.num_rle = obj->num_rle; + overlay.data_size = obj->num_rle * sizeof(rle_elem_t); + + /* */ + + overlay.x = /*wnd->xpos +*/ cobj->xpos; + overlay.y = /*wnd->ypos +*/ cobj->ypos; + + overlay.unscaled = 0; + overlay.hili_top = -1; + overlay.hili_bottom = -1; + overlay.hili_left = -1; + overlay.hili_right = -1; + + TRACE(" -> overlay: %d,%d %dx%d\n", + overlay.x, overlay.y, overlay.width, overlay.height); + + + /* set timings */ + + if (pts > 0) + event.vpts = metronom->got_spu_packet (metronom, pts); + else + event.vpts = 0; + + + /* generate SHOW event */ + + this->stream->video_out->enable_ovl(this->stream->video_out, 1); + + if (this->overlay_handles[overlay_index] < 0) + this->overlay_handles[overlay_index] = ovl_manager->get_handle(ovl_manager, 0); + + event.event_type = OVERLAY_EVENT_SHOW; + event.object.handle = this->overlay_handles[overlay_index]; + event.object.overlay = &overlay; + event.object.object_type = 0; /* subtitle */ + + ovl_manager->add_event (ovl_manager, (void *)&event); + + return 0; +} + +static void hide_overlays(spuhdmv_decoder_t *this, int64_t pts) +{ + video_overlay_event_t event = {0}; + int i = 0; + + while (this->overlay_handles[i] >= 0) { + TRACE(" -> HIDE %d\n", i); + + video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out); + metronom_t *metronom = this->stream->metronom; + + event.object.handle = this->overlay_handles[i]; + if (this) + event.vpts = metronom->got_spu_packet (metronom, pts); + else + event.vpts = 0; + event.event_type = OVERLAY_EVENT_HIDE; + event.object.overlay = NULL; + ovl_manager->add_event (ovl_manager, (void *)&event); + + //this->overlay_handles[i] = -1; + i++; + } +} + +static void update_overlays(spuhdmv_decoder_t *this) +{ + presentation_segment_t *pseg = this->segments; + + while (pseg) { + + if (!pseg->comp_descr.state) { + + /* HIDE */ + if (!pseg->shown) + hide_overlays (this, pseg->pts); + + } else { + + /* SHOW */ + composition_object_t *cobj = pseg->comp_objs; + int i; + + for (i = 0; i < pseg->object_number; i++) { + if (!cobj) { + ERROR("show_overlays: composition object %d missing !\n", i); + } else { + show_overlay(this, cobj, pseg->palette_id_ref, i, pseg->pts, !pseg->shown); + cobj = cobj->next; + } + } + } + + pseg->shown = 1; + + pseg = pseg->next; + } +} + +static void free_objs(spuhdmv_decoder_t *this) +{ + LIST_DESTROY (this->cluts, free); + LIST_DESTROY (this->objects, free_subtitle_object); + LIST_DESTROY (this->windows, free); + LIST_DESTROY (this->segments, free_presentation_segment); +} + +static void decode_segment(spuhdmv_decoder_t *this) +{ + TRACE("*** new segment, pts %010ld: 0x%02x (%8d bytes)", + this->pts, (uint)this->buf->segment_type, (uint)this->buf->segment_len); + + switch (this->buf->segment_type) { + case 0x14: + TRACE(" segment: PALETTE\n"); + decode_palette(this); + break; + case 0x15: + TRACE(" segment: OBJECT\n"); + decode_object(this); + break; + case 0x16: + TRACE(" segment: PRESENTATION SEGMENT\n"); + decode_presentation_segment(this); + break; + case 0x17: + TRACE(" segment: WINDOW DEFINITION\n"); + decode_window_definition(this); + break; + case 0x18: + TRACE(" segment: INTERACTIVE\n"); + break; + case 0x80: + TRACE(" segment: END OF DISPLAY\n"); + /* drop all cached objects */ + free_objs(this); + break; + default: + ERROR(" segment type 0x%x unknown, skipping\n", this->buf->segment_type); + break; + } + if (this->buf->error) { + ERROR("*** DECODE ERROR ***\n"); + } + + update_overlays (this); +} + +static void close_osd(spuhdmv_decoder_t *this) +{ + video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager (this->stream->video_out); + + int i = 0; + while (this->overlay_handles[i] >= 0) { + ovl_manager->free_handle(ovl_manager, this->overlay_handles[i]); + this->overlay_handles[i] = -1; + i++; + } +} + +static void spudec_decode_data (spu_decoder_t * this_gen, buf_element_t * buf) +{ + spuhdmv_decoder_t *this = (spuhdmv_decoder_t *) this_gen; + + if ((buf->type & 0xffff0000) != BUF_SPU_HDMV) + return; + + if (buf->size < 1) + return; + + if (buf->pts) + this->pts = buf->pts; + +#ifdef DUMP_SPU_DATA + int i; + for(i = 0; i < buf->size; i++) + printf(" %02x", buf->content[i]); + printf("\n"); +#endif + + segbuf_fill(this->buf, buf->content, buf->size); + + while (segbuf_segment_complete(this->buf)) { + decode_segment(this); + segbuf_skip_segment(this->buf); + } +} + +static void spudec_reset (spu_decoder_t * this_gen) +{ + spuhdmv_decoder_t *this = (spuhdmv_decoder_t *) this_gen; + + if (this->buf) + segbuf_reset(this->buf); + + free_objs(this); + + close_osd(this); +} + +static void spudec_discontinuity (spu_decoder_t *this_gen) +{ + spuhdmv_decoder_t *this = (spuhdmv_decoder_t *) this_gen; + + close_osd(this); +} + +static void spudec_dispose (spu_decoder_t *this_gen) +{ + spuhdmv_decoder_t *this = (spuhdmv_decoder_t *) this_gen; + + close_osd (this); + segbuf_dispose (this->buf); + + free_objs(this); + + free (this); +} + +static spu_decoder_t *open_plugin (spu_decoder_class_t *class_gen, xine_stream_t *stream) +{ + spuhdmv_decoder_t *this; + + this = (spuhdmv_decoder_t *) calloc(1, sizeof (spuhdmv_decoder_t)); + + this->spu_decoder.decode_data = spudec_decode_data; + this->spu_decoder.reset = spudec_reset; + this->spu_decoder.discontinuity = spudec_discontinuity; + this->spu_decoder.dispose = spudec_dispose; + this->spu_decoder.get_interact_info = NULL; + this->spu_decoder.set_button = NULL; + this->stream = stream; + this->class = (spuhdmv_class_t *) class_gen; + + this->buf = segbuf_init(); + + memset(this->overlay_handles, 0xff, sizeof(this->overlay_handles)); /* --> -1 */ + + return &this->spu_decoder; +} + +static char *get_identifier (spu_decoder_class_t *this) +{ + return "spuhdmv"; +} + +static char *get_description (spu_decoder_class_t *this) +{ + return "HDMV/BluRay bitmap SPU decoder plugin"; +} + +static void dispose_class (spu_decoder_class_t *this) +{ + free (this); +} + +static void *init_plugin (xine_t *xine, void *data) +{ + spuhdmv_class_t *this; + + this = calloc(1, sizeof (spuhdmv_class_t)); + + this->decoder_class.open_plugin = open_plugin; + this->decoder_class.get_identifier = get_identifier; + this->decoder_class.get_description = get_description; + this->decoder_class.dispose = dispose_class; + + return this; +} + +/* plugin catalog information */ +static uint32_t supported_types[] = { BUF_SPU_HDMV, 0 }; + +static const decoder_info_t dec_info_data = { + supported_types, /* supported types */ + 5 /* priority */ +}; + +const plugin_info_t xine_plugin_info[] EXPORTED = { + /* type, API, "name", version, special_info, init_function */ + { PLUGIN_SPU_DECODER, 16, "spuhdmv", XINE_VERSION_CODE, &dec_info_data, &init_plugin }, + { PLUGIN_NONE, 0, "", 0, NULL, NULL } +}; diff --git a/src/libsputext/Makefile.am b/src/libsputext/Makefile.am index 4f03d7fa9..62258933d 100644 --- a/src/libsputext/Makefile.am +++ b/src/libsputext/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_LDFLAGS = $(xineplug_ldflags) diff --git a/src/libsputext/demux_sputext.c b/src/libsputext/demux_sputext.c index 3e9efb079..198c30498 100644 --- a/src/libsputext/demux_sputext.c +++ b/src/libsputext/demux_sputext.c @@ -147,7 +147,7 @@ static inline void trail_space(char *s) { static char *read_line_from_input(demux_sputext_t *this, char *line, off_t len) { off_t nread = 0; - if ((len - this->buflen) > 512) { + if ((len - this->buflen) > 512 && len < SUB_BUFSIZE) { if((nread = this->input->read(this->input, &this->buf[this->buflen], len - this->buflen)) < 0) { xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "read failed.\n"); diff --git a/src/libsputext/xine_sputext_decoder.c b/src/libsputext/xine_sputext_decoder.c index 5da948f4e..7d5e73ce9 100644 --- a/src/libsputext/xine_sputext_decoder.c +++ b/src/libsputext/xine_sputext_decoder.c @@ -18,6 +18,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <stdio.h> #include <unistd.h> diff --git a/src/libw32dll/Makefile.am b/src/libw32dll/Makefile.am index e7f655888..5036851a3 100644 --- a/src/libw32dll/Makefile.am +++ b/src/libw32dll/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CFLAGS = -I$(srcdir)/wine -DWIN32_PATH=\"@w32_path@\" $(VISIBILITY_FLAG) diff --git a/src/libw32dll/w32codec.c b/src/libw32dll/w32codec.c index 64d29aeac..e61ebcb82 100644 --- a/src/libw32dll/w32codec.c +++ b/src/libw32dll/w32codec.c @@ -21,6 +21,10 @@ * DirectShow support by Miguel Freitas (Nov/2001) * DMO support (Dez/2002) */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include <stdlib.h> #include <stdio.h> diff --git a/src/libw32dll/wine/driver.c b/src/libw32dll/wine/driver.c index ef8761628..296fcd25a 100644 --- a/src/libw32dll/wine/driver.c +++ b/src/libw32dll/wine/driver.c @@ -1,4 +1,4 @@ -#include <config.h> +#include "config.h" #include <stdio.h> #ifdef HAVE_MALLOC_H #include <malloc.h> diff --git a/src/libw32dll/wine/elfdll.c b/src/libw32dll/wine/elfdll.c index 7853ffe71..e81467b5a 100644 --- a/src/libw32dll/wine/elfdll.c +++ b/src/libw32dll/wine/elfdll.c @@ -3,7 +3,7 @@ * * Copyright 1999 Bertho A. Stultiens */ -#include <config.h> +#include "config.h" #ifdef HAVE_LIBDL diff --git a/src/libw32dll/wine/pe_image.c b/src/libw32dll/wine/pe_image.c index c99bbaed0..1366cc396 100644 --- a/src/libw32dll/wine/pe_image.c +++ b/src/libw32dll/wine/pe_image.c @@ -900,7 +900,7 @@ void PE_UnloadLibrary(WINE_MODREF *wm) */ static void extend_stack_for_dll_alloca(void) { -#ifndef __FreeBSD__ +#if !defined(__FreeBSD__) && !defined(__OpenBSD__) void* mem=alloca(0x20000); *(int*)mem=0x1234; #endif diff --git a/src/libw32dll/wine/pe_resource.c b/src/libw32dll/wine/pe_resource.c index 6acfef2f0..16dc85389 100644 --- a/src/libw32dll/wine/pe_resource.c +++ b/src/libw32dll/wine/pe_resource.c @@ -9,7 +9,7 @@ * Copyright 1995 Alexandre Julliard * Copyright 1997 Marcus Meissner */ -#include <config.h> +#include "config.h" #include <stdlib.h> #include <sys/types.h> diff --git a/src/libw32dll/wine/resource.c b/src/libw32dll/wine/resource.c index 9d4fa80bb..a38c1dd1e 100644 --- a/src/libw32dll/wine/resource.c +++ b/src/libw32dll/wine/resource.c @@ -4,7 +4,7 @@ * Copyright 1993 Robert J. Amstadt * Copyright 1995 Alexandre Julliard */ -#include <config.h> +#include "config.h" #include <assert.h> #include <stdio.h> diff --git a/src/libw32dll/wine/vfl.c b/src/libw32dll/wine/vfl.c index e8eb7969f..f509995de 100644 --- a/src/libw32dll/wine/vfl.c +++ b/src/libw32dll/wine/vfl.c @@ -1,7 +1,7 @@ /* * Copyright 1998 Marcus Meissner */ -#include <config.h> +#include "config.h" #include <stdio.h> #include <stdlib.h> diff --git a/src/libxineadec/Makefile.am b/src/libxineadec/Makefile.am index d502b7955..ae261e60c 100644 --- a/src/libxineadec/Makefile.am +++ b/src/libxineadec/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common EXTRA_DIST = fooaudio.c @@ -39,7 +40,7 @@ xineplug_decode_lpcm_la_CFLAGS = $(VISIBILITY_FLAG) xineplug_decode_lpcm_la_LIBADD = $(XINE_LIB) xineplug_decode_vorbis_la_SOURCES = xine_vorbis_decoder.c -xineplug_decode_vorbis_la_LIBADD = $(XINE_LIB) $(VORBIS_LIBS) $(OGG_LIBS) +xineplug_decode_vorbis_la_LIBADD = $(XINE_LIB) $(VORBIS_LIBS) $(OGG_LIBS) $(LTLIBINTL) xineplug_decode_vorbis_la_CFLAGS = $(VISIBILITY_FLAG) $(VORBIS_CFLAGS) xineplug_decode_speex_la_SOURCES = xine_speex_decoder.c diff --git a/src/libxineadec/fooaudio.c b/src/libxineadec/fooaudio.c index 319eefb0e..53fcef801 100644 --- a/src/libxineadec/fooaudio.c +++ b/src/libxineadec/fooaudio.c @@ -22,6 +22,10 @@ * place of the data it should actually send. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libxineadec/gsm610/long_term.c b/src/libxineadec/gsm610/long_term.c index 625662e1f..d3ef1b63d 100644 --- a/src/libxineadec/gsm610/long_term.c +++ b/src/libxineadec/gsm610/long_term.c @@ -6,6 +6,10 @@ /* $Header: /nfshome/cvs/xine-lib/src/libxineadec/gsm610/long_term.c,v 1.3 2003/12/07 15:34:30 f1rmb Exp $ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xineutils.h" diff --git a/src/libxineadec/gsm610/lpc.c b/src/libxineadec/gsm610/lpc.c index 0f51fa55f..7a8a8e2bc 100644 --- a/src/libxineadec/gsm610/lpc.c +++ b/src/libxineadec/gsm610/lpc.c @@ -6,6 +6,10 @@ /* $Header: /nfshome/cvs/xine-lib/src/libxineadec/gsm610/lpc.c,v 1.3 2003/12/07 15:34:30 f1rmb Exp $ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xineutils.h" diff --git a/src/libxineadec/gsm610/rpe.c b/src/libxineadec/gsm610/rpe.c index 67d94d30e..be1b1529b 100644 --- a/src/libxineadec/gsm610/rpe.c +++ b/src/libxineadec/gsm610/rpe.c @@ -6,6 +6,10 @@ /* $Header: /nfshome/cvs/xine-lib/src/libxineadec/gsm610/rpe.c,v 1.3 2003/12/07 15:34:30 f1rmb Exp $ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xineutils.h" #include "private.h" diff --git a/src/libxineadec/gsm610/short_term.c b/src/libxineadec/gsm610/short_term.c index 8222b2caa..c2d64853b 100644 --- a/src/libxineadec/gsm610/short_term.c +++ b/src/libxineadec/gsm610/short_term.c @@ -6,6 +6,10 @@ /* $Header: /nfshome/cvs/xine-lib/src/libxineadec/gsm610/short_term.c,v 1.3 2003/12/07 15:34:30 f1rmb Exp $ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xineutils.h" #include "private.h" diff --git a/src/libxineadec/nsf.c b/src/libxineadec/nsf.c index 0c9cdbf55..d4841ec6e 100644 --- a/src/libxineadec/nsf.c +++ b/src/libxineadec/nsf.c @@ -21,6 +21,10 @@ * http://www.baisoku.org/ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libxineadec/xine_lpcm_decoder.c b/src/libxineadec/xine_lpcm_decoder.c index e1d81a8bb..435545d56 100644 --- a/src/libxineadec/xine_lpcm_decoder.c +++ b/src/libxineadec/xine_lpcm_decoder.c @@ -20,6 +20,11 @@ * 31-8-2001 Added LPCM rate sensing. * (c) 2001 James Courtier-Dutton James@superbug.demon.co.uk */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #ifndef __sun #define _XOPEN_SOURCE 500 #endif diff --git a/src/libxinevdec/Makefile.am b/src/libxinevdec/Makefile.am index 9805eb09e..b7dbe1db1 100644 --- a/src/libxinevdec/Makefile.am +++ b/src/libxinevdec/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CFLAGS = $(VISIBILITY_FLAG) @@ -43,4 +44,4 @@ xineplug_decode_gdk_pixbuf_la_LIBADD = $(XINE_LIB) $(DYNAMIC_LD_LIBS) $(GDK_PIXB xineplug_decode_theora_la_SOURCES = xine_theora_decoder.c xineplug_decode_theora_la_CFLAGS = $(AM_CFLAGS) $(OGG_CFLAGS) $(THEORA_CFLAGS) -xineplug_decode_theora_la_LIBADD = $(XINE_LIB) $(OGG_LIBS) $(THEORA_LIBS) +xineplug_decode_theora_la_LIBADD = $(XINE_LIB) $(OGG_LIBS) $(THEORA_LIBS) $(LTLIBINTL) diff --git a/src/libxinevdec/bitplane.c b/src/libxinevdec/bitplane.c index 057511c29..76b7c8a89 100644 --- a/src/libxinevdec/bitplane.c +++ b/src/libxinevdec/bitplane.c @@ -29,6 +29,10 @@ * - untested (found no testfiles) IFF-ANIM OPT 3, 4 and 6 */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libxinevdec/foovideo.c b/src/libxinevdec/foovideo.c index e0e0883dc..7a80c7c66 100644 --- a/src/libxinevdec/foovideo.c +++ b/src/libxinevdec/foovideo.c @@ -24,6 +24,10 @@ * frame when the frames are played in succession. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libxinevdec/gdkpixbuf.c b/src/libxinevdec/gdkpixbuf.c index d41a958d8..de4c2271e 100644 --- a/src/libxinevdec/gdkpixbuf.c +++ b/src/libxinevdec/gdkpixbuf.c @@ -20,6 +20,11 @@ * a gdk-pixbuf-based image video decoder */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + #include <stdlib.h> #include <string.h> diff --git a/src/libxinevdec/image.c b/src/libxinevdec/image.c index 51e5d0309..bd749be8e 100644 --- a/src/libxinevdec/image.c +++ b/src/libxinevdec/image.c @@ -20,6 +20,10 @@ * a image video decoder */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <string.h> @@ -88,7 +92,7 @@ static void image_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { if (buf->decoder_flags & BUF_FLAG_FRAME_END) { int width, height, i; - MagickBooleanType status; + int status; MagickWand *wand; uint8_t *img_buf, *img_buf_ptr; yuv_planes_t yuv_planes; @@ -101,7 +105,7 @@ static void image_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { status = MagickReadImageBlob(wand, this->image, this->index); this->index = 0; - if (status == MagickFalse) { + if (!status) { DestroyMagickWand(wand); lprintf("error loading image\n"); return; diff --git a/src/libxinevdec/rgb.c b/src/libxinevdec/rgb.c index c1e7f398b..fc206a0ce 100644 --- a/src/libxinevdec/rgb.c +++ b/src/libxinevdec/rgb.c @@ -31,6 +31,10 @@ * indicated by a negative height parameter. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/libxinevdec/yuv.c b/src/libxinevdec/yuv.c index 49b2363fb..b1a69cd65 100644 --- a/src/libxinevdec/yuv.c +++ b/src/libxinevdec/yuv.c @@ -22,6 +22,10 @@ * a way that xine can display them. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/src/post/audio/Makefile.am b/src/post/audio/Makefile.am index 41a364d0d..5e587ef2f 100644 --- a/src/post/audio/Makefile.am +++ b/src/post/audio/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common noinst_HEADERS = dsp.h filter.h window.h audio_filters.h diff --git a/src/post/audio/audio_filters.c b/src/post/audio/audio_filters.c index 8200db51b..12d48784c 100644 --- a/src/post/audio/audio_filters.c +++ b/src/post/audio/audio_filters.c @@ -20,6 +20,9 @@ * catalog for audio filter plugins */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include "xine_internal.h" #include "xineutils.h" diff --git a/src/post/audio/stretch.c b/src/post/audio/stretch.c index 6930fea3d..d4621a800 100644 --- a/src/post/audio/stretch.c +++ b/src/post/audio/stretch.c @@ -20,6 +20,10 @@ * Time stretch by a given factor, optionally preserving pitch */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xine_internal.h" diff --git a/src/post/audio/upmix.c b/src/post/audio/upmix.c index 725439c1f..e753f4a2a 100644 --- a/src/post/audio/upmix.c +++ b/src/post/audio/upmix.c @@ -24,6 +24,10 @@ * E.g. Converts Stereo into Surround 5.1 */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xine_internal.h" diff --git a/src/post/audio/upmix_mono.c b/src/post/audio/upmix_mono.c index 2d3429788..52b5f497b 100644 --- a/src/post/audio/upmix_mono.c +++ b/src/post/audio/upmix_mono.c @@ -23,6 +23,10 @@ * It simply converts Mono into Stereo. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #define LOG_MODULE "upmix_mono" diff --git a/src/post/audio/volnorm.c b/src/post/audio/volnorm.c index 792618322..158705ef7 100644 --- a/src/post/audio/volnorm.c +++ b/src/post/audio/volnorm.c @@ -22,6 +22,10 @@ * & Pierre Lombard. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <math.h> diff --git a/src/post/deinterlace/Makefile.am b/src/post/deinterlace/Makefile.am index c9e09ee23..bac6bac33 100644 --- a/src/post/deinterlace/Makefile.am +++ b/src/post/deinterlace/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common SUBDIRS = plugins diff --git a/src/post/deinterlace/tvtime.c b/src/post/deinterlace/tvtime.c index eff43d5e8..97da6543e 100644 --- a/src/post/deinterlace/tvtime.c +++ b/src/post/deinterlace/tvtime.c @@ -38,14 +38,6 @@ #include "tvtime.h" /** - * This is how many frames to wait until deciding if the pulldown phase - * has changed or if we've really found a pulldown sequence. This is - * currently set to about 1 second, that is, we won't go into film mode - * until we've seen a pulldown sequence successfully for 1 second. - */ -#define PULLDOWN_ERROR_WAIT 60 - -/** * This is how many predictions have to be incorrect before we fall back to * video mode. Right now, if we mess up, we jump to video mode immediately. */ @@ -192,13 +184,13 @@ int tvtime_build_deinterlaced_frame( tvtime_t *tvtime, uint8_t *output, if( !tvtime->pdoffset ) { /* No pulldown offset applies, drop out of pulldown immediately. */ tvtime->pdlastbusted = 0; - tvtime->pderror = PULLDOWN_ERROR_WAIT; + tvtime->pderror = tvtime->pulldown_error_wait; } else if( tvtime->pdoffset != predicted ) { if( tvtime->pdlastbusted ) { tvtime->pdlastbusted--; tvtime->pdoffset = predicted; } else { - tvtime->pderror = PULLDOWN_ERROR_WAIT; + tvtime->pderror = tvtime->pulldown_error_wait; } } else { if( tvtime->pderror ) { @@ -437,7 +429,7 @@ void tvtime_reset_context( tvtime_t *tvtime ) tvtime->last_botdiff = 0; tvtime->pdoffset = PULLDOWN_SEQ_AA; - tvtime->pderror = PULLDOWN_ERROR_WAIT; + tvtime->pderror = tvtime->pulldown_error_wait; tvtime->pdlastbusted = 0; tvtime->filmmode = 0; } diff --git a/src/post/deinterlace/tvtime.h b/src/post/deinterlace/tvtime.h index 8e4c5abc2..2253f264e 100644 --- a/src/post/deinterlace/tvtime.h +++ b/src/post/deinterlace/tvtime.h @@ -56,6 +56,11 @@ typedef struct { */ deinterlace_method_t *curmethod; + /** + * This is how many frames to wait until deciding if the pulldown phase + * has changed or if we've really found a pulldown sequence. + */ + unsigned int pulldown_error_wait; /* internal data */ int last_topdiff; diff --git a/src/post/deinterlace/xine_plugin.c b/src/post/deinterlace/xine_plugin.c index 8115198af..7149f2bdb 100644 --- a/src/post/deinterlace/xine_plugin.c +++ b/src/post/deinterlace/xine_plugin.c @@ -23,6 +23,10 @@ * heavily based on tvtime.sf.net by Billy Biggs */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + /* #define LOG */ @@ -69,6 +73,7 @@ typedef struct deinterlace_parameters_s { int method; int enabled; int pulldown; + int pulldown_error_wait; int framerate_mode; int judder_correction; int use_progressive_frame_flag; @@ -87,6 +92,8 @@ PARAM_ITEM( POST_PARAM_TYPE_BOOL, enabled, NULL, 0, 1, 0, "enable/disable" ) PARAM_ITEM( POST_PARAM_TYPE_INT, pulldown, enum_pulldown, 0, 0, 0, "pulldown algorithm" ) +PARAM_ITEM( POST_PARAM_TYPE_INT, pulldown_error_wait, NULL, 0, 0, 0, + "number of frames of telecine pattern sync required before mode change" ) PARAM_ITEM( POST_PARAM_TYPE_INT, framerate_mode, enum_framerate, 0, 0, 0, "framerate output mode" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL, judder_correction, NULL, 0, 1, 0, @@ -165,6 +172,7 @@ static int set_parameters (xine_post_t *this_gen, void *param_gen) { this->enabled = param->enabled; this->pulldown = param->pulldown; + this->tvtime->pulldown_error_wait = param->pulldown_error_wait; this->framerate_mode = param->framerate_mode; this->judder_correction = param->judder_correction; this->use_progressive_frame_flag = param->use_progressive_frame_flag; @@ -185,6 +193,7 @@ static int get_parameters (xine_post_t *this_gen, void *param_gen) { param->method = this->cur_method; param->enabled = this->enabled; param->pulldown = this->pulldown; + param->pulldown_error_wait = this->tvtime->pulldown_error_wait; param->framerate_mode = this->framerate_mode; param->judder_correction = this->judder_correction; param->use_progressive_frame_flag = this->use_progressive_frame_flag; @@ -212,6 +221,9 @@ static char * get_static_help (void) { "\n" " Enabled: Enable/disable the plugin.\n" "\n" + " Pulldown_error_wait: Ensures that the telecine pattern has been " + "locked for this many frames before changing to filmmode.\n" + "\n" " Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films " "that have being converted to NTSC can be detected and intelligently " "reconstructed to their original (non-interlaced) frames.\n" @@ -350,6 +362,7 @@ static void *deinterlace_init_plugin(xine_t *xine, void *data) class->init_param.method = 1; /* First (plugin) method available */ class->init_param.enabled = 1; class->init_param.pulldown = 1; /* vektor */ + class->init_param.pulldown_error_wait = 60; /* about one second */ class->init_param.framerate_mode = 0; /* full */ class->init_param.judder_correction = 1; class->init_param.use_progressive_frame_flag = 1; diff --git a/src/post/goom/Makefile.am b/src/post/goom/Makefile.am index c01482917..cd022c9b0 100644 --- a/src/post/goom/Makefile.am +++ b/src/post/goom/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common EXTRA_DIST = mmx.c xmmx.c ppc_drawings.s ppc_zoom_ultimate.s diff_against_release.patch \ diff --git a/src/post/goom/ppc_zoom_ultimate.h b/src/post/goom/ppc_zoom_ultimate.h index d6932e7e6..d070071c9 100644 --- a/src/post/goom/ppc_zoom_ultimate.h +++ b/src/post/goom/ppc_zoom_ultimate.h @@ -11,4 +11,4 @@ void ppc_zoom_generic (int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16]); /* G4 Specific PowerPC Code (Possible use of Altivec and Data Streams) */ -void ppc_zoom_G4 (int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16]);
\ No newline at end of file +void ppc_zoom_G4 (int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16]); diff --git a/src/post/goom/xine_goom.c b/src/post/goom/xine_goom.c index 5cd5406b2..db7079423 100644 --- a/src/post/goom/xine_goom.c +++ b/src/post/goom/xine_goom.c @@ -48,7 +48,7 @@ #define GOOM_HEIGHT 240 /* colorspace conversion methods */ -static const char const * goom_csc_methods[]={ +static const char* goom_csc_methods[]={ "Fast but not photorealistic", "Slow but looks better", NULL diff --git a/src/post/mosaico/Makefile.am b/src/post/mosaico/Makefile.am index af027b6e6..56426c711 100644 --- a/src/post/mosaico/Makefile.am +++ b/src/post/mosaico/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common xinepost_LTLIBRARIES = xineplug_post_mosaico.la xineplug_post_switch.la diff --git a/src/post/mosaico/mosaico.c b/src/post/mosaico/mosaico.c index d99bab43b..c9ac9ab4c 100644 --- a/src/post/mosaico/mosaico.c +++ b/src/post/mosaico/mosaico.c @@ -23,7 +23,7 @@ */ #ifdef HAVE_CONFIG_H -# include <config.h> +# include "config.h" #endif #define LOG_MODULE "mosaico" diff --git a/src/post/planar/Makefile.am b/src/post/planar/Makefile.am index c49243252..751ea390a 100644 --- a/src/post/planar/Makefile.am +++ b/src/post/planar/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common POSTPROC_INT_LIB = $(top_builddir)/src/libffmpeg/libavcodec/libpostproc/libpostprocess.la diff --git a/src/post/planar/boxblur.c b/src/post/planar/boxblur.c index edad304a6..517cec489 100644 --- a/src/post/planar/boxblur.c +++ b/src/post/planar/boxblur.c @@ -21,6 +21,10 @@ * Copyright (C) 2002 Michael Niedermayer <michaelni@gmx.at> */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/denoise3d.c b/src/post/planar/denoise3d.c index 74ed02250..21b58dbf9 100644 --- a/src/post/planar/denoise3d.c +++ b/src/post/planar/denoise3d.c @@ -21,6 +21,10 @@ * Copyright (C) 2003 Daniel Moreno <comac@comac.darktech.org> */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/eq.c b/src/post/planar/eq.c index 92dae8e36..45bc43463 100644 --- a/src/post/planar/eq.c +++ b/src/post/planar/eq.c @@ -21,6 +21,10 @@ * Copyright (C) Richard Felker */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/eq2.c b/src/post/planar/eq2.c index a1c208919..1a301fdab 100644 --- a/src/post/planar/eq2.c +++ b/src/post/planar/eq2.c @@ -25,6 +25,10 @@ * Richard Felker (original MMX contrast/brightness code (vf_eq.c)) */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/noise.c b/src/post/planar/noise.c index e15c6fb4d..f639fce76 100644 --- a/src/post/planar/noise.c +++ b/src/post/planar/noise.c @@ -21,6 +21,10 @@ * is copyright 2002 Michael Niedermayer <michaelni@gmx.at> */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/planar.c b/src/post/planar/planar.c index 5907d58e5..e1c9681ab 100644 --- a/src/post/planar/planar.c +++ b/src/post/planar/planar.c @@ -20,6 +20,10 @@ * catalog for planar post plugins */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/planar/pp.c b/src/post/planar/pp.c index 51d28b33d..1ce45e381 100644 --- a/src/post/planar/pp.c +++ b/src/post/planar/pp.c @@ -21,7 +21,7 @@ */ #ifdef HAVE_CONFIG_H -#include <config.h> +#include "config.h" #endif #include "xine_internal.h" diff --git a/src/post/planar/unsharp.c b/src/post/planar/unsharp.c index da41708d0..6fac727ce 100644 --- a/src/post/planar/unsharp.c +++ b/src/post/planar/unsharp.c @@ -21,6 +21,10 @@ * Copyright (C) 2002 Rémi Guyomarch <rguyom@pobox.com> */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "xine_internal.h" #include "post.h" #include "xineutils.h" diff --git a/src/post/visualizations/Makefile.am b/src/post/visualizations/Makefile.am index f42598d9c..a766bc10a 100644 --- a/src/post/visualizations/Makefile.am +++ b/src/post/visualizations/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common EXTRA_DIST = fooviz.c diff --git a/src/post/visualizations/fftgraph.c b/src/post/visualizations/fftgraph.c index 0cf27faf8..8bd30ed5c 100644 --- a/src/post/visualizations/fftgraph.c +++ b/src/post/visualizations/fftgraph.c @@ -21,6 +21,10 @@ * by Thibaut Mattern (tmattern@noos.fr) */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <math.h> diff --git a/src/post/visualizations/fftscope.c b/src/post/visualizations/fftscope.c index 2c6297a44..ccff59634 100644 --- a/src/post/visualizations/fftscope.c +++ b/src/post/visualizations/fftscope.c @@ -23,6 +23,10 @@ * FFT code by Steve Haehnichen, originally licensed under GPL v1 */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <math.h> diff --git a/src/post/visualizations/fooviz.c b/src/post/visualizations/fooviz.c index 2219143be..c645601fc 100644 --- a/src/post/visualizations/fooviz.c +++ b/src/post/visualizations/fooviz.c @@ -24,6 +24,10 @@ * colors on each iteration. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xine_internal.h" diff --git a/src/post/visualizations/oscope.c b/src/post/visualizations/oscope.c index 099920b42..a2c9c6961 100644 --- a/src/post/visualizations/oscope.c +++ b/src/post/visualizations/oscope.c @@ -21,6 +21,10 @@ * by Mike Melanson (melanson@pcisys.net) */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include "xine_internal.h" diff --git a/src/video_out/Makefile.am b/src/video_out/Makefile.am index 8d8753659..afa838ab7 100644 --- a/src/video_out/Makefile.am +++ b/src/video_out/Makefile.am @@ -1,3 +1,4 @@ +include $(top_builddir)/misc/Makefile.plugins include $(top_srcdir)/misc/Makefile.common AM_CPPFLAGS = -DXINE_COMPILE @@ -193,7 +194,7 @@ xineplug_vo_out_stk_la_CFLAGS = $(VISIBILITY_FLAG) $(LIBSTK_CFLAGS) xineplug_vo_out_directx_la_SOURCES = yuv2rgb.c yuv2rgb_mmx.c video_out_directx.c xineplug_vo_out_directx_la_CPPFLAGS = $(AM_CPPFLAGS) $(DIRECTX_CPPFLAGS) -xineplug_vo_out_directx_la_LIBADD = $(XINE_LIB) $(DIRECTX_VIDEO_LIBS) $(PTHREAD_LIBS) +xineplug_vo_out_directx_la_LIBADD = $(XINE_LIB) $(DIRECTX_VIDEO_LIBS) $(PTHREAD_LIBS) $(LTLIBINTL) xineplug_vo_out_directx_la_CFLAGS = $(VISIBILITY_FLAG) xineplug_vo_out_none_la_SOURCES = video_out_none.c diff --git a/src/video_out/deinterlace.c b/src/video_out/deinterlace.c index 263160808..712e9a83e 100644 --- a/src/video_out/deinterlace.c +++ b/src/video_out/deinterlace.c @@ -30,6 +30,10 @@ * */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <string.h> #include "xine_internal.h" diff --git a/src/video_out/video_out_directx.c b/src/video_out/video_out_directx.c index 529968bec..3c6f6e784 100644 --- a/src/video_out/video_out_directx.c +++ b/src/video_out/video_out_directx.c @@ -21,6 +21,10 @@ * by Matthew Grooms <elon@altavista.com> */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + typedef unsigned char boolean; #include <windows.h> @@ -55,21 +59,33 @@ typedef unsigned char boolean; * the linking stage. *****************************************************************************/ #if 1 -static const GUID IID_IDirectDraw = { +static const GUID xine_IID_IDirectDraw = { 0x6C14DB80,0xA733,0x11CE,{0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60} }; +#ifdef IID_IDirectDraw +# undef IID_IDirectDraw +#endif +#define IID_IDirectDraw xine_IID_IDirectDraw #endif #if 0 static const GUID IID_IDirectDraw2 = { 0xB3A6F3E0,0x2B43,0x11CF,{0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56} }; +#ifdef IID_IDirectDraw2 +# undef IID_IDirectDraw2 +#endif +#define IID_IDirectDraw2 xine_IID_IDirectDraw2 #endif #if 0 static const GUID IID_IDirectDraw4 = { 0x9C59509A,0x39BD,0x11D1,{0x8C,0x4A,0x00,0xC0,0x4F,0xD9,0x30,0xC5} }; +#ifdef IID_IDirectDraw4 +# undef IID_IDirectDraw4 +#endif +#define IID_IDirectDraw4 xine_IID_IDirectDraw4 #endif /* ----------------------------------------- @@ -118,6 +134,7 @@ typedef struct { int mode; /* rgb mode */ int bytespp; /* rgb bits per pixel */ DDPIXELFORMAT primary_pixel_format; + DDSURFACEDESC ddsd; /* set by Lock(), used during display_frame */ alphablend_t alphablend_extra_data; } win32_driver_t; @@ -487,6 +504,7 @@ static boolean CheckPixelFormat( win32_driver_t * win32_driver ) return TRUE; } +#if 0 /* Create a Direct draw surface from * a bitmap resource.. * @@ -552,6 +570,7 @@ static LPDIRECTDRAWSURFACE CreateBMP( win32_driver_t * win32_driver, int resourc return bmp_surf; } +#endif /* Merge overlay with the current primary * surface. This funtion is only used when @@ -761,23 +780,22 @@ static boolean DisplayFrame( win32_driver_t * win32_driver ) /* Lock our back buffer to update its contents. */ -static void * Lock( void * surface ) +static void * Lock( win32_driver_t * win32_driver, void * surface ) { LPDIRECTDRAWSURFACE lock_surface = ( LPDIRECTDRAWSURFACE ) surface; - DDSURFACEDESC ddsd; HRESULT result; if( !surface ) return 0; - memset( &ddsd, 0, sizeof( ddsd ) ); - ddsd.dwSize = sizeof( ddsd ); + memset( &win32_driver->ddsd, 0, sizeof( win32_driver->ddsd ) ); + win32_driver->ddsd.dwSize = sizeof( win32_driver->ddsd ); - result = IDirectDrawSurface_Lock( lock_surface, 0, &ddsd, DDLOCK_WAIT | DDLOCK_NOSYSLOCK, 0 ); + result = IDirectDrawSurface_Lock( lock_surface, 0, &win32_driver->ddsd, DDLOCK_WAIT | DDLOCK_NOSYSLOCK, 0 ); if( result == DDERR_SURFACELOST ) { IDirectDrawSurface_Restore( lock_surface ); - result = IDirectDrawSurface_Lock( lock_surface, 0, &ddsd, DDLOCK_WAIT | DDLOCK_NOSYSLOCK, 0 ); + result = IDirectDrawSurface_Lock( lock_surface, 0, &win32_driver->ddsd, DDLOCK_WAIT | DDLOCK_NOSYSLOCK, 0 ); if( result != DD_OK ) return 0; @@ -792,7 +810,7 @@ static void * Lock( void * surface ) } } - return ddsd.lpSurface; + return win32_driver->ddsd.lpSurface; } /* Unlock our back buffer to prepair for display. */ @@ -952,8 +970,6 @@ static void win32_display_frame( vo_driver_t * vo_driver, vo_frame_t * vo_frame { win32_driver_t *win32_driver = ( win32_driver_t * ) vo_driver; win32_frame_t *win32_frame = ( win32_frame_t * ) vo_frame; - int offset; - int size; /* if the required width, height or format has changed @@ -972,7 +988,7 @@ static void win32_display_frame( vo_driver_t * vo_driver, vo_frame_t * vo_frame /* lock our surface to update its contents */ - win32_driver->contents = Lock( win32_driver->secondary ); + win32_driver->contents = Lock( win32_driver, win32_driver->secondary ); /* surface unavailable, skip frame render */ @@ -1057,37 +1073,47 @@ static void win32_display_frame( vo_driver_t * vo_driver, vo_frame_t * vo_frame /* the actual format is identical to our * stream format. we just need to copy it */ - switch(win32_frame->format) + int line; + uint8_t * src; + vo_frame_t * frame = vo_frame; + uint8_t * dst = (uint8_t *)win32_driver->contents; + + switch(win32_frame->format) { - case XINE_IMGFMT_YV12: - { - vo_frame_t *frame; - uint8_t *img; - - frame = vo_frame; - img = (uint8_t *)win32_driver->contents; - - offset = 0; - size = frame->pitches[0] * frame->height; - xine_fast_memcpy( img+offset, frame->base[0], size); - - offset += size; - size = frame->pitches[2]* frame->height / 2; - xine_fast_memcpy( img+offset, frame->base[2], size); - - offset += size; - size = frame->pitches[1] * frame->height / 2; - xine_fast_memcpy( img+offset, frame->base[1], size); - } + case XINE_IMGFMT_YV12: + src = frame->base[0]; + for (line = 0; line < frame->height ; line++){ + xine_fast_memcpy( dst, src, frame->width); + src += vo_frame->pitches[0]; + dst += win32_driver->ddsd.lPitch; + } + + src = frame->base[2]; + for (line = 0; line < frame->height/2 ; line++){ + xine_fast_memcpy( dst, src, frame->width/2); + src += vo_frame->pitches[2]; + dst += win32_driver->ddsd.lPitch/2; + } + + src = frame->base[1]; + for (line = 0; line < frame->height/2 ; line++){ + xine_fast_memcpy( dst, src, frame->width/2); + src += vo_frame->pitches[1]; + dst += win32_driver->ddsd.lPitch/2; + } break; + case XINE_IMGFMT_YUY2: - xine_fast_memcpy( win32_driver->contents, win32_frame->vo_frame.base[0], win32_frame->vo_frame.pitches[0] * win32_frame->vo_frame.height * 2); - break; default: - xine_fast_memcpy( win32_driver->contents, win32_frame->vo_frame.base[0], win32_frame->vo_frame.pitches[0] * win32_frame->vo_frame.height * 2); + src = frame->base[0]; + for (line = 0; line < frame->height ; line++){ + xine_fast_memcpy( dst, src, frame->width*2); + src += vo_frame->pitches[0]; + dst += win32_driver->ddsd.lPitch; + } break; } - } + } /* unlock the surface */ @@ -1149,11 +1175,38 @@ static int win32_gui_data_exchange( vo_driver_t * vo_driver, int data_type, void switch( data_type ) { + case GUI_WIN32_MOVED_OR_RESIZED: UpdateRect( win32_driver->win32_visual ); DisplayFrame( win32_driver ); break; + case XINE_GUI_SEND_DRAWABLE_CHANGED: + { + HRESULT result; + HWND newWndHnd = (HWND) data; + + /* set cooperative level */ + result = IDirectDraw_SetCooperativeLevel( win32_driver->ddobj, newWndHnd, DDSCL_NORMAL ); + if( result != DD_OK ) + { + Error( 0, "SetCooperativeLevel : error 0x%lx", result ); + return 0; + } + /* associate our clipper with new window */ + result = IDirectDrawClipper_SetHWnd( win32_driver->ddclipper, 0, newWndHnd ); + if( result != DD_OK ) + { + Error( 0, "ddclipper->SetHWnd : error 0x%lx", result ); + return 0; + } + /* store our objects in our visual struct */ + win32_driver->win32_visual->WndHnd = newWndHnd; + /* update video area and redraw current frame */ + UpdateRect( win32_driver->win32_visual ); + DisplayFrame( win32_driver ); + break; } + } return 0; } diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index 807bb766d..1e6e2b663 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -138,6 +138,8 @@ struct xv_driver_s { int use_colorkey; uint32_t colorkey; + int sync_is_vsync; + /* hold initial port attributes values to restore on exit */ xine_list_t *port_attributes; @@ -156,7 +158,9 @@ typedef struct { xine_t *xine; } xv_class_t; -static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +VIDEO_DEVICE_XV_DECL_BICUBIC_TYPES; +VIDEO_DEVICE_XV_DECL_PREFER_TYPES; +VIDEO_DEVICE_XV_DECL_SYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1212,66 +1216,43 @@ static void xv_update_deinterlace(void *this_gen, xine_cfg_entry_t *entry) { this->deinterlace_method = entry->num_value; } -static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xv_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_filter; xcb_intern_atom_cookie_t atom_cookie; xcb_intern_atom_reply_t *atom_reply; - xv_filter = entry->num_value; - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_FILTER"), "XV_FILTER"); + atom_cookie = xcb_intern_atom(this->connection, 0, strlen (atomstr), atomstr); atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_filter); + xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, entry->num_value); free(atom_reply); pthread_mutex_unlock(&this->main_mutex); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_double_buffer; - - xcb_intern_atom_cookie_t atom_cookie; - xcb_intern_atom_reply_t *atom_reply; - - xv_double_buffer = entry->num_value; - - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_DOUBLE_BUFFER"), "XV_DOUBLE_BUFFER"); - atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_double_buffer); - free(atom_reply); - pthread_mutex_unlock(&this->main_mutex); +static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: double buffering mode = %d\n", xv_double_buffer); +static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - int xv_sync_to_vblank; - - xcb_intern_atom_cookie_t atom_cookie; - xcb_intern_atom_reply_t *atom_reply; - - xv_sync_to_vblank = entry->num_value; - - pthread_mutex_lock(&this->main_mutex); - atom_cookie = xcb_intern_atom(this->connection, 0, sizeof("XV_SYNC_TO_VBLANK"), "XV_SYNC_TO_VBLANK"); - atom_reply = xcb_intern_atom_reply(this->connection, atom_cookie, NULL); - xcb_xv_set_port_attribute(this->connection, this->xv_port, atom_reply->atom, xv_sync_to_vblank); - free(atom_reply); - pthread_mutex_unlock(&this->main_mutex); - - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xcbxv: sync to vblank = %d\n", xv_sync_to_vblank); + xv_update_attr (this_gen, entry, + sync_atoms[((xv_driver_t *)this_gen)->sync_is_vsync], + "sync to vblank"); } +static void xv_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xv_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); +} static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1314,12 +1295,10 @@ static xcb_xv_port_t xv_autodetect_port(xv_driver_t *this, xcb_xv_port_t base, xv_prefertype prefer_type) { - xcb_xv_adaptor_info_iterator_t *start = adaptor_it; - for (; adaptor_it->rem; xcb_xv_adaptor_info_next(adaptor_it)) if (adaptor_it->data->type & XCB_XV_TYPE_IMAGE_MASK && (prefer_type == xv_prefer_none || - strcasestr (xcb_xv_adaptor_info_name (adaptor_it->data), prefer_types[prefer_type]))) + strcasestr (xcb_xv_adaptor_info_name (adaptor_it->data), prefer_substrings[prefer_type]))) { int j; for (j = 0; j < adaptor_it->data->num_ports; ++j) @@ -1350,7 +1329,7 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis xcb_xv_list_image_formats_cookie_t list_formats_cookie; xcb_xv_list_image_formats_reply_t *list_formats_reply; - xcb_xv_adaptor_info_iterator_t adaptor_it; + xcb_xv_adaptor_info_iterator_t adaptor_it, adaptor_first; xcb_xv_image_format_info_iterator_t format_it; this = (xv_driver_t *) calloc(1, sizeof(xv_driver_t)); @@ -1388,12 +1367,12 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis return NULL; } - adaptor_it = xcb_xv_query_adaptors_info_iterator(query_adaptors_reply); + adaptor_first = xcb_xv_query_adaptors_info_iterator(query_adaptors_reply); xv_port = config->register_num (config, "video.device.xv_port", 0, VIDEO_DEVICE_XV_PORT_HELP, 20, NULL, NULL); prefer_type = config->register_enum (config, "video.device.xv_preferred_method", 0, - prefer_types, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, + prefer_labels, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, 10, NULL, NULL); if (xv_port != 0) { @@ -1401,14 +1380,25 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis xprintf(class->xine, XINE_VERBOSITY_NONE, _("%s: could not open Xv port %d - autodetecting\n"), LOG_MODULE, xv_port); + adaptor_it = adaptor_first; xv_port = xv_autodetect_port (this, &adaptor_it, xv_port, prefer_type); } else xv_find_adaptor_by_port (xv_port, &adaptor_it); } if (!xv_port) + { + adaptor_it = adaptor_first; xv_port = xv_autodetect_port (this, &adaptor_it, 0, prefer_type); + } if (!xv_port) + { + if (prefer_type) + xprintf(class->xine, XINE_VERBOSITY_NONE, + _("%s: no available ports of type \"%s\", defaulting...\n"), + LOG_MODULE, prefer_labels[prefer_type]); + adaptor_it = adaptor_first; xv_port = xv_autodetect_port (this, &adaptor_it, 0, xv_prefer_none); + } if (!xv_port) { xprintf(class->xine, XINE_VERBOSITY_LOG, @@ -1536,7 +1526,8 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xv_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); - } else if(!strcmp(xcb_xv_attribute_info_name(attribute_it.data), "XV_SYNC_TO_VBLANK")) { + } else if(!strcmp(name, sync_atoms[this->sync_is_vsync = 0]) || + !strcmp(name, sync_atoms[this->sync_is_vsync = 1])) { int xv_sync_to_vblank; xv_sync_to_vblank = config->register_bool (config, "video.device.xv_sync_to_vblank", 1, @@ -1548,6 +1539,12 @@ static vo_driver_t *open_plugin(video_driver_class_t *class_gen, const void *vis "sync to under the XVideo Settings tab"), 20, xv_update_XV_SYNC_TO_VBLANK, this); config->update_num(config,"video.device.xv_sync_to_vblank",xv_sync_to_vblank); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xv_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index d791e6dc5..3fb088d59 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -143,6 +143,8 @@ struct xv_driver_s { int use_colorkey; uint32_t colorkey; + int sync_is_vsync; + /* hold initial port attributes values to restore on exit */ xine_list_t *port_attributes; @@ -169,7 +171,9 @@ typedef struct { static int gX11Fail; -static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +VIDEO_DEVICE_XV_DECL_BICUBIC_TYPES; +VIDEO_DEVICE_XV_DECL_PREFER_TYPES; +VIDEO_DEVICE_XV_DECL_SYNC_ATOMS; static uint32_t xv_get_capabilities (vo_driver_t *this_gen) { xv_driver_t *this = (xv_driver_t *) this_gen; @@ -1271,52 +1275,38 @@ static void xv_update_deinterlace(void *this_gen, xine_cfg_entry_t *entry) { this->deinterlace_method = entry->num_value; } -static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xv_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xv_driver_t *this = (xv_driver_t *) this_gen; Atom atom; - int xv_filter; - - xv_filter = entry->num_value; LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_FILTER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_filter); + atom = XInternAtom (this->display, atomstr, False); + XvSetPortAttribute (this->display, this->xv_port, atom, entry->num_value); UNLOCK_DISPLAY(this); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - Atom atom; - int xv_double_buffer; - - xv_double_buffer = entry->num_value; - - LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_DOUBLE_BUFFER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_double_buffer); - UNLOCK_DISPLAY(this); +static void xv_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: double buffering mode = %d\n", xv_double_buffer); +static void xv_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xv_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); } static void xv_update_XV_SYNC_TO_VBLANK(void *this_gen, xine_cfg_entry_t *entry) { - xv_driver_t *this = (xv_driver_t *) this_gen; - Atom atom; - int xv_sync_to_vblank; - - xv_sync_to_vblank = entry->num_value; - - LOCK_DISPLAY(this); - atom = XInternAtom (this->display, "XV_SYNC_TO_VBLANK", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_sync_to_vblank); - UNLOCK_DISPLAY(this); + xv_update_attr (this_gen, entry, + sync_atoms[((xv_driver_t *)this_gen)->sync_is_vsync], + "sync to vblank"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xv: sync to vblank = %d\n", xv_sync_to_vblank); +static void xv_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xv_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); } static void xv_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { @@ -1359,7 +1349,7 @@ static XvPortID xv_autodetect_port(xv_driver_t *this, for (an = 0; an < adaptors; an++) if (adaptor_info[an].type & XvImageMask && (prefer_type == xv_prefer_none || - strcasestr (adaptor_info[an].name, prefer_types[prefer_type]))) + strcasestr (adaptor_info[an].name, prefer_substrings[prefer_type]))) for (j = 0; j < adaptor_info[an].num_ports; j++) { XvPortID port = adaptor_info[an].base_id + j; if (port >= base && xv_open_port(this, port)) { @@ -1431,13 +1421,13 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * VIDEO_DEVICE_XV_PORT_HELP, 20, NULL, NULL); prefer_type = config->register_enum (config, "video.device.xv_preferred_method", 0, - prefer_types, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, + prefer_labels, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, 10, NULL, NULL); if (xv_port != 0) { if (! xv_open_port(this, xv_port)) { xprintf(class->xine, XINE_VERBOSITY_NONE, - _("%s: could not open Xv port %d - autodetecting\n"), + _("%s: could not open Xv port %"PRId32" - autodetecting\n"), LOG_MODULE, xv_port); xv_port = xv_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, xv_port, prefer_type); } else @@ -1446,7 +1436,13 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * if (!xv_port) xv_port = xv_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, 0, prefer_type); if (!xv_port) + { + if (prefer_type) + xprintf(class->xine, XINE_VERBOSITY_NONE, + _("%s: no available ports of type \"%s\", defaulting...\n"), + LOG_MODULE, prefer_labels[prefer_type]); xv_port = xv_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, 0, xv_prefer_none); + } if (!xv_port) { xprintf(class->xine, XINE_VERBOSITY_LOG, @@ -1585,7 +1581,8 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xv_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); - } else if(!strcmp(attr[k].name, "XV_SYNC_TO_VBLANK")) { + } else if(((this->sync_is_vsync = 0), !strcmp(name, sync_atoms[0])) || + ((this->sync_is_vsync = 1), !strcmp(name, sync_atoms[1]))) { int xv_sync_to_vblank; xv_sync_to_vblank = config->register_bool (config, "video.device.xv_sync_to_vblank", 1, @@ -1597,6 +1594,12 @@ static vo_driver_t *open_plugin_2 (video_driver_class_t *class_gen, const void * "sync to under the XVideo Settings tab"), 20, xv_update_XV_SYNC_TO_VBLANK, this); config->update_num(config,"video.device.xv_sync_to_vblank",xv_sync_to_vblank); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xv_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index b3ac39697..61e0139e3 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -45,7 +45,8 @@ static void xxmc_frame_updates(xxmc_driver_t *driver, xxmc_frame_t *frame, static void dispose_ximage (xxmc_driver_t *this, XShmSegmentInfo *shminfo, XvImage *myimage); -static const char *const prefer_types[] = VIDEO_DEVICE_XV_PREFER_TYPES; +VIDEO_DEVICE_XV_DECL_BICUBIC_TYPES; +VIDEO_DEVICE_XV_DECL_PREFER_TYPES; /* * Acceleration level priority. Static for now. It may well turn out that IDCT @@ -2129,36 +2130,32 @@ static void xxmc_check_capability (xxmc_driver_t *this, this->props[property].value = int_default; } -static void xxmc_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { +static void xxmc_update_attr (void *this_gen, xine_cfg_entry_t *entry, + const char *atomstr, const char *debugstr) +{ xxmc_driver_t *this = (xxmc_driver_t *) this_gen; Atom atom; - int xv_filter; - - xv_filter = entry->num_value; XLockDisplay(this->display); - atom = XInternAtom (this->display, "XV_FILTER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_filter); + atom = XInternAtom (this->display, atomstr, False); + XvSetPortAttribute (this->display, this->xv_port, atom, entry->num_value); XUnlockDisplay(this->display); xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xxmc: bilinear scaling mode (XV_FILTER) = %d\n",xv_filter); + LOG_MODULE ": %s = %d\n", debugstr, entry->num_value); } -static void xxmc_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { - xxmc_driver_t *this = (xxmc_driver_t *) this_gen; - Atom atom; - int xv_double_buffer; - - xv_double_buffer = entry->num_value; +static void xxmc_update_XV_FILTER(void *this_gen, xine_cfg_entry_t *entry) { + xxmc_update_attr (this_gen, entry, "XV_FILTER", "bilinear scaling mode"); +} - XLockDisplay(this->display); - atom = XInternAtom (this->display, "XV_DOUBLE_BUFFER", False); - XvSetPortAttribute (this->display, this->xv_port, atom, xv_double_buffer); - XUnlockDisplay(this->display); +static void xxmc_update_XV_DOUBLE_BUFFER(void *this_gen, xine_cfg_entry_t *entry) { + xxmc_update_attr (this_gen, entry, "XV_DOUBLE_BUFFER", "double buffering mode"); +} - xprintf(this->xine, XINE_VERBOSITY_DEBUG, - "video_out_xxmc: double buffering mode = %d\n", xv_double_buffer); +static void xxmc_update_XV_BICUBIC(void *this_gen, xine_cfg_entry_t *entry) +{ + xxmc_update_attr (this_gen, entry, "XV_BICUBIC", "bicubic filtering mode"); } static void xxmc_update_xv_pitch_alignment(void *this_gen, xine_cfg_entry_t *entry) { @@ -2231,7 +2228,7 @@ static XvPortID xxmc_autodetect_port(xxmc_driver_t *this, for (an = 0; an < adaptors; an++) if (adaptor_info[an].type & XvImageMask && (prefer_type == xv_prefer_none || - strcasestr (adaptor_info[an].name, prefer_types[prefer_type]))) + strcasestr (adaptor_info[an].name, prefer_substrings[prefer_type]))) for (j = 0; j < adaptor_info[an].num_ports; j++) { XvPortID port = adaptor_info[an].base_id + j; if (port >= base && xxmc_open_port(this, port)) { @@ -2451,7 +2448,7 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi VIDEO_DEVICE_XV_PORT_HELP, 20, NULL, NULL); prefer_type = config->register_enum (config, "video.device.xv_preferred_method", 0, - prefer_types, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, + prefer_labels, VIDEO_DEVICE_XV_PREFER_TYPE_HELP, 10, NULL, NULL); if (xv_port != 0) { @@ -2466,7 +2463,13 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi if (!xv_port) xv_port = xxmc_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, 0, prefer_type); if (!xv_port) + { + if (prefer_type) + xprintf(class->xine, XINE_VERBOSITY_NONE, + _("%s: no available ports of type \"%s\", defaulting...\n"), + LOG_MODULE, prefer_labels[prefer_type]); xv_port = xxmc_autodetect_port(this, adaptors, adaptor_info, &adaptor_num, 0, xv_prefer_none); + } if (!xv_port) { xprintf(class->xine, XINE_VERBOSITY_LOG, @@ -2602,6 +2605,12 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi VIDEO_DEVICE_XV_DOUBLE_BUFFER_HELP, 20, xxmc_update_XV_DOUBLE_BUFFER, this); config->update_num(config,"video.device.xv_double_buffer",xv_double_buffer); + } else if(!strcmp(name, "XV_BICUBIC")) { + int xv_bicubic = + config->register_enum (config, "video.device.xv_bicubic", 2, + bicubic_types, VIDEO_DEVICE_XV_BICUBIC_HELP, + 20, xxmc_update_XV_BICUBIC, this); + config->update_num(config,"video.device.xv_bicubic",xv_bicubic); } } } diff --git a/src/video_out/xv_common.h b/src/video_out/xv_common.h index 259afe616..ff49286f0 100644 --- a/src/video_out/xv_common.h +++ b/src/video_out/xv_common.h @@ -57,13 +57,27 @@ _("pitch alignment workaround"), \ _("Some buggy video drivers need a workaround to function properly.") -typedef enum { - xv_prefer_none, xv_prefer_overlay, xv_prefer_textured -} xv_prefertype; -#define VIDEO_DEVICE_XV_PREFER_TYPES \ - { "Any", "Overlay", "Textured Video", NULL } +#define VIDEO_DEVICE_XV_DECL_SYNC_ATOMS \ + static const char *const sync_atoms[] = \ + { "XV_SYNC_TO_VBLANK", "XV_VSYNC" }; + +#define VIDEO_DEVICE_XV_DECL_PREFER_TYPES \ + typedef enum { \ + xv_prefer_none, xv_prefer_overlay, xv_prefer_textured, xv_prefer_blitter, \ + } xv_prefertype; \ + static const char *const prefer_labels[] = \ + { "Any", "Overlay", "Textured Video", "Blitter", NULL }; \ + static const char prefer_substrings[][8] = \ + { "", "Overlay", "Texture", "Blitter" }; #define VIDEO_DEVICE_XV_PREFER_TYPE_HELP \ _("video display method preference"), \ _("Selects which video output method is preferred. " \ "Detection is done using the reported Xv adaptor names.\n" \ "(Only applies when auto-detecting which Xv port to use.)") + +#define VIDEO_DEVICE_XV_DECL_BICUBIC_TYPES \ + static const char *const bicubic_types[] = { "Off", "On", "Auto", NULL }; +#define VIDEO_DEVICE_XV_BICUBIC_HELP \ + _("bicubic filtering"), \ + _("This option controls bicubic filtering of the video image. " \ + "It may be used instead of, or as well as, xine's deinterlacers.") diff --git a/src/video_out/xxmc.h b/src/video_out/xxmc.h index 1c24991be..03b12c15b 100644 --- a/src/video_out/xxmc.h +++ b/src/video_out/xxmc.h @@ -37,6 +37,14 @@ #define XVMC_THREAD_SAFE +/* + * some implementations are not aware of the display having been locked + * already before calling the xvmc function and may therefore deadlock. + */ +/* +#define XVMC_LOCKDISPLAY_SAFE +*/ + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -171,7 +179,7 @@ typedef struct context_lock_s { return; \ } -#ifdef XVMC_THREAD_SAFE +#if defined(XVMC_THREAD_SAFE) && defined(XVMC_LOCKDISPLAY_SAFE) #define XVMCLOCKDISPLAY(display) #define XVMCUNLOCKDISPLAY(display) #else diff --git a/src/xine-engine/alphablend.c b/src/xine-engine/alphablend.c index 6f3ac3ebe..1dcd47eb7 100644 --- a/src/xine-engine/alphablend.c +++ b/src/xine-engine/alphablend.c @@ -23,6 +23,10 @@ * */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + /* #define LOG_BLEND_YUV #define LOG_BLEND_RGB16 @@ -1104,7 +1108,7 @@ static void blend_yuv_exact(uint8_t *dst_cr, uint8_t *dst_cb, int src_width, static uint8_t *(*blend_yuv_grow_extra_data(alphablend_t *extra_data, int osd_width))[ 3 ][ 2 ] { - struct __attribute__((packed)) header_s { + struct XINE_PACKED header_s { int id; int max_width; uint8_t *data[ 3 ][ 2 ]; @@ -1546,7 +1550,7 @@ static void blend_yuy2_exact(uint8_t *dst_cr, uint8_t *dst_cb, int src_width, static uint8_t *(*blend_yuy2_grow_extra_data(alphablend_t *extra_data, int osd_width))[ 3 ] { - struct __attribute__((packed)) header_s { + struct XINE_PACKED header_s { int id; int max_width; uint8_t *data[ 3 ]; diff --git a/src/xine-engine/audio_decoder.c b/src/xine-engine/audio_decoder.c index 5476262d9..855dee372 100644 --- a/src/xine-engine/audio_decoder.c +++ b/src/xine-engine/audio_decoder.c @@ -89,16 +89,18 @@ static void *audio_decoder_loop (void *stream_gen) { if (stream->audio_decoder_plugin) { lprintf ("close old decoder\n"); - + + stream->keep_ao_driver_open = !!(buf->decoder_flags & BUF_FLAG_GAPLESS_SW); _x_free_audio_decoder (stream, stream->audio_decoder_plugin); stream->audio_decoder_plugin = NULL; stream->audio_track_map_entries = 0; stream->audio_type = 0; + stream->keep_ao_driver_open = 0; } running_ticket->release(running_ticket, 0); - if( !stream->gapless_switch ) + if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) ) stream->metronom->handle_audio_discontinuity (stream->metronom, DISC_STREAMSTART, 0); buftype_unknown = 0; diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c index d28c45ea6..a6f83dc9d 100644 --- a/src/xine-engine/audio_out.c +++ b/src/xine-engine/audio_out.c @@ -215,6 +215,7 @@ typedef struct { int num_driver_actions; /* number of threads, that wish to call * functions needing driver_lock */ pthread_mutex_t driver_action_lock; /* protects num_driver_actions */ + pthread_cond_t driver_action_cond; /* informs about num_driver_actions-- */ metronom_clock_t *clock; xine_t *xine; @@ -243,6 +244,7 @@ typedef struct { audio_fifo_t *free_fifo; audio_fifo_t *out_fifo; int64_t last_audio_vpts; + pthread_mutex_t current_speed_lock; uint32_t current_speed; /* the current playback speed */ /* FIXME: replace all this->clock->speed with this->current_speed. we should make * sure nobody will change speed without going through xine.c:set_speed_internal */ @@ -1040,6 +1042,7 @@ static void *ao_loop (void *this_gen) { * we must process/free buffers otherwise the entire engine will stop. */ + pthread_mutex_lock(&this->current_speed_lock); if ( this->audio_loop_running && (this->clock->speed == XINE_SPEED_PAUSE || (this->clock->speed != XINE_FINE_SPEED_NORMAL && @@ -1055,6 +1058,7 @@ static void *ao_loop (void *this_gen) { _x_refcounter_dec(in_buf->stream->refcounter); fifo_append (this->free_fifo, in_buf); in_buf = NULL; + pthread_mutex_unlock(&this->current_speed_lock); continue; } @@ -1065,6 +1069,7 @@ static void *ao_loop (void *this_gen) { } lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers); + pthread_mutex_unlock(&this->current_speed_lock); xine_usec_sleep (10000); lprintf ("loop:pause: I wake up.\n"); continue; @@ -1274,12 +1279,20 @@ static void *ao_loop (void *this_gen) { fifo_append (this->free_fifo, in_buf); in_buf = NULL; } + pthread_mutex_unlock(&this->current_speed_lock); /* Give other threads a chance to use functions which require this->driver_lock to * be available. This is needed when using NPTL on Linux (and probably PThreads * on Solaris as well). */ - if (this->num_driver_actions > 0) - sched_yield(); + if (this->num_driver_actions > 0) { + /* calling sched_yield() is not sufficient on multicore systems */ + /* sched_yield(); */ + /* instead wait for the other thread to acquire this->driver_lock */ + pthread_mutex_lock(&this->driver_action_lock); + if (this->num_driver_actions > 0) + pthread_cond_wait(&this->driver_action_cond, &this->driver_action_lock); + pthread_mutex_unlock(&this->driver_action_lock); + } } if (in_buf) { @@ -1470,6 +1483,8 @@ static inline void dec_num_driver_actions(aos_t *this) { pthread_mutex_lock(&this->driver_action_lock); this->num_driver_actions--; + /* indicate the change to ao_loop() */ + pthread_cond_broadcast(&this->driver_action_cond); pthread_mutex_unlock(&this->driver_action_lock); } @@ -1609,7 +1624,7 @@ static void ao_close(xine_audio_port_t *this_gen, xine_stream_t *stream) { pthread_mutex_unlock(&this->streams_lock); /* close driver if no streams left */ - if (!ite && !this->grab_only && !stream->gapless_switch) { + if (!ite && !this->grab_only && !stream->keep_ao_driver_open) { xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n"); if (this->audio_loop_running) { @@ -1672,6 +1687,7 @@ static void ao_exit(xine_audio_port_t *this_gen) { } pthread_mutex_destroy(&this->driver_lock); + pthread_cond_destroy(&this->driver_action_cond); pthread_mutex_destroy(&this->driver_action_lock); pthread_mutex_destroy(&this->streams_lock); xine_list_delete(this->streams); @@ -1684,6 +1700,7 @@ static void ao_exit(xine_audio_port_t *this_gen) { free (this->frame_buf[1]); free (this->zero_space); + pthread_mutex_destroy(&this->current_speed_lock); pthread_mutex_destroy(&this->flush_audio_driver_lock); pthread_cond_destroy(&this->flush_audio_driver_reached); @@ -1910,8 +1927,15 @@ static int ao_set_property (xine_audio_port_t *this_gen, int property, int value if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio ) this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL); - this->ao.control(&this->ao, - (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL); + if( value == XINE_SPEED_PAUSE ) { + /* current_speed_lock is here to make sure the ao_loop will pause in a safe place. + * that is, we cannot pause writing to device, filling gaps etc. */ + pthread_mutex_lock(&this->current_speed_lock); + this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL); + pthread_mutex_unlock(&this->current_speed_lock); + } else { + this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL); + } this->current_speed = value; if( this->slow_fast_audio ) ao_update_resample_factor(this); @@ -2056,6 +2080,7 @@ xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, this->driver = driver; this->xine = xine; this->clock = xine->clock; + this->current_speed = xine->clock->speed; this->streams = xine_list_new(); /* warning: driver_lock is a recursive mutex. it must NOT be @@ -2067,6 +2092,7 @@ xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, pthread_mutex_init( &this->streams_lock, NULL ); pthread_mutex_init( &this->driver_lock, &attr ); pthread_mutex_init( &this->driver_action_lock, NULL ); + pthread_cond_init( &this->driver_action_cond, NULL ); this->ao.open = ao_open; this->ao.get_buffer = ao_get_buffer; @@ -2087,6 +2113,7 @@ xine_audio_port_t *_x_ao_new_port (xine_t *xine, ao_driver_t *driver, this->discard_buffers = 0; this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */ + pthread_mutex_init( &this->current_speed_lock, NULL ); pthread_mutex_init( &this->flush_audio_driver_lock, NULL ); pthread_cond_init( &this->flush_audio_driver_reached, NULL ); diff --git a/src/xine-engine/broadcaster.c b/src/xine-engine/broadcaster.c index 5ce1619d1..81711de49 100644 --- a/src/xine-engine/broadcaster.c +++ b/src/xine-engine/broadcaster.c @@ -32,6 +32,10 @@ * 'xine -V none -A none' */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <stdlib.h> #include <unistd.h> diff --git a/src/xine-engine/broadcaster.h b/src/xine-engine/broadcaster.h index 0c6a291eb..b59d33349 100644 --- a/src/xine-engine/broadcaster.h +++ b/src/xine-engine/broadcaster.h @@ -27,10 +27,6 @@ extern "C" { #endif -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - typedef struct broadcaster_s broadcaster_t; broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) XINE_MALLOC XINE_PROTECTED; diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h index 04fa030bf..e0866f549 100644 --- a/src/xine-engine/buffer.h +++ b/src/xine-engine/buffer.h @@ -35,10 +35,6 @@ extern "C" { #endif -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include <string.h> #include <stdio.h> #include <pthread.h> @@ -275,6 +271,7 @@ extern "C" { #define BUF_SPU_CVD 0x04050000 #define BUF_SPU_OGM 0x04060000 #define BUF_SPU_CMML 0x04070000 +#define BUF_SPU_HDMV 0x04080000 /* demuxer block types: */ @@ -378,6 +375,16 @@ struct buf_element_s { * decoder_info[2] carries denominator for display aspect ratio */ #define BUF_FLAG_ASPECT 0x0800 +/* represent the state of gapless_switch at the time buf was enqueued */ +#define BUF_FLAG_GAPLESS_SW 0x1000 + +/* Amount of audio padding added by encoder (mp3, aac). These empty + * audio frames are causing a gap when switching between mp3 files. + * decoder_info[1] carries amount of audio frames padded at the + * beginning of the buffer + * decoder_info[2] carries amount of audio frames padded at the end of + * the buffer */ +#define BUF_FLAG_AUDIO_PADDING 0x2000 /* Special buffer types: * Sometimes there is a need to relay special information from a demuxer diff --git a/src/xine-engine/demux.c b/src/xine-engine/demux.c index 257a72383..98b2e3fd3 100644 --- a/src/xine-engine/demux.c +++ b/src/xine-engine/demux.c @@ -21,6 +21,9 @@ * hide some xine engine details from demuxers and reduce code duplication */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include <stdio.h> #include <string.h> @@ -117,6 +120,34 @@ void _x_demux_flush_engine (xine_stream_t *stream) { } +static struct timespec _x_compute_interval(unsigned int millisecs) { + struct timespec ts; +#ifdef WIN32 + FILETIME ft; + ULARGE_INTEGER ui; + + GetSystemTimeAsFileTime(&ft); + ui.u.LowPart = ft.dwLowDateTime; + ui.u.HighPart = ft.dwHighDateTime; + ui.QuadPart += millisecs * 10000; + ts.tv_sec = ui.QuadPart / 10000000; + ts.tv_sec = (ui.QuadPart % 10000000)*100; +#elif _POSIX_TIMERS > 0 + clock_gettime(CLOCK_REALTIME, &ts); + uint64_t ttimer = (uint64_t)ts.tv_sec*1000 + ts.tv_nsec/1000000 + millisecs; + ts.tv_sec = ttimer/1000; + ts.tv_nsec = (ttimer%1000)*1000000; +#else + struct timeval tv; + gettimeofday(&tv, NULL); + uint64_t ttimer = (uint64_t)tv.tv_sec*1000 + tv.tv_usec/1000 + millisecs; + ts.tv_sec = ttimer/1000; + ts.tv_nsec = (ttimer%1000)*1000000; +#endif + return ts; +} + + void _x_demux_control_newpts( xine_stream_t *stream, int64_t pts, uint32_t flags ) { buf_element_t *buf; @@ -138,6 +169,29 @@ void _x_demux_control_newpts( xine_stream_t *stream, int64_t pts, uint32_t flags pthread_mutex_unlock(&stream->demux_mutex); } +/* avoid ao_loop being stuck in a pthread_cond_wait, waiting for data; + * return 1 if the stream is stopped + * (better fix wanted!) + */ +static int demux_unstick_ao_loop (xine_stream_t *stream) +{ +/* if (!stream->audio_thread_created) + return 0; +*/ + int status = xine_get_status (stream); + if (status != XINE_STATUS_QUIT && status != XINE_STATUS_STOP && stream->demux_plugin->get_status(stream->demux_plugin) != DEMUX_FINISHED) + return 0; +#if 0 + /* right, stream is stopped... */ + audio_buffer_t *buf = stream->audio_out->get_buffer (stream->audio_out); + buf->num_frames = 0; + buf->stream = NULL; + stream->audio_out->put_buffer (stream->audio_out, buf, stream); +#endif + lprintf("stuck\n"); + return 1; +} + /* sync with decoder fifos, making sure everything gets processed */ void _x_demux_control_headers_done (xine_stream_t *stream) { @@ -175,21 +229,27 @@ void _x_demux_control_headers_done (xine_stream_t *stream) { stream->audio_fifo->put (stream->audio_fifo, buf_audio); pthread_mutex_unlock(&stream->demux_mutex); + unsigned int max_iterations = 0; while ((stream->header_count_audio < header_count_audio) || (stream->header_count_video < header_count_video)) { - struct timeval tv; - struct timespec ts; lprintf ("waiting for headers. v:%d %d a:%d %d\n", stream->header_count_video, header_count_video, stream->header_count_audio, header_count_audio); + + struct timespec ts = _x_compute_interval(1000); + int ret_wait; - gettimeofday(&tv, NULL); - ts.tv_sec = tv.tv_sec + 1; - ts.tv_nsec = tv.tv_usec * 1000; /* use timedwait to workaround buggy pthread broadcast implementations */ - pthread_cond_timedwait (&stream->counter_changed, &stream->counter_lock, &ts); + ret_wait = pthread_cond_timedwait (&stream->counter_changed, &stream->counter_lock, &ts); + + if (ret_wait == ETIMEDOUT && demux_unstick_ao_loop (stream) && ++max_iterations > 4) { + xine_log(stream->xine, + XINE_LOG_MSG,_("Stuck in _x_demux_control_headers_done(). Taking the emergency exit\n")); + stream->emergency_brake = 1; + break; + } } stream->demux_action_pending = 0; @@ -203,15 +263,18 @@ void _x_demux_control_headers_done (xine_stream_t *stream) { void _x_demux_control_start( xine_stream_t *stream ) { buf_element_t *buf; + uint32_t flags = (stream->gapless_switch) ? BUF_FLAG_GAPLESS_SW : 0; pthread_mutex_lock(&stream->demux_mutex); buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo); buf->type = BUF_CONTROL_START; + buf->decoder_flags = flags; stream->video_fifo->put (stream->video_fifo, buf); buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo); buf->type = BUF_CONTROL_START; + buf->decoder_flags = flags; stream->audio_fifo->put (stream->audio_fifo, buf); pthread_mutex_unlock(&stream->demux_mutex); @@ -343,10 +406,21 @@ static void *demux_loop (void *stream_gen) { pthread_mutex_unlock( &stream->demux_lock ); pthread_mutex_lock (&stream->counter_lock); + struct timespec ts; + unsigned int max_iterations = 0; + int ret_wait; while ((stream->finished_count_audio < finished_count_audio) || (stream->finished_count_video < finished_count_video)) { lprintf ("waiting for finisheds.\n"); - pthread_cond_wait (&stream->counter_changed, &stream->counter_lock); + ts = _x_compute_interval(1000); + ret_wait = pthread_cond_timedwait (&stream->counter_changed, &stream->counter_lock, &ts); + + if (ret_wait == ETIMEDOUT && demux_unstick_ao_loop (stream) && ++max_iterations > 4) { + xine_log(stream->xine, + XINE_LOG_MSG,_("Stuck in demux_loop(). Taking the emergency exit\n")); + stream->emergency_brake = 1; + break; + } } pthread_mutex_unlock (&stream->counter_lock); diff --git a/src/xine-engine/info_helper.c b/src/xine-engine/info_helper.c index 34d1bbdba..6ce9bcd38 100644 --- a/src/xine-engine/info_helper.c +++ b/src/xine-engine/info_helper.c @@ -251,7 +251,15 @@ static void meta_info_set_unlocked_encoding(xine_stream_t *stream, int info, con size_t inbytesleft, outbytesleft; inbuf = (ICONV_CONST char *)value; - inbytesleft = strlen(value); + if (!strncmp (enc, "UTF-16", 6) || !strncmp (enc, "UCS-2", 5)) + { + /* strlen() won't work with UTF-16* or UCS-2* */ + inbytesleft = 0; + while (value[inbytesleft] || value[inbytesleft + 1]) + inbytesleft += 2; + } /* ... do we need to handle UCS-4? Probably not. */ + else + inbytesleft = strlen(value); outbytesleft = 4 * inbytesleft; /* estimative (max) */ outbuf = utf8_value = malloc(outbytesleft+1); diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index f0e33ceed..04e0b4461 100644 --- a/src/xine-engine/load_plugins.c +++ b/src/xine-engine/load_plugins.c @@ -485,7 +485,7 @@ static void _register_plugins_internal(xine_t *this, plugin_file_t *file, plugin while ( info && info->type != PLUGIN_NONE ) { - if (file) + if (file && file->filename) xine_log (this, XINE_LOG_PLUGIN, _("load_plugins: plugin %s found\n"), file->filename); else @@ -1062,20 +1062,21 @@ static void load_plugin_list(FILE *fp, xine_sarray_t *plugins) { static void save_catalog (xine_t *this) { FILE *fp; - char *cachefile, *dirfile; + char *cachefile, *cachefile_new, *dirfile; const char *relname = CACHE_CATALOG_FILE; const char *dirname = CACHE_CATALOG_DIR; const char *const homedir = xine_get_homedir(); asprintf(&cachefile, "%s/%s", homedir, relname); + asprintf(&cachefile_new, "%s.new", cachefile); /* make sure homedir (~/.xine) exists */ asprintf(&dirfile, "%s/%s", homedir, dirname); mkdir (dirfile, 0755); free (dirfile); - if( (fp = fopen(cachefile,"w")) != NULL ) { + if( (fp = fopen(cachefile_new,"w")) != NULL ) { int i; fprintf(fp, "# this file is automatically created by xine, do not edit.\n\n"); @@ -1084,9 +1085,29 @@ static void save_catalog (xine_t *this) { for (i = 0; i < PLUGIN_TYPE_MAX; i++) { save_plugin_list (fp, this->plugin_catalog->plugin_lists[i]); } - fclose(fp); + if (fclose(fp)) + { + const char *err = strerror (errno); + xine_log (this, XINE_LOG_MSG, + _("failed to save catalogue cache: %s\n"), err); + goto do_unlink; + } + else if (rename (cachefile_new, cachefile)) + { + const char *err = strerror (errno); + xine_log (this, XINE_LOG_MSG, + _("failed to replace catalogue cache: %s\n"), err); + do_unlink: + if (unlink (cachefile_new) && errno != ENOENT) + { + err = strerror (errno); + xine_log (this, XINE_LOG_MSG, + _("failed to remove new catalogue cache: %s\n"), err); + } + } } free(cachefile); + free(cachefile_new); } /* diff --git a/src/xine-engine/metronom.c b/src/xine-engine/metronom.c index 84b936941..eb9abb84a 100644 --- a/src/xine-engine/metronom.c +++ b/src/xine-engine/metronom.c @@ -304,6 +304,8 @@ static void metronom_handle_discontinuity (metronom_t *this, int type, /* video_vpts and audio_vpts adjustements */ cur_time = this->xine->clock->get_current_time(this->xine->clock); + xprintf(this->xine, XINE_VERBOSITY_DEBUG, + "current time : %" PRId64 "\n", cur_time); switch (type) { case DISC_STREAMSTART: @@ -320,33 +322,12 @@ static void metronom_handle_discontinuity (metronom_t *this, int type, case DISC_ABSOLUTE: case DISC_RELATIVE: - if (this->video_vpts < cur_time) { - /* still frame */ - if (this->audio_vpts > cur_time) { - /* still frame with audio */ - this->video_vpts = this->audio_vpts; - xprintf(this->xine, XINE_VERBOSITY_DEBUG, "video vpts adjusted to audio vpts %" PRId64 "\n", this->video_vpts); - } else { - /* still frame, no audio */ - this->video_vpts = this->prebuffer + cur_time; - this->audio_vpts = this->video_vpts; - this->audio_vpts_rmndr = 0; - this->force_video_jump = 1; - this->force_audio_jump = 1; - this->video_drift = 0; - xprintf(this->xine, XINE_VERBOSITY_DEBUG, "vpts adjusted with prebuffer to %" PRId64 "\n", - this->video_vpts); - } + if (this->video_vpts < this->audio_vpts) { + this->video_vpts = this->audio_vpts; + xprintf(this->xine, XINE_VERBOSITY_DEBUG, "video vpts adjusted to audio vpts %" PRId64 "\n", this->video_vpts); } else { - /* video */ - if (this->audio_vpts < cur_time) { - /* video, no sound */ - this->audio_vpts = this->video_vpts; - this->audio_vpts_rmndr = 0; - xprintf(this->xine, XINE_VERBOSITY_DEBUG, "audio vpts adjusted to video vpts %" PRId64 "\n", this->video_vpts); - } else { - /* video + audio */ - } + this->audio_vpts = this->video_vpts; + xprintf(this->xine, XINE_VERBOSITY_DEBUG, "audio vpts adjusted to video vpts %" PRId64 "\n", this->video_vpts); } break; } diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c index 73470be1f..0a66efaab 100644 --- a/src/xine-engine/osd.c +++ b/src/xine-engine/osd.c @@ -121,6 +121,20 @@ struct osd_ft2context_s { FT_Face face; int size; }; + +static void osd_free_ft2 (osd_object_t *osd) +{ + if( osd->ft2 ) { + if ( osd->ft2->face ) + FT_Done_Face (osd->ft2->face); + if ( osd->ft2->library ) + FT_Done_FreeType(osd->ft2->library); + free( osd->ft2 ); + osd->ft2 = NULL; + } +} +#else +static inline void osd_free_ft2 (osd_object_t *osd __attr_unused) {} #endif /* @@ -873,6 +887,11 @@ static int osd_set_font_freetype2( osd_object_t *osd, const char *fontname, int return 0; } } + + if (osd->ft2->face) { + FT_Done_Face (osd->ft2->face); + osd->ft2->face = NULL; + } #ifdef HAVE_FONTCONFIG do { @@ -931,16 +950,14 @@ static int osd_set_font_freetype2( osd_object_t *osd, const char *fontname, int _("osd: error loading font %s with ft2\n"), fontname); } - free(osd->ft2); - osd->ft2 = NULL; + osd_free_ft2 (osd); return 0; end: if (FT_Set_Pixel_Sizes(osd->ft2->face, 0, size)) { xprintf(osd->renderer->stream->xine, XINE_VERBOSITY_LOG, _("osd: error setting font size (no scalable font?)\n")); - free(osd->ft2); - osd->ft2 = NULL; + osd_free_ft2 (osd); return 0; } @@ -1516,15 +1533,7 @@ static void osd_free_object (osd_object_t *osd_to_close) { if ( osd == osd_to_close ) { free( osd->area ); -#ifdef HAVE_FT2 - if( osd->ft2 ) { - if ( osd->ft2->library ) - FT_Done_FreeType(osd->ft2->library); - - free( osd->ft2 ); - } -#endif - + osd_free_ft2 (osd); osd_free_encoding(osd); if( last ) diff --git a/src/xine-engine/refcounter.c b/src/xine-engine/refcounter.c index 8e952952b..384bdf5ed 100644 --- a/src/xine-engine/refcounter.c +++ b/src/xine-engine/refcounter.c @@ -17,6 +17,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #define LOG_MODULE "refcounter" #define LOG_VERBOSE /* diff --git a/src/xine-engine/refcounter.h b/src/xine-engine/refcounter.h index d51973675..b3ddd71fc 100644 --- a/src/xine-engine/refcounter.h +++ b/src/xine-engine/refcounter.h @@ -20,10 +20,6 @@ #ifndef HAVE_REFCOUNTER_H #define HAVE_REFCOUNTER_H -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include <pthread.h> typedef struct { diff --git a/src/xine-engine/scratch.c b/src/xine-engine/scratch.c index 696e99ffb..980af2f71 100644 --- a/src/xine-engine/scratch.c +++ b/src/xine-engine/scratch.c @@ -37,7 +37,7 @@ #include "xineutils.h" #include "scratch.h" -static void __attribute__((__format__(__printf__, 2, 0))) +static void XINE_FORMAT_PRINTF(2, 0) scratch_printf (scratch_buffer_t *this, const char *format, va_list argp) { time_t t; diff --git a/src/xine-engine/scratch.h b/src/xine-engine/scratch.h index 1029276e3..c45af198f 100644 --- a/src/xine-engine/scratch.h +++ b/src/xine-engine/scratch.h @@ -32,10 +32,7 @@ typedef struct scratch_buffer_s scratch_buffer_t; struct scratch_buffer_s { - void -#if __GNUC__ >= 3 - __attribute__((__format__(__printf__, 2, 0))) -#endif + void XINE_FORMAT_PRINTF(2, 0) (*scratch_printf) (scratch_buffer_t *this, const char *format, va_list ap); char **(*get_content) (scratch_buffer_t *this); diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c index c88e01714..d3c9e0d34 100644 --- a/src/xine-engine/video_decoder.c +++ b/src/xine-engine/video_decoder.c @@ -160,7 +160,7 @@ static void *video_decoder_loop (void *stream_gen) { running_ticket->release(running_ticket, 0); - if( !stream->gapless_switch ) + if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) ) stream->metronom->handle_video_discontinuity (stream->metronom, DISC_STREAMSTART, 0); diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index 480c1c8f2..ae0f61407 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.h @@ -36,10 +36,6 @@ extern "C" { #endif -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include <pthread.h> #ifdef XINE_COMPILE diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c index 945df3cb9..b88f10c11 100644 --- a/src/xine-engine/video_overlay.c +++ b/src/xine-engine/video_overlay.c @@ -18,6 +18,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <unistd.h> #include <string.h> diff --git a/src/xine-engine/vo_scale.c b/src/xine-engine/vo_scale.c index ff30c47a6..8d84c32da 100644 --- a/src/xine-engine/vo_scale.c +++ b/src/xine-engine/vo_scale.c @@ -22,6 +22,10 @@ * Takes into account aspect ratio correction and zooming. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdio.h> #include <string.h> #include <math.h> diff --git a/src/xine-engine/vo_scale.h b/src/xine-engine/vo_scale.h index 829405162..eb2607024 100644 --- a/src/xine-engine/vo_scale.h +++ b/src/xine-engine/vo_scale.h @@ -29,10 +29,6 @@ extern "C" { #endif -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #ifdef XINE_COMPILE # include "configfile.h" #else diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index e0c98c018..1154a4602 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -330,17 +330,20 @@ static xine_ticket_t *XINE_MALLOC ticket_init(void) { static void set_speed_internal (xine_stream_t *stream, int speed) { xine_t *xine = stream->xine; + int old_speed = xine->clock->speed; - if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) + if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) /* get all decoder and post threads in a state where they agree to be blocked */ xine->port_ticket->revoke(xine->port_ticket, 0); - if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) + if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) /* all decoder and post threads may continue now */ xine->port_ticket->issue(xine->port_ticket, 0); - stream->xine->clock->set_fine_speed (stream->xine->clock, speed); - + if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) + /* set master clock so audio_out loop can pause in a safe place */ + stream->xine->clock->set_fine_speed (stream->xine->clock, speed); + /* see coment on audio_out loop about audio_paused */ if( stream->audio_out ) { xine->port_ticket->acquire(xine->port_ticket, 1); @@ -350,6 +353,10 @@ static void set_speed_internal (xine_stream_t *stream, int speed) { xine->port_ticket->release(xine->port_ticket, 1); } + + if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE) + /* master clock is set after resuming the audio device (audio_out loop may continue) */ + stream->xine->clock->set_fine_speed (stream->xine->clock, speed); } @@ -419,6 +426,7 @@ void xine_stop (xine_stream_t *stream) { static void close_internal (xine_stream_t *stream) { int i ; + int gapless_switch = stream->gapless_switch; if( stream->slave ) { xine_close( stream->slave ); @@ -429,7 +437,7 @@ static void close_internal (xine_stream_t *stream) { } } - if( !stream->gapless_switch ) { + if( !gapless_switch ) { /* make sure that other threads cannot change the speed, especially pauseing the stream */ pthread_mutex_lock(&stream->speed_change_lock); stream->ignore_speed_change = 1; @@ -445,7 +453,7 @@ static void close_internal (xine_stream_t *stream) { stop_internal( stream ); - if( !stream->gapless_switch ) { + if( !gapless_switch ) { if (stream->video_out) stream->video_out->set_property(stream->video_out, VO_PROP_DISCARD_FRAMES, 0); if (stream->audio_out) @@ -596,6 +604,7 @@ xine_stream_t *xine_stream_new (xine_t *this, stream->early_finish_event = 0; stream->delay_finish_event = 0; stream->gapless_switch = 0; + stream->keep_ao_driver_open = 0; stream->video_out = vo; if (vo) diff --git a/src/xine-engine/xine_interface.c b/src/xine-engine/xine_interface.c index 8301414cd..c9481ab94 100644 --- a/src/xine-engine/xine_interface.c +++ b/src/xine-engine/xine_interface.c @@ -529,6 +529,9 @@ void xine_set_param (xine_stream_t *stream, int param, int value) { case XINE_PARAM_GAPLESS_SWITCH: stream->gapless_switch = !!value; + if( stream->gapless_switch && !stream->early_finish_event ) { + xprintf (stream->xine, XINE_VERBOSITY_DEBUG, "frontend possibly buggy: gapless_switch without early_finish_event\n"); + } break; default: diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index f97ca0b24..945157fc2 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.h @@ -361,6 +361,7 @@ struct xine_stream_s { int early_finish_event; /* do not wait fifos get empty before sending event */ int gapless_switch; /* next stream switch will be gapless */ int delay_finish_event; /* delay event in 1/10 sec units. 0=>no delay, -1=>forever */ + int keep_ao_driver_open; #endif }; diff --git a/src/xine-utils/Makefile.am b/src/xine-utils/Makefile.am index 8a3d88ddd..501f489fe 100644 --- a/src/xine-utils/Makefile.am +++ b/src/xine-utils/Makefile.am @@ -37,6 +37,7 @@ xineinclude_HEADERS = \ compat.h \ xine_buffer.h \ xineutils.h \ + xine_mmx.h \ xmllexer.h \ xmlparser.h \ list.h \ diff --git a/src/xine-utils/cpu_accel.c b/src/xine-utils/cpu_accel.c index c241dd7ef..d6c4bd9a8 100644 --- a/src/xine-utils/cpu_accel.c +++ b/src/xine-utils/cpu_accel.c @@ -40,6 +40,10 @@ #include "xineutils.h" +#if defined(PIC) && ! defined(__PIC__) +#define __PIC__ +#endif + #if defined(ARCH_X86) || defined(ARCH_X86_64) static jmp_buf sigill_return; diff --git a/src/xine-utils/mangle.h b/src/xine-utils/mangle.h index 7627ca2fc..746317fa5 100644 --- a/src/xine-utils/mangle.h +++ b/src/xine-utils/mangle.h @@ -29,6 +29,10 @@ #ifndef _XINE_MANGLE_H #define _XINE_MANGLE_H +#if defined(PIC) && ! defined(__PIC__) +#define __PIC__ +#endif + // Use rip-relative addressing if compiling PIC code on x86-64. #if defined(__MINGW32__) || defined(__CYGWIN__) || defined(__DJGPP__) || \ defined(__OS2__) || (defined (__OpenBSD__) && !defined(__ELF__)) diff --git a/src/xine-utils/monitor.c b/src/xine-utils/monitor.c index 650c10f99..77280ffc6 100644 --- a/src/xine-utils/monitor.c +++ b/src/xine-utils/monitor.c @@ -32,41 +32,42 @@ #ifndef NDEBUG -static long long int profiler_times[MAX_ID] ; -static long long int profiler_start[MAX_ID] ; -static long profiler_calls[MAX_ID] ; -static const char *profiler_label[MAX_ID] ; +typedef struct { + uint64_t p_times; + uint64_t p_start; + long p_calls; + const char *p_label; +} xine_profiler_t; + +static xine_profiler_t profiler[MAX_ID]; void xine_profiler_init () { - memset(profiler_times, 0, sizeof(profiler_times)); - memset(profiler_start, 0, sizeof(profiler_start)); - memset(profiler_calls, 0, sizeof(profiler_calls)); - memset(profiler_label, 0, sizeof(profiler_label)); + memset(profiler, 0, sizeof(profiler)); } int xine_profiler_allocate_slot (const char *label) { int id; - for (id = 0; id < MAX_ID && profiler_label[id] != NULL; id++) + for (id = 0; id < MAX_ID && profiler[id].p_label != NULL; id++) ; if (id >= MAX_ID) return -1; - profiler_label[id] = label; + profiler[id].p_label = label; return id; } #if defined(ARCH_X86_32) -static __inline__ unsigned long long int rdtsc(void) +static __inline__ uint64_t rdtsc(void) { unsigned long long int x; __asm__ volatile ("rdtsc\n\t" : "=A" (x)); return x; } #elif defined(ARCH_X86_64) -static __inline__ unsigned long long int rdtsc(void) +static __inline__ uint64_t rdtsc(void) { unsigned long long int a, d; __asm__ volatile ("rdtsc\n\t" : "=a" (a), "=d" (d)); @@ -78,7 +79,7 @@ void xine_profiler_start_count (int id) { if ( id >= MAX_ID || id < 0 ) return; #if defined(ARCH_X86) || defined(ARCH_X86_64) - profiler_start[id] = rdtsc(); + profiler[id].p_start = rdtsc(); #endif } @@ -86,18 +87,19 @@ void xine_profiler_stop_count (int id) { if ( id >= MAX_ID || id < 0 ) return; #if defined(ARCH_X86) || defined(ARCH_X86_64) - profiler_times[id] += rdtsc() - profiler_start[id]; + profiler[id].p_times += rdtsc() - profiler[id].p_start; #endif - profiler_calls[id]++; + profiler[id].p_calls++; } void xine_profiler_print_results (void) { int i; #if defined(ARCH_X86) || defined(ARCH_X86_64) - static long long int cpu_speed; /* cpu cyles/usec */ + static uint64_t cpu_speed; /* cpu cyles/usec */ + if (!cpu_speed) { - long long int tsc_start, tsc_end; + uint64_t tsc_start, tsc_end; struct timeval tv_start, tv_end; tsc_start = rdtsc(); @@ -119,13 +121,13 @@ void xine_profiler_print_results (void) { "----------------------------------------------------------------------------\n", "ID", "name", "cpu cycles", "calls", "cycles/call", "usec/call"); for (i=0; i<MAX_ID; i++) { - if (profiler_label[i]) { + if (profiler[i].p_label) { printf ("%2d: %-24.24s %12lld %9ld", - i, profiler_label[i], profiler_times[i], profiler_calls[i]); - if (profiler_calls[i]) { - printf(" %12lld", profiler_times[i] / profiler_calls[i]); + i, profiler[i].p_label, profiler[i].p_times, profiler[i].p_calls); + if (profiler[i].p_calls) { + printf(" %12lld", profiler[i].p_times / profiler[i].p_calls); #if defined(ARCH_X86) || defined(ARCH_X86_64) - printf(" %9lld", profiler_times[i] / (cpu_speed * profiler_calls[i])); + printf(" %9lld", profiler[i].p_times / (cpu_speed * profiler[i].p_calls)); #endif } printf ("\n"); diff --git a/src/xine-utils/utils.c b/src/xine-utils/utils.c index 689b68502..c3281f369 100644 --- a/src/xine-utils/utils.c +++ b/src/xine-utils/utils.c @@ -564,7 +564,7 @@ char *xine_get_system_encoding(void) { char *codeset = NULL; #ifdef HAVE_NL_LANGINFO - setlocale(LC_ALL, ""); + setlocale(LC_CTYPE, ""); codeset = nl_langinfo(CODESET); #endif /* diff --git a/src/xine-utils/xine_buffer.c b/src/xine-utils/xine_buffer.c index 097ca0f1f..44d0acbab 100644 --- a/src/xine-utils/xine_buffer.c +++ b/src/xine-utils/xine_buffer.c @@ -47,6 +47,10 @@ * (eg during reallocation). The user must respect that. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <stdlib.h> #include <stdio.h> #include <string.h> diff --git a/src/xine-utils/xine_mmx.h b/src/xine-utils/xine_mmx.h new file mode 100644 index 000000000..440d1efcc --- /dev/null +++ b/src/xine-utils/xine_mmx.h @@ -0,0 +1,490 @@ +/* + * Copyright (C) 2000-2006 the xine project + * + * This file is part of xine, a free video player. + * + * xine is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * xine 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 General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + */ +#ifndef XINE_MMX_H +#define XINE_MMX_H + +#if defined(ARCH_X86) || defined(ARCH_X86_64) + +typedef union { + int64_t q; /* Quadword (64-bit) value */ + uint64_t uq; /* Unsigned Quadword */ + int d[2]; /* 2 Doubleword (32-bit) values */ + unsigned int ud[2]; /* 2 Unsigned Doubleword */ + short w[4]; /* 4 Word (16-bit) values */ + unsigned short uw[4]; /* 4 Unsigned Word */ + char b[8]; /* 8 Byte (8-bit) values */ + unsigned char ub[8]; /* 8 Unsigned Byte */ + float s[2]; /* Single-precision (32-bit) value */ +} ATTR_ALIGN(8) mmx_t; /* On an 8-byte (64-bit) boundary */ + + + +#define mmx_i2r(op,imm,reg) \ + __asm__ __volatile__ (#op " %0, %%" #reg \ + : /* nothing */ \ + : "i" (imm) ) + +#define mmx_m2r(op,mem,reg) \ + __asm__ __volatile__ (#op " %0, %%" #reg \ + : /* nothing */ \ + : "m" (mem)) + +#define mmx_r2m(op,reg,mem) \ + __asm__ __volatile__ (#op " %%" #reg ", %0" \ + : "=m" (mem) \ + : /* nothing */ ) + +#define mmx_r2r(op,regs,regd) \ + __asm__ __volatile__ (#op " %" #regs ", %" #regd) + + +#define emms() __asm__ __volatile__ ("emms") + +#define movd_m2r(var,reg) mmx_m2r (movd, var, reg) +#define movd_r2m(reg,var) mmx_r2m (movd, reg, var) +#define movd_r2r(regs,regd) mmx_r2r (movd, regs, regd) + +#define movq_m2r(var,reg) mmx_m2r (movq, var, reg) +#define movq_r2m(reg,var) mmx_r2m (movq, reg, var) +#define movq_r2r(regs,regd) mmx_r2r (movq, regs, regd) + +#define packssdw_m2r(var,reg) mmx_m2r (packssdw, var, reg) +#define packssdw_r2r(regs,regd) mmx_r2r (packssdw, regs, regd) +#define packsswb_m2r(var,reg) mmx_m2r (packsswb, var, reg) +#define packsswb_r2r(regs,regd) mmx_r2r (packsswb, regs, regd) + +#define packuswb_m2r(var,reg) mmx_m2r (packuswb, var, reg) +#define packuswb_r2r(regs,regd) mmx_r2r (packuswb, regs, regd) + +#define paddb_m2r(var,reg) mmx_m2r (paddb, var, reg) +#define paddb_r2r(regs,regd) mmx_r2r (paddb, regs, regd) +#define paddd_m2r(var,reg) mmx_m2r (paddd, var, reg) +#define paddd_r2r(regs,regd) mmx_r2r (paddd, regs, regd) +#define paddw_m2r(var,reg) mmx_m2r (paddw, var, reg) +#define paddw_r2r(regs,regd) mmx_r2r (paddw, regs, regd) + +#define paddsb_m2r(var,reg) mmx_m2r (paddsb, var, reg) +#define paddsb_r2r(regs,regd) mmx_r2r (paddsb, regs, regd) +#define paddsw_m2r(var,reg) mmx_m2r (paddsw, var, reg) +#define paddsw_r2r(regs,regd) mmx_r2r (paddsw, regs, regd) + +#define paddusb_m2r(var,reg) mmx_m2r (paddusb, var, reg) +#define paddusb_r2r(regs,regd) mmx_r2r (paddusb, regs, regd) +#define paddusw_m2r(var,reg) mmx_m2r (paddusw, var, reg) +#define paddusw_r2r(regs,regd) mmx_r2r (paddusw, regs, regd) + +#define pand_m2r(var,reg) mmx_m2r (pand, var, reg) +#define pand_r2r(regs,regd) mmx_r2r (pand, regs, regd) + +#define pandn_m2r(var,reg) mmx_m2r (pandn, var, reg) +#define pandn_r2r(regs,regd) mmx_r2r (pandn, regs, regd) + +#define pcmpeqb_m2r(var,reg) mmx_m2r (pcmpeqb, var, reg) +#define pcmpeqb_r2r(regs,regd) mmx_r2r (pcmpeqb, regs, regd) +#define pcmpeqd_m2r(var,reg) mmx_m2r (pcmpeqd, var, reg) +#define pcmpeqd_r2r(regs,regd) mmx_r2r (pcmpeqd, regs, regd) +#define pcmpeqw_m2r(var,reg) mmx_m2r (pcmpeqw, var, reg) +#define pcmpeqw_r2r(regs,regd) mmx_r2r (pcmpeqw, regs, regd) + +#define pcmpgtb_m2r(var,reg) mmx_m2r (pcmpgtb, var, reg) +#define pcmpgtb_r2r(regs,regd) mmx_r2r (pcmpgtb, regs, regd) +#define pcmpgtd_m2r(var,reg) mmx_m2r (pcmpgtd, var, reg) +#define pcmpgtd_r2r(regs,regd) mmx_r2r (pcmpgtd, regs, regd) +#define pcmpgtw_m2r(var,reg) mmx_m2r (pcmpgtw, var, reg) +#define pcmpgtw_r2r(regs,regd) mmx_r2r (pcmpgtw, regs, regd) + +#define pmaddwd_m2r(var,reg) mmx_m2r (pmaddwd, var, reg) +#define pmaddwd_r2r(regs,regd) mmx_r2r (pmaddwd, regs, regd) + +#define pmulhw_m2r(var,reg) mmx_m2r (pmulhw, var, reg) +#define pmulhw_r2r(regs,regd) mmx_r2r (pmulhw, regs, regd) + +#define pmullw_m2r(var,reg) mmx_m2r (pmullw, var, reg) +#define pmullw_r2r(regs,regd) mmx_r2r (pmullw, regs, regd) + +#define por_m2r(var,reg) mmx_m2r (por, var, reg) +#define por_r2r(regs,regd) mmx_r2r (por, regs, regd) + +#define pslld_i2r(imm,reg) mmx_i2r (pslld, imm, reg) +#define pslld_m2r(var,reg) mmx_m2r (pslld, var, reg) +#define pslld_r2r(regs,regd) mmx_r2r (pslld, regs, regd) +#define psllq_i2r(imm,reg) mmx_i2r (psllq, imm, reg) +#define psllq_m2r(var,reg) mmx_m2r (psllq, var, reg) +#define psllq_r2r(regs,regd) mmx_r2r (psllq, regs, regd) +#define psllw_i2r(imm,reg) mmx_i2r (psllw, imm, reg) +#define psllw_m2r(var,reg) mmx_m2r (psllw, var, reg) +#define psllw_r2r(regs,regd) mmx_r2r (psllw, regs, regd) + +#define psrad_i2r(imm,reg) mmx_i2r (psrad, imm, reg) +#define psrad_m2r(var,reg) mmx_m2r (psrad, var, reg) +#define psrad_r2r(regs,regd) mmx_r2r (psrad, regs, regd) +#define psraw_i2r(imm,reg) mmx_i2r (psraw, imm, reg) +#define psraw_m2r(var,reg) mmx_m2r (psraw, var, reg) +#define psraw_r2r(regs,regd) mmx_r2r (psraw, regs, regd) + +#define psrld_i2r(imm,reg) mmx_i2r (psrld, imm, reg) +#define psrld_m2r(var,reg) mmx_m2r (psrld, var, reg) +#define psrld_r2r(regs,regd) mmx_r2r (psrld, regs, regd) +#define psrlq_i2r(imm,reg) mmx_i2r (psrlq, imm, reg) +#define psrlq_m2r(var,reg) mmx_m2r (psrlq, var, reg) +#define psrlq_r2r(regs,regd) mmx_r2r (psrlq, regs, regd) +#define psrlw_i2r(imm,reg) mmx_i2r (psrlw, imm, reg) +#define psrlw_m2r(var,reg) mmx_m2r (psrlw, var, reg) +#define psrlw_r2r(regs,regd) mmx_r2r (psrlw, regs, regd) + +#define psubb_m2r(var,reg) mmx_m2r (psubb, var, reg) +#define psubb_r2r(regs,regd) mmx_r2r (psubb, regs, regd) +#define psubd_m2r(var,reg) mmx_m2r (psubd, var, reg) +#define psubd_r2r(regs,regd) mmx_r2r (psubd, regs, regd) +#define psubw_m2r(var,reg) mmx_m2r (psubw, var, reg) +#define psubw_r2r(regs,regd) mmx_r2r (psubw, regs, regd) + +#define psubsb_m2r(var,reg) mmx_m2r (psubsb, var, reg) +#define psubsb_r2r(regs,regd) mmx_r2r (psubsb, regs, regd) +#define psubsw_m2r(var,reg) mmx_m2r (psubsw, var, reg) +#define psubsw_r2r(regs,regd) mmx_r2r (psubsw, regs, regd) + +#define psubusb_m2r(var,reg) mmx_m2r (psubusb, var, reg) +#define psubusb_r2r(regs,regd) mmx_r2r (psubusb, regs, regd) +#define psubusw_m2r(var,reg) mmx_m2r (psubusw, var, reg) +#define psubusw_r2r(regs,regd) mmx_r2r (psubusw, regs, regd) + +#define punpckhbw_m2r(var,reg) mmx_m2r (punpckhbw, var, reg) +#define punpckhbw_r2r(regs,regd) mmx_r2r (punpckhbw, regs, regd) +#define punpckhdq_m2r(var,reg) mmx_m2r (punpckhdq, var, reg) +#define punpckhdq_r2r(regs,regd) mmx_r2r (punpckhdq, regs, regd) +#define punpckhwd_m2r(var,reg) mmx_m2r (punpckhwd, var, reg) +#define punpckhwd_r2r(regs,regd) mmx_r2r (punpckhwd, regs, regd) + +#define punpcklbw_m2r(var,reg) mmx_m2r (punpcklbw, var, reg) +#define punpcklbw_r2r(regs,regd) mmx_r2r (punpcklbw, regs, regd) +#define punpckldq_m2r(var,reg) mmx_m2r (punpckldq, var, reg) +#define punpckldq_r2r(regs,regd) mmx_r2r (punpckldq, regs, regd) +#define punpcklwd_m2r(var,reg) mmx_m2r (punpcklwd, var, reg) +#define punpcklwd_r2r(regs,regd) mmx_r2r (punpcklwd, regs, regd) + +#define pxor_m2r(var,reg) mmx_m2r (pxor, var, reg) +#define pxor_r2r(regs,regd) mmx_r2r (pxor, regs, regd) + + +/* 3DNOW extensions */ + +#define pavgusb_m2r(var,reg) mmx_m2r (pavgusb, var, reg) +#define pavgusb_r2r(regs,regd) mmx_r2r (pavgusb, regs, regd) + + +/* AMD MMX extensions - also available in intel SSE */ + + +#define mmx_m2ri(op,mem,reg,imm) \ + __asm__ __volatile__ (#op " %1, %0, %%" #reg \ + : /* nothing */ \ + : "X" (mem), "X" (imm)) +#define mmx_r2ri(op,regs,regd,imm) \ + __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \ + : /* nothing */ \ + : "X" (imm) ) + +#define mmx_fetch(mem,hint) \ + __asm__ __volatile__ ("prefetch" #hint " %0" \ + : /* nothing */ \ + : "X" (mem)) + + +#define maskmovq(regs,maskreg) mmx_r2ri (maskmovq, regs, maskreg) + +#define movntq_r2m(mmreg,var) mmx_r2m (movntq, mmreg, var) + +#define pavgb_m2r(var,reg) mmx_m2r (pavgb, var, reg) +#define pavgb_r2r(regs,regd) mmx_r2r (pavgb, regs, regd) +#define pavgw_m2r(var,reg) mmx_m2r (pavgw, var, reg) +#define pavgw_r2r(regs,regd) mmx_r2r (pavgw, regs, regd) + +#define pextrw_r2r(mmreg,reg,imm) mmx_r2ri (pextrw, mmreg, reg, imm) + +#define pinsrw_r2r(reg,mmreg,imm) mmx_r2ri (pinsrw, reg, mmreg, imm) + +#define pmaxsw_m2r(var,reg) mmx_m2r (pmaxsw, var, reg) +#define pmaxsw_r2r(regs,regd) mmx_r2r (pmaxsw, regs, regd) + +#define pmaxub_m2r(var,reg) mmx_m2r (pmaxub, var, reg) +#define pmaxub_r2r(regs,regd) mmx_r2r (pmaxub, regs, regd) + +#define pminsw_m2r(var,reg) mmx_m2r (pminsw, var, reg) +#define pminsw_r2r(regs,regd) mmx_r2r (pminsw, regs, regd) + +#define pminub_m2r(var,reg) mmx_m2r (pminub, var, reg) +#define pminub_r2r(regs,regd) mmx_r2r (pminub, regs, regd) + +#define pmovmskb(mmreg,reg) \ + __asm__ __volatile__ ("movmskps %" #mmreg ", %" #reg) + +#define pmulhuw_m2r(var,reg) mmx_m2r (pmulhuw, var, reg) +#define pmulhuw_r2r(regs,regd) mmx_r2r (pmulhuw, regs, regd) + +#define prefetcht0(mem) mmx_fetch (mem, t0) +#define prefetcht1(mem) mmx_fetch (mem, t1) +#define prefetcht2(mem) mmx_fetch (mem, t2) +#define prefetchnta(mem) mmx_fetch (mem, nta) + +#define psadbw_m2r(var,reg) mmx_m2r (psadbw, var, reg) +#define psadbw_r2r(regs,regd) mmx_r2r (psadbw, regs, regd) + +#define pshufw_m2r(var,reg,imm) mmx_m2ri(pshufw, var, reg, imm) +#define pshufw_r2r(regs,regd,imm) mmx_r2ri(pshufw, regs, regd, imm) + +#define sfence() __asm__ __volatile__ ("sfence\n\t") + +typedef union { + float sf[4]; /* Single-precision (32-bit) value */ +} ATTR_ALIGN(16) sse_t; /* On a 16 byte (128-bit) boundary */ + + +#define sse_i2r(op, imm, reg) \ + __asm__ __volatile__ (#op " %0, %%" #reg \ + : /* nothing */ \ + : "X" (imm) ) + +#define sse_m2r(op, mem, reg) \ + __asm__ __volatile__ (#op " %0, %%" #reg \ + : /* nothing */ \ + : "X" (mem)) + +#define sse_r2m(op, reg, mem) \ + __asm__ __volatile__ (#op " %%" #reg ", %0" \ + : "=X" (mem) \ + : /* nothing */ ) + +#define sse_r2r(op, regs, regd) \ + __asm__ __volatile__ (#op " %" #regs ", %" #regd) + +#define sse_r2ri(op, regs, regd, imm) \ + __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \ + : /* nothing */ \ + : "X" (imm) ) + +#define sse_m2ri(op, mem, reg, subop) \ + __asm__ __volatile__ (#op " %0, %%" #reg ", " #subop \ + : /* nothing */ \ + : "X" (mem)) + + +#define movaps_m2r(var, reg) sse_m2r(movaps, var, reg) +#define movaps_r2m(reg, var) sse_r2m(movaps, reg, var) +#define movaps_r2r(regs, regd) sse_r2r(movaps, regs, regd) + +#define movntps_r2m(xmmreg, var) sse_r2m(movntps, xmmreg, var) + +#define movups_m2r(var, reg) sse_m2r(movups, var, reg) +#define movups_r2m(reg, var) sse_r2m(movups, reg, var) +#define movups_r2r(regs, regd) sse_r2r(movups, regs, regd) + +#define movhlps_r2r(regs, regd) sse_r2r(movhlps, regs, regd) + +#define movlhps_r2r(regs, regd) sse_r2r(movlhps, regs, regd) + +#define movhps_m2r(var, reg) sse_m2r(movhps, var, reg) +#define movhps_r2m(reg, var) sse_r2m(movhps, reg, var) + +#define movlps_m2r(var, reg) sse_m2r(movlps, var, reg) +#define movlps_r2m(reg, var) sse_r2m(movlps, reg, var) + +#define movss_m2r(var, reg) sse_m2r(movss, var, reg) +#define movss_r2m(reg, var) sse_r2m(movss, reg, var) +#define movss_r2r(regs, regd) sse_r2r(movss, regs, regd) + +#define shufps_m2r(var, reg, index) sse_m2ri(shufps, var, reg, index) +#define shufps_r2r(regs, regd, index) sse_r2ri(shufps, regs, regd, index) + +#define cvtpi2ps_m2r(var, xmmreg) sse_m2r(cvtpi2ps, var, xmmreg) +#define cvtpi2ps_r2r(mmreg, xmmreg) sse_r2r(cvtpi2ps, mmreg, xmmreg) + +#define cvtps2pi_m2r(var, mmreg) sse_m2r(cvtps2pi, var, mmreg) +#define cvtps2pi_r2r(xmmreg, mmreg) sse_r2r(cvtps2pi, mmreg, xmmreg) + +#define cvttps2pi_m2r(var, mmreg) sse_m2r(cvttps2pi, var, mmreg) +#define cvttps2pi_r2r(xmmreg, mmreg) sse_r2r(cvttps2pi, mmreg, xmmreg) + +#define cvtsi2ss_m2r(var, xmmreg) sse_m2r(cvtsi2ss, var, xmmreg) +#define cvtsi2ss_r2r(reg, xmmreg) sse_r2r(cvtsi2ss, reg, xmmreg) + +#define cvtss2si_m2r(var, reg) sse_m2r(cvtss2si, var, reg) +#define cvtss2si_r2r(xmmreg, reg) sse_r2r(cvtss2si, xmmreg, reg) + +#define cvttss2si_m2r(var, reg) sse_m2r(cvtss2si, var, reg) +#define cvttss2si_r2r(xmmreg, reg) sse_r2r(cvtss2si, xmmreg, reg) + +#define movmskps(xmmreg, reg) \ + __asm__ __volatile__ ("movmskps %" #xmmreg ", %" #reg) + +#define addps_m2r(var, reg) sse_m2r(addps, var, reg) +#define addps_r2r(regs, regd) sse_r2r(addps, regs, regd) + +#define addss_m2r(var, reg) sse_m2r(addss, var, reg) +#define addss_r2r(regs, regd) sse_r2r(addss, regs, regd) + +#define subps_m2r(var, reg) sse_m2r(subps, var, reg) +#define subps_r2r(regs, regd) sse_r2r(subps, regs, regd) + +#define subss_m2r(var, reg) sse_m2r(subss, var, reg) +#define subss_r2r(regs, regd) sse_r2r(subss, regs, regd) + +#define mulps_m2r(var, reg) sse_m2r(mulps, var, reg) +#define mulps_r2r(regs, regd) sse_r2r(mulps, regs, regd) + +#define mulss_m2r(var, reg) sse_m2r(mulss, var, reg) +#define mulss_r2r(regs, regd) sse_r2r(mulss, regs, regd) + +#define divps_m2r(var, reg) sse_m2r(divps, var, reg) +#define divps_r2r(regs, regd) sse_r2r(divps, regs, regd) + +#define divss_m2r(var, reg) sse_m2r(divss, var, reg) +#define divss_r2r(regs, regd) sse_r2r(divss, regs, regd) + +#define rcpps_m2r(var, reg) sse_m2r(rcpps, var, reg) +#define rcpps_r2r(regs, regd) sse_r2r(rcpps, regs, regd) + +#define rcpss_m2r(var, reg) sse_m2r(rcpss, var, reg) +#define rcpss_r2r(regs, regd) sse_r2r(rcpss, regs, regd) + +#define rsqrtps_m2r(var, reg) sse_m2r(rsqrtps, var, reg) +#define rsqrtps_r2r(regs, regd) sse_r2r(rsqrtps, regs, regd) + +#define rsqrtss_m2r(var, reg) sse_m2r(rsqrtss, var, reg) +#define rsqrtss_r2r(regs, regd) sse_r2r(rsqrtss, regs, regd) + +#define sqrtps_m2r(var, reg) sse_m2r(sqrtps, var, reg) +#define sqrtps_r2r(regs, regd) sse_r2r(sqrtps, regs, regd) + +#define sqrtss_m2r(var, reg) sse_m2r(sqrtss, var, reg) +#define sqrtss_r2r(regs, regd) sse_r2r(sqrtss, regs, regd) + +#define andps_m2r(var, reg) sse_m2r(andps, var, reg) +#define andps_r2r(regs, regd) sse_r2r(andps, regs, regd) + +#define andnps_m2r(var, reg) sse_m2r(andnps, var, reg) +#define andnps_r2r(regs, regd) sse_r2r(andnps, regs, regd) + +#define orps_m2r(var, reg) sse_m2r(orps, var, reg) +#define orps_r2r(regs, regd) sse_r2r(orps, regs, regd) + +#define xorps_m2r(var, reg) sse_m2r(xorps, var, reg) +#define xorps_r2r(regs, regd) sse_r2r(xorps, regs, regd) + +#define maxps_m2r(var, reg) sse_m2r(maxps, var, reg) +#define maxps_r2r(regs, regd) sse_r2r(maxps, regs, regd) + +#define maxss_m2r(var, reg) sse_m2r(maxss, var, reg) +#define maxss_r2r(regs, regd) sse_r2r(maxss, regs, regd) + +#define minps_m2r(var, reg) sse_m2r(minps, var, reg) +#define minps_r2r(regs, regd) sse_r2r(minps, regs, regd) + +#define minss_m2r(var, reg) sse_m2r(minss, var, reg) +#define minss_r2r(regs, regd) sse_r2r(minss, regs, regd) + +#define cmpps_m2r(var, reg, op) sse_m2ri(cmpps, var, reg, op) +#define cmpps_r2r(regs, regd, op) sse_r2ri(cmpps, regs, regd, op) + +#define cmpeqps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 0) +#define cmpeqps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 0) + +#define cmpltps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 1) +#define cmpltps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 1) + +#define cmpleps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 2) +#define cmpleps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 2) + +#define cmpunordps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 3) +#define cmpunordps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 3) + +#define cmpneqps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 4) +#define cmpneqps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 4) + +#define cmpnltps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 5) +#define cmpnltps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 5) + +#define cmpnleps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 6) +#define cmpnleps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 6) + +#define cmpordps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 7) +#define cmpordps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 7) + +#define cmpss_m2r(var, reg, op) sse_m2ri(cmpss, var, reg, op) +#define cmpss_r2r(regs, regd, op) sse_r2ri(cmpss, regs, regd, op) + +#define cmpeqss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 0) +#define cmpeqss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 0) + +#define cmpltss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 1) +#define cmpltss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 1) + +#define cmpless_m2r(var, reg) sse_m2ri(cmpss, var, reg, 2) +#define cmpless_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 2) + +#define cmpunordss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 3) +#define cmpunordss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 3) + +#define cmpneqss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 4) +#define cmpneqss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 4) + +#define cmpnltss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 5) +#define cmpnltss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 5) + +#define cmpnless_m2r(var, reg) sse_m2ri(cmpss, var, reg, 6) +#define cmpnless_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 6) + +#define cmpordss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 7) +#define cmpordss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 7) + +#define comiss_m2r(var, reg) sse_m2r(comiss, var, reg) +#define comiss_r2r(regs, regd) sse_r2r(comiss, regs, regd) + +#define ucomiss_m2r(var, reg) sse_m2r(ucomiss, var, reg) +#define ucomiss_r2r(regs, regd) sse_r2r(ucomiss, regs, regd) + +#define unpcklps_m2r(var, reg) sse_m2r(unpcklps, var, reg) +#define unpcklps_r2r(regs, regd) sse_r2r(unpcklps, regs, regd) + +#define unpckhps_m2r(var, reg) sse_m2r(unpckhps, var, reg) +#define unpckhps_r2r(regs, regd) sse_r2r(unpckhps, regs, regd) + +#define fxrstor(mem) \ + __asm__ __volatile__ ("fxrstor %0" \ + : /* nothing */ \ + : "X" (mem)) + +#define fxsave(mem) \ + __asm__ __volatile__ ("fxsave %0" \ + : /* nothing */ \ + : "X" (mem)) + +#define stmxcsr(mem) \ + __asm__ __volatile__ ("stmxcsr %0" \ + : /* nothing */ \ + : "X" (mem)) + +#define ldmxcsr(mem) \ + __asm__ __volatile__ ("ldmxcsr %0" \ + : /* nothing */ \ + : "X" (mem)) +#endif /*ARCH_X86 */ + +#endif /*XINE_MMX_H*/ diff --git a/src/xine-utils/xineutils.h b/src/xine-utils/xineutils.h index 5476ef2ce..581932cee 100644 --- a/src/xine-utils/xineutils.h +++ b/src/xine-utils/xineutils.h @@ -24,10 +24,6 @@ extern "C" { #endif -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include <stdlib.h> #include <string.h> #include <stdarg.h> @@ -43,6 +39,7 @@ extern "C" { # include "list.h" # include "array.h" # include "sorted_array.h" +# include "xine_mmx.h" #else # ifdef WIN32 # include <winsock.h> @@ -58,6 +55,7 @@ extern "C" { # include <xine/list.h> # include <xine/array.h> # include <xine/sorted_array.h> +# include <xine/xine_mmx.h> #endif #include <stdio.h> @@ -127,472 +125,6 @@ extern "C" { uint32_t xine_mm_accel (void) XINE_CONST XINE_PROTECTED; -#if defined(ARCH_X86) || defined(ARCH_X86_64) - -typedef union { - int64_t q; /* Quadword (64-bit) value */ - uint64_t uq; /* Unsigned Quadword */ - int d[2]; /* 2 Doubleword (32-bit) values */ - unsigned int ud[2]; /* 2 Unsigned Doubleword */ - short w[4]; /* 4 Word (16-bit) values */ - unsigned short uw[4]; /* 4 Unsigned Word */ - char b[8]; /* 8 Byte (8-bit) values */ - unsigned char ub[8]; /* 8 Unsigned Byte */ - float s[2]; /* Single-precision (32-bit) value */ -} ATTR_ALIGN(8) mmx_t; /* On an 8-byte (64-bit) boundary */ - - - -#define mmx_i2r(op,imm,reg) \ - __asm__ __volatile__ (#op " %0, %%" #reg \ - : /* nothing */ \ - : "i" (imm) ) - -#define mmx_m2r(op,mem,reg) \ - __asm__ __volatile__ (#op " %0, %%" #reg \ - : /* nothing */ \ - : "m" (mem)) - -#define mmx_r2m(op,reg,mem) \ - __asm__ __volatile__ (#op " %%" #reg ", %0" \ - : "=m" (mem) \ - : /* nothing */ ) - -#define mmx_r2r(op,regs,regd) \ - __asm__ __volatile__ (#op " %" #regs ", %" #regd) - - -#define emms() __asm__ __volatile__ ("emms") - -#define movd_m2r(var,reg) mmx_m2r (movd, var, reg) -#define movd_r2m(reg,var) mmx_r2m (movd, reg, var) -#define movd_r2r(regs,regd) mmx_r2r (movd, regs, regd) - -#define movq_m2r(var,reg) mmx_m2r (movq, var, reg) -#define movq_r2m(reg,var) mmx_r2m (movq, reg, var) -#define movq_r2r(regs,regd) mmx_r2r (movq, regs, regd) - -#define packssdw_m2r(var,reg) mmx_m2r (packssdw, var, reg) -#define packssdw_r2r(regs,regd) mmx_r2r (packssdw, regs, regd) -#define packsswb_m2r(var,reg) mmx_m2r (packsswb, var, reg) -#define packsswb_r2r(regs,regd) mmx_r2r (packsswb, regs, regd) - -#define packuswb_m2r(var,reg) mmx_m2r (packuswb, var, reg) -#define packuswb_r2r(regs,regd) mmx_r2r (packuswb, regs, regd) - -#define paddb_m2r(var,reg) mmx_m2r (paddb, var, reg) -#define paddb_r2r(regs,regd) mmx_r2r (paddb, regs, regd) -#define paddd_m2r(var,reg) mmx_m2r (paddd, var, reg) -#define paddd_r2r(regs,regd) mmx_r2r (paddd, regs, regd) -#define paddw_m2r(var,reg) mmx_m2r (paddw, var, reg) -#define paddw_r2r(regs,regd) mmx_r2r (paddw, regs, regd) - -#define paddsb_m2r(var,reg) mmx_m2r (paddsb, var, reg) -#define paddsb_r2r(regs,regd) mmx_r2r (paddsb, regs, regd) -#define paddsw_m2r(var,reg) mmx_m2r (paddsw, var, reg) -#define paddsw_r2r(regs,regd) mmx_r2r (paddsw, regs, regd) - -#define paddusb_m2r(var,reg) mmx_m2r (paddusb, var, reg) -#define paddusb_r2r(regs,regd) mmx_r2r (paddusb, regs, regd) -#define paddusw_m2r(var,reg) mmx_m2r (paddusw, var, reg) -#define paddusw_r2r(regs,regd) mmx_r2r (paddusw, regs, regd) - -#define pand_m2r(var,reg) mmx_m2r (pand, var, reg) -#define pand_r2r(regs,regd) mmx_r2r (pand, regs, regd) - -#define pandn_m2r(var,reg) mmx_m2r (pandn, var, reg) -#define pandn_r2r(regs,regd) mmx_r2r (pandn, regs, regd) - -#define pcmpeqb_m2r(var,reg) mmx_m2r (pcmpeqb, var, reg) -#define pcmpeqb_r2r(regs,regd) mmx_r2r (pcmpeqb, regs, regd) -#define pcmpeqd_m2r(var,reg) mmx_m2r (pcmpeqd, var, reg) -#define pcmpeqd_r2r(regs,regd) mmx_r2r (pcmpeqd, regs, regd) -#define pcmpeqw_m2r(var,reg) mmx_m2r (pcmpeqw, var, reg) -#define pcmpeqw_r2r(regs,regd) mmx_r2r (pcmpeqw, regs, regd) - -#define pcmpgtb_m2r(var,reg) mmx_m2r (pcmpgtb, var, reg) -#define pcmpgtb_r2r(regs,regd) mmx_r2r (pcmpgtb, regs, regd) -#define pcmpgtd_m2r(var,reg) mmx_m2r (pcmpgtd, var, reg) -#define pcmpgtd_r2r(regs,regd) mmx_r2r (pcmpgtd, regs, regd) -#define pcmpgtw_m2r(var,reg) mmx_m2r (pcmpgtw, var, reg) -#define pcmpgtw_r2r(regs,regd) mmx_r2r (pcmpgtw, regs, regd) - -#define pmaddwd_m2r(var,reg) mmx_m2r (pmaddwd, var, reg) -#define pmaddwd_r2r(regs,regd) mmx_r2r (pmaddwd, regs, regd) - -#define pmulhw_m2r(var,reg) mmx_m2r (pmulhw, var, reg) -#define pmulhw_r2r(regs,regd) mmx_r2r (pmulhw, regs, regd) - -#define pmullw_m2r(var,reg) mmx_m2r (pmullw, var, reg) -#define pmullw_r2r(regs,regd) mmx_r2r (pmullw, regs, regd) - -#define por_m2r(var,reg) mmx_m2r (por, var, reg) -#define por_r2r(regs,regd) mmx_r2r (por, regs, regd) - -#define pslld_i2r(imm,reg) mmx_i2r (pslld, imm, reg) -#define pslld_m2r(var,reg) mmx_m2r (pslld, var, reg) -#define pslld_r2r(regs,regd) mmx_r2r (pslld, regs, regd) -#define psllq_i2r(imm,reg) mmx_i2r (psllq, imm, reg) -#define psllq_m2r(var,reg) mmx_m2r (psllq, var, reg) -#define psllq_r2r(regs,regd) mmx_r2r (psllq, regs, regd) -#define psllw_i2r(imm,reg) mmx_i2r (psllw, imm, reg) -#define psllw_m2r(var,reg) mmx_m2r (psllw, var, reg) -#define psllw_r2r(regs,regd) mmx_r2r (psllw, regs, regd) - -#define psrad_i2r(imm,reg) mmx_i2r (psrad, imm, reg) -#define psrad_m2r(var,reg) mmx_m2r (psrad, var, reg) -#define psrad_r2r(regs,regd) mmx_r2r (psrad, regs, regd) -#define psraw_i2r(imm,reg) mmx_i2r (psraw, imm, reg) -#define psraw_m2r(var,reg) mmx_m2r (psraw, var, reg) -#define psraw_r2r(regs,regd) mmx_r2r (psraw, regs, regd) - -#define psrld_i2r(imm,reg) mmx_i2r (psrld, imm, reg) -#define psrld_m2r(var,reg) mmx_m2r (psrld, var, reg) -#define psrld_r2r(regs,regd) mmx_r2r (psrld, regs, regd) -#define psrlq_i2r(imm,reg) mmx_i2r (psrlq, imm, reg) -#define psrlq_m2r(var,reg) mmx_m2r (psrlq, var, reg) -#define psrlq_r2r(regs,regd) mmx_r2r (psrlq, regs, regd) -#define psrlw_i2r(imm,reg) mmx_i2r (psrlw, imm, reg) -#define psrlw_m2r(var,reg) mmx_m2r (psrlw, var, reg) -#define psrlw_r2r(regs,regd) mmx_r2r (psrlw, regs, regd) - -#define psubb_m2r(var,reg) mmx_m2r (psubb, var, reg) -#define psubb_r2r(regs,regd) mmx_r2r (psubb, regs, regd) -#define psubd_m2r(var,reg) mmx_m2r (psubd, var, reg) -#define psubd_r2r(regs,regd) mmx_r2r (psubd, regs, regd) -#define psubw_m2r(var,reg) mmx_m2r (psubw, var, reg) -#define psubw_r2r(regs,regd) mmx_r2r (psubw, regs, regd) - -#define psubsb_m2r(var,reg) mmx_m2r (psubsb, var, reg) -#define psubsb_r2r(regs,regd) mmx_r2r (psubsb, regs, regd) -#define psubsw_m2r(var,reg) mmx_m2r (psubsw, var, reg) -#define psubsw_r2r(regs,regd) mmx_r2r (psubsw, regs, regd) - -#define psubusb_m2r(var,reg) mmx_m2r (psubusb, var, reg) -#define psubusb_r2r(regs,regd) mmx_r2r (psubusb, regs, regd) -#define psubusw_m2r(var,reg) mmx_m2r (psubusw, var, reg) -#define psubusw_r2r(regs,regd) mmx_r2r (psubusw, regs, regd) - -#define punpckhbw_m2r(var,reg) mmx_m2r (punpckhbw, var, reg) -#define punpckhbw_r2r(regs,regd) mmx_r2r (punpckhbw, regs, regd) -#define punpckhdq_m2r(var,reg) mmx_m2r (punpckhdq, var, reg) -#define punpckhdq_r2r(regs,regd) mmx_r2r (punpckhdq, regs, regd) -#define punpckhwd_m2r(var,reg) mmx_m2r (punpckhwd, var, reg) -#define punpckhwd_r2r(regs,regd) mmx_r2r (punpckhwd, regs, regd) - -#define punpcklbw_m2r(var,reg) mmx_m2r (punpcklbw, var, reg) -#define punpcklbw_r2r(regs,regd) mmx_r2r (punpcklbw, regs, regd) -#define punpckldq_m2r(var,reg) mmx_m2r (punpckldq, var, reg) -#define punpckldq_r2r(regs,regd) mmx_r2r (punpckldq, regs, regd) -#define punpcklwd_m2r(var,reg) mmx_m2r (punpcklwd, var, reg) -#define punpcklwd_r2r(regs,regd) mmx_r2r (punpcklwd, regs, regd) - -#define pxor_m2r(var,reg) mmx_m2r (pxor, var, reg) -#define pxor_r2r(regs,regd) mmx_r2r (pxor, regs, regd) - - -/* 3DNOW extensions */ - -#define pavgusb_m2r(var,reg) mmx_m2r (pavgusb, var, reg) -#define pavgusb_r2r(regs,regd) mmx_r2r (pavgusb, regs, regd) - - -/* AMD MMX extensions - also available in intel SSE */ - - -#define mmx_m2ri(op,mem,reg,imm) \ - __asm__ __volatile__ (#op " %1, %0, %%" #reg \ - : /* nothing */ \ - : "X" (mem), "X" (imm)) -#define mmx_r2ri(op,regs,regd,imm) \ - __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \ - : /* nothing */ \ - : "X" (imm) ) - -#define mmx_fetch(mem,hint) \ - __asm__ __volatile__ ("prefetch" #hint " %0" \ - : /* nothing */ \ - : "X" (mem)) - - -#define maskmovq(regs,maskreg) mmx_r2ri (maskmovq, regs, maskreg) - -#define movntq_r2m(mmreg,var) mmx_r2m (movntq, mmreg, var) - -#define pavgb_m2r(var,reg) mmx_m2r (pavgb, var, reg) -#define pavgb_r2r(regs,regd) mmx_r2r (pavgb, regs, regd) -#define pavgw_m2r(var,reg) mmx_m2r (pavgw, var, reg) -#define pavgw_r2r(regs,regd) mmx_r2r (pavgw, regs, regd) - -#define pextrw_r2r(mmreg,reg,imm) mmx_r2ri (pextrw, mmreg, reg, imm) - -#define pinsrw_r2r(reg,mmreg,imm) mmx_r2ri (pinsrw, reg, mmreg, imm) - -#define pmaxsw_m2r(var,reg) mmx_m2r (pmaxsw, var, reg) -#define pmaxsw_r2r(regs,regd) mmx_r2r (pmaxsw, regs, regd) - -#define pmaxub_m2r(var,reg) mmx_m2r (pmaxub, var, reg) -#define pmaxub_r2r(regs,regd) mmx_r2r (pmaxub, regs, regd) - -#define pminsw_m2r(var,reg) mmx_m2r (pminsw, var, reg) -#define pminsw_r2r(regs,regd) mmx_r2r (pminsw, regs, regd) - -#define pminub_m2r(var,reg) mmx_m2r (pminub, var, reg) -#define pminub_r2r(regs,regd) mmx_r2r (pminub, regs, regd) - -#define pmovmskb(mmreg,reg) \ - __asm__ __volatile__ ("movmskps %" #mmreg ", %" #reg) - -#define pmulhuw_m2r(var,reg) mmx_m2r (pmulhuw, var, reg) -#define pmulhuw_r2r(regs,regd) mmx_r2r (pmulhuw, regs, regd) - -#define prefetcht0(mem) mmx_fetch (mem, t0) -#define prefetcht1(mem) mmx_fetch (mem, t1) -#define prefetcht2(mem) mmx_fetch (mem, t2) -#define prefetchnta(mem) mmx_fetch (mem, nta) - -#define psadbw_m2r(var,reg) mmx_m2r (psadbw, var, reg) -#define psadbw_r2r(regs,regd) mmx_r2r (psadbw, regs, regd) - -#define pshufw_m2r(var,reg,imm) mmx_m2ri(pshufw, var, reg, imm) -#define pshufw_r2r(regs,regd,imm) mmx_r2ri(pshufw, regs, regd, imm) - -#define sfence() __asm__ __volatile__ ("sfence\n\t") - -typedef union { - float sf[4]; /* Single-precision (32-bit) value */ -} ATTR_ALIGN(16) sse_t; /* On a 16 byte (128-bit) boundary */ - - -#define sse_i2r(op, imm, reg) \ - __asm__ __volatile__ (#op " %0, %%" #reg \ - : /* nothing */ \ - : "X" (imm) ) - -#define sse_m2r(op, mem, reg) \ - __asm__ __volatile__ (#op " %0, %%" #reg \ - : /* nothing */ \ - : "X" (mem)) - -#define sse_r2m(op, reg, mem) \ - __asm__ __volatile__ (#op " %%" #reg ", %0" \ - : "=X" (mem) \ - : /* nothing */ ) - -#define sse_r2r(op, regs, regd) \ - __asm__ __volatile__ (#op " %" #regs ", %" #regd) - -#define sse_r2ri(op, regs, regd, imm) \ - __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \ - : /* nothing */ \ - : "X" (imm) ) - -#define sse_m2ri(op, mem, reg, subop) \ - __asm__ __volatile__ (#op " %0, %%" #reg ", " #subop \ - : /* nothing */ \ - : "X" (mem)) - - -#define movaps_m2r(var, reg) sse_m2r(movaps, var, reg) -#define movaps_r2m(reg, var) sse_r2m(movaps, reg, var) -#define movaps_r2r(regs, regd) sse_r2r(movaps, regs, regd) - -#define movntps_r2m(xmmreg, var) sse_r2m(movntps, xmmreg, var) - -#define movups_m2r(var, reg) sse_m2r(movups, var, reg) -#define movups_r2m(reg, var) sse_r2m(movups, reg, var) -#define movups_r2r(regs, regd) sse_r2r(movups, regs, regd) - -#define movhlps_r2r(regs, regd) sse_r2r(movhlps, regs, regd) - -#define movlhps_r2r(regs, regd) sse_r2r(movlhps, regs, regd) - -#define movhps_m2r(var, reg) sse_m2r(movhps, var, reg) -#define movhps_r2m(reg, var) sse_r2m(movhps, reg, var) - -#define movlps_m2r(var, reg) sse_m2r(movlps, var, reg) -#define movlps_r2m(reg, var) sse_r2m(movlps, reg, var) - -#define movss_m2r(var, reg) sse_m2r(movss, var, reg) -#define movss_r2m(reg, var) sse_r2m(movss, reg, var) -#define movss_r2r(regs, regd) sse_r2r(movss, regs, regd) - -#define shufps_m2r(var, reg, index) sse_m2ri(shufps, var, reg, index) -#define shufps_r2r(regs, regd, index) sse_r2ri(shufps, regs, regd, index) - -#define cvtpi2ps_m2r(var, xmmreg) sse_m2r(cvtpi2ps, var, xmmreg) -#define cvtpi2ps_r2r(mmreg, xmmreg) sse_r2r(cvtpi2ps, mmreg, xmmreg) - -#define cvtps2pi_m2r(var, mmreg) sse_m2r(cvtps2pi, var, mmreg) -#define cvtps2pi_r2r(xmmreg, mmreg) sse_r2r(cvtps2pi, mmreg, xmmreg) - -#define cvttps2pi_m2r(var, mmreg) sse_m2r(cvttps2pi, var, mmreg) -#define cvttps2pi_r2r(xmmreg, mmreg) sse_r2r(cvttps2pi, mmreg, xmmreg) - -#define cvtsi2ss_m2r(var, xmmreg) sse_m2r(cvtsi2ss, var, xmmreg) -#define cvtsi2ss_r2r(reg, xmmreg) sse_r2r(cvtsi2ss, reg, xmmreg) - -#define cvtss2si_m2r(var, reg) sse_m2r(cvtss2si, var, reg) -#define cvtss2si_r2r(xmmreg, reg) sse_r2r(cvtss2si, xmmreg, reg) - -#define cvttss2si_m2r(var, reg) sse_m2r(cvtss2si, var, reg) -#define cvttss2si_r2r(xmmreg, reg) sse_r2r(cvtss2si, xmmreg, reg) - -#define movmskps(xmmreg, reg) \ - __asm__ __volatile__ ("movmskps %" #xmmreg ", %" #reg) - -#define addps_m2r(var, reg) sse_m2r(addps, var, reg) -#define addps_r2r(regs, regd) sse_r2r(addps, regs, regd) - -#define addss_m2r(var, reg) sse_m2r(addss, var, reg) -#define addss_r2r(regs, regd) sse_r2r(addss, regs, regd) - -#define subps_m2r(var, reg) sse_m2r(subps, var, reg) -#define subps_r2r(regs, regd) sse_r2r(subps, regs, regd) - -#define subss_m2r(var, reg) sse_m2r(subss, var, reg) -#define subss_r2r(regs, regd) sse_r2r(subss, regs, regd) - -#define mulps_m2r(var, reg) sse_m2r(mulps, var, reg) -#define mulps_r2r(regs, regd) sse_r2r(mulps, regs, regd) - -#define mulss_m2r(var, reg) sse_m2r(mulss, var, reg) -#define mulss_r2r(regs, regd) sse_r2r(mulss, regs, regd) - -#define divps_m2r(var, reg) sse_m2r(divps, var, reg) -#define divps_r2r(regs, regd) sse_r2r(divps, regs, regd) - -#define divss_m2r(var, reg) sse_m2r(divss, var, reg) -#define divss_r2r(regs, regd) sse_r2r(divss, regs, regd) - -#define rcpps_m2r(var, reg) sse_m2r(rcpps, var, reg) -#define rcpps_r2r(regs, regd) sse_r2r(rcpps, regs, regd) - -#define rcpss_m2r(var, reg) sse_m2r(rcpss, var, reg) -#define rcpss_r2r(regs, regd) sse_r2r(rcpss, regs, regd) - -#define rsqrtps_m2r(var, reg) sse_m2r(rsqrtps, var, reg) -#define rsqrtps_r2r(regs, regd) sse_r2r(rsqrtps, regs, regd) - -#define rsqrtss_m2r(var, reg) sse_m2r(rsqrtss, var, reg) -#define rsqrtss_r2r(regs, regd) sse_r2r(rsqrtss, regs, regd) - -#define sqrtps_m2r(var, reg) sse_m2r(sqrtps, var, reg) -#define sqrtps_r2r(regs, regd) sse_r2r(sqrtps, regs, regd) - -#define sqrtss_m2r(var, reg) sse_m2r(sqrtss, var, reg) -#define sqrtss_r2r(regs, regd) sse_r2r(sqrtss, regs, regd) - -#define andps_m2r(var, reg) sse_m2r(andps, var, reg) -#define andps_r2r(regs, regd) sse_r2r(andps, regs, regd) - -#define andnps_m2r(var, reg) sse_m2r(andnps, var, reg) -#define andnps_r2r(regs, regd) sse_r2r(andnps, regs, regd) - -#define orps_m2r(var, reg) sse_m2r(orps, var, reg) -#define orps_r2r(regs, regd) sse_r2r(orps, regs, regd) - -#define xorps_m2r(var, reg) sse_m2r(xorps, var, reg) -#define xorps_r2r(regs, regd) sse_r2r(xorps, regs, regd) - -#define maxps_m2r(var, reg) sse_m2r(maxps, var, reg) -#define maxps_r2r(regs, regd) sse_r2r(maxps, regs, regd) - -#define maxss_m2r(var, reg) sse_m2r(maxss, var, reg) -#define maxss_r2r(regs, regd) sse_r2r(maxss, regs, regd) - -#define minps_m2r(var, reg) sse_m2r(minps, var, reg) -#define minps_r2r(regs, regd) sse_r2r(minps, regs, regd) - -#define minss_m2r(var, reg) sse_m2r(minss, var, reg) -#define minss_r2r(regs, regd) sse_r2r(minss, regs, regd) - -#define cmpps_m2r(var, reg, op) sse_m2ri(cmpps, var, reg, op) -#define cmpps_r2r(regs, regd, op) sse_r2ri(cmpps, regs, regd, op) - -#define cmpeqps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 0) -#define cmpeqps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 0) - -#define cmpltps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 1) -#define cmpltps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 1) - -#define cmpleps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 2) -#define cmpleps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 2) - -#define cmpunordps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 3) -#define cmpunordps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 3) - -#define cmpneqps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 4) -#define cmpneqps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 4) - -#define cmpnltps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 5) -#define cmpnltps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 5) - -#define cmpnleps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 6) -#define cmpnleps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 6) - -#define cmpordps_m2r(var, reg) sse_m2ri(cmpps, var, reg, 7) -#define cmpordps_r2r(regs, regd) sse_r2ri(cmpps, regs, regd, 7) - -#define cmpss_m2r(var, reg, op) sse_m2ri(cmpss, var, reg, op) -#define cmpss_r2r(regs, regd, op) sse_r2ri(cmpss, regs, regd, op) - -#define cmpeqss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 0) -#define cmpeqss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 0) - -#define cmpltss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 1) -#define cmpltss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 1) - -#define cmpless_m2r(var, reg) sse_m2ri(cmpss, var, reg, 2) -#define cmpless_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 2) - -#define cmpunordss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 3) -#define cmpunordss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 3) - -#define cmpneqss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 4) -#define cmpneqss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 4) - -#define cmpnltss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 5) -#define cmpnltss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 5) - -#define cmpnless_m2r(var, reg) sse_m2ri(cmpss, var, reg, 6) -#define cmpnless_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 6) - -#define cmpordss_m2r(var, reg) sse_m2ri(cmpss, var, reg, 7) -#define cmpordss_r2r(regs, regd) sse_r2ri(cmpss, regs, regd, 7) - -#define comiss_m2r(var, reg) sse_m2r(comiss, var, reg) -#define comiss_r2r(regs, regd) sse_r2r(comiss, regs, regd) - -#define ucomiss_m2r(var, reg) sse_m2r(ucomiss, var, reg) -#define ucomiss_r2r(regs, regd) sse_r2r(ucomiss, regs, regd) - -#define unpcklps_m2r(var, reg) sse_m2r(unpcklps, var, reg) -#define unpcklps_r2r(regs, regd) sse_r2r(unpcklps, regs, regd) - -#define unpckhps_m2r(var, reg) sse_m2r(unpckhps, var, reg) -#define unpckhps_r2r(regs, regd) sse_r2r(unpckhps, regs, regd) - -#define fxrstor(mem) \ - __asm__ __volatile__ ("fxrstor %0" \ - : /* nothing */ \ - : "X" (mem)) - -#define fxsave(mem) \ - __asm__ __volatile__ ("fxsave %0" \ - : /* nothing */ \ - : "X" (mem)) - -#define stmxcsr(mem) \ - __asm__ __volatile__ ("stmxcsr %0" \ - : /* nothing */ \ - : "X" (mem)) - -#define ldmxcsr(mem) \ - __asm__ __volatile__ ("ldmxcsr %0" \ - : /* nothing */ \ - : "X" (mem)) -#endif /*ARCH_X86 */ /* Optimized/fast memcpy */ diff --git a/src/xine-utils/xmllexer.c b/src/xine-utils/xmllexer.c index 7da4cc59b..696c18011 100644 --- a/src/xine-utils/xmllexer.c +++ b/src/xine-utils/xmllexer.c @@ -25,6 +25,10 @@ #define LOG */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #ifdef XINE_COMPILE #include "xineutils.h" #else @@ -46,16 +50,11 @@ #define DATA 1 /* data lex mode */ /* private global variables */ -static const char * lexbuf; -static int lexbuf_size = 0; -static int lexbuf_pos = 0; -static int lex_mode = NORMAL; -static int in_comment = 0; -static char *lex_malloc = NULL; +struct lexer * static_lexer; enum utf { UTF32BE, UTF32LE, UTF16BE, UTF16LE }; -static void lex_convert (const char * buf, int size, enum utf utf) +static void lex_convert (struct lexer * lexer, const char * buf, int size, enum utf utf) { char *utf8 = malloc (size * (utf >= UTF16BE ? 3 : 6) + 1); char *bp = utf8; @@ -87,42 +86,60 @@ static void lex_convert (const char * buf, int size, enum utf utf) } } *bp = 0; - lexbuf_size = bp - utf8; - lexbuf = lex_malloc = realloc (utf8, lexbuf_size + 1); + lexer->lexbuf_size = bp - utf8; + lexer->lexbuf = lexer->lex_malloc = realloc (utf8, lexer->lexbuf_size + 1); } +/* for ABI compatibility */ void lexer_init(const char * buf, int size) { + if (static_lexer) { + lexer_finalize_r(static_lexer); + } + static_lexer = lexer_init_r(buf, size); +} + +struct lexer *lexer_init_r(const char * buf, int size) { static const char boms[] = { 0xFF, 0xFE, 0, 0, 0xFE, 0xFF }, bom_utf8[] = { 0xEF, 0xBB, 0xBF }; + struct lexer * lexer = calloc (1, sizeof (*lexer)); - free (lex_malloc); - lex_malloc = NULL; - - lexbuf = buf; - lexbuf_size = size; + lexer->lexbuf = buf; + lexer->lexbuf_size = size; if (size >= 4 && !memcmp (buf, boms + 2, 4)) - lex_convert (buf + 4, size - 4, UTF32BE); + lex_convert (lexer, buf + 4, size - 4, UTF32BE); else if (size >= 4 && !memcmp (buf, boms, 4)) - lex_convert (buf + 4, size - 4, UTF32LE); + lex_convert (lexer, buf + 4, size - 4, UTF32LE); else if (size >= 3 && !memcmp (buf, bom_utf8, 3)) { - lexbuf += 3; - lexbuf_size -= 3; + lexer->lexbuf += 3; + lexer->lexbuf_size -= 3; } else if (size >= 2 && !memcmp (buf, boms + 4, 2)) - lex_convert (buf + 2, size - 2, UTF16BE); + lex_convert (lexer, buf + 2, size - 2, UTF16BE); else if (size >= 2 && !memcmp (buf, boms, 2)) - lex_convert (buf + 2, size - 2, UTF16LE); + lex_convert (lexer, buf + 2, size - 2, UTF16LE); - lexbuf_pos = 0; - lex_mode = NORMAL; - in_comment = 0; + lexer->lexbuf_pos = 0; + lexer->lex_mode = NORMAL; + lexer->in_comment = 0; lprintf("buffer length %d\n", size); + return lexer; } +void lexer_finalize_r(struct lexer * lexer) +{ + free(lexer->lex_malloc); + free(lexer); +} + +/* for ABI compatibility */ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { + return lexer_get_token_d_r(static_lexer, _tok, _tok_size, fixed); +} + +int lexer_get_token_d_r(struct lexer * lexer, char ** _tok, int * _tok_size, int fixed) { char *tok = *_tok; int tok_size = *_tok_size; @@ -131,11 +148,11 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { char c; if (tok) { - while ((tok_pos < tok_size) && (lexbuf_pos < lexbuf_size)) { - c = lexbuf[lexbuf_pos]; - lprintf("c=%c, state=%d, in_comment=%d\n", c, state, in_comment); + while ((tok_pos < tok_size) && (lexer->lexbuf_pos < lexer->lexbuf_size)) { + c = lexer->lexbuf[lexer->lexbuf_pos]; + lprintf("c=%c, state=%d, in_comment=%d\n", c, state, lexer->in_comment); - if (lex_mode == NORMAL) { + if (lexer->lex_mode == NORMAL) { /* normal mode */ switch (state) { /* init state */ @@ -168,7 +185,7 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { break; case '/': - if (!in_comment) + if (!lexer->in_comment) state = 5; tok[tok_pos] = c; tok_pos++; @@ -206,14 +223,14 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { tok_pos++; break; } - lexbuf_pos++; + lexer->lexbuf_pos++; break; /* end of line */ case 1: if (c == '\n' || (c == '\r')) { tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; } else { tok[tok_pos] = '\0'; @@ -225,7 +242,7 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case 2: if (c == ' ' || (c == '\t')) { tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; } else { tok[tok_pos] = '\0'; @@ -238,20 +255,20 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { switch (c) { case '/': tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; /* FIXME */ tok[tok_pos] = '\0'; return T_M_START_2; break; case '!': tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; state = 8; break; case '?': tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; /* FIXME */ tok[tok_pos] = '\0'; return T_TI_START; @@ -265,8 +282,8 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { /* T_M_STOP_1 */ case 4: tok[tok_pos] = '\0'; - if (!in_comment) - lex_mode = DATA; + if (!lexer->in_comment) + lexer->lex_mode = DATA; return T_M_STOP_1; break; @@ -274,11 +291,11 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case 5: if (c == '>') { tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; /* FIXME */ tok[tok_pos] = '\0'; - if (!in_comment) - lex_mode = DATA; + if (!lexer->in_comment) + lexer->lex_mode = DATA; return T_M_STOP_2; } else { tok[tok_pos] = '\0'; @@ -295,7 +312,7 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { /* T_STRING */ case 7: tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; if (c == '\"') { /* " */ tok[tok_pos] = '\0'; /* FIXME */ return T_STRING; @@ -307,22 +324,22 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case 8: switch (c) { case '-': - lexbuf_pos++; - if (lexbuf[lexbuf_pos] == '-') + lexer->lexbuf_pos++; + if (lexer->lexbuf[lexer->lexbuf_pos] == '-') { - lexbuf_pos++; + lexer->lexbuf_pos++; tok[tok_pos++] = '-'; /* FIXME */ tok[tok_pos++] = '-'; tok[tok_pos] = '\0'; - in_comment = 1; + lexer->in_comment = 1; return T_C_START; } break; case 'D': - lexbuf_pos++; - if (strncmp(lexbuf + lexbuf_pos, "OCTYPE", 6) == 0) { + lexer->lexbuf_pos++; + if (strncmp(lexer->lexbuf + lexer->lexbuf_pos, "OCTYPE", 6) == 0) { strncpy(tok + tok_pos, "DOCTYPE", 7); /* FIXME */ - lexbuf_pos += 6; + lexer->lexbuf_pos += 6; return T_DOCTYPE_START; } else { return T_ERROR; @@ -338,7 +355,7 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case 9: if (c == '>') { tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; tok_pos++; /* FIXME */ tok[tok_pos] = '\0'; return T_TI_STOP; @@ -354,13 +371,13 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case '-': tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; state = 11; break; default: tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; state = 100; } break; @@ -371,21 +388,21 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case '>': tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; tok[tok_pos] = '\0'; /* FIX ME */ if (strlen(tok) != 3) { tok[tok_pos - 3] = '\0'; - lexbuf_pos -= 3; + lexer->lexbuf_pos -= 3; return T_IDENT; } else { - in_comment = 0; + lexer->in_comment = 0; return T_C_STOP; } break; default: tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; state = 100; } break; @@ -393,7 +410,7 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { /* T_STRING (single quotes) */ case 12: tok[tok_pos] = c; - lexbuf_pos++; + lexer->lexbuf_pos++; if (c == '\'') { /* " */ tok[tok_pos] = '\0'; /* FIXME */ return T_STRING; @@ -420,19 +437,19 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { case '?': tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; state = 9; break; case '-': tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; state = 10; break; default: tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; } break; default: @@ -445,17 +462,17 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { { case '<': tok[tok_pos] = '\0'; - lex_mode = NORMAL; + lexer->lex_mode = NORMAL; return T_DATA; default: tok[tok_pos] = c; tok_pos++; - lexbuf_pos++; + lexer->lexbuf_pos++; } } } lprintf ("loop done tok_pos = %d, tok_size=%d, lexbuf_pos=%d, lexbuf_size=%d\n", - tok_pos, tok_size, lexbuf_pos, lexbuf_size); + tok_pos, tok_size, lexer->lexbuf_pos, lexer->lexbuf_size); /* pb */ if (tok_pos >= tok_size) { @@ -466,12 +483,12 @@ int lexer_get_token_d(char ** _tok, int * _tok_size, int fixed) { lprintf("token buffer is too small\n"); lprintf("increasing buffer size to %d bytes\n", *_tok_size); if (*_tok) { - return lexer_get_token_d (_tok, _tok_size, 0); + return lexer_get_token_d_r (lexer, _tok, _tok_size, 0); } else { return T_ERROR; } } else { - if (lexbuf_pos >= lexbuf_size) { + if (lexer->lexbuf_pos >= lexer->lexbuf_size) { /* Terminate the current token */ tok[tok_pos] = '\0'; switch (state) { diff --git a/src/xine-utils/xmllexer.h b/src/xine-utils/xmllexer.h index 425d0e70a..bcea7d6b4 100644 --- a/src/xine-utils/xmllexer.h +++ b/src/xine-utils/xmllexer.h @@ -23,6 +23,10 @@ #ifndef XML_LEXER_H #define XML_LEXER_H +#ifndef XINE_DEPRECATED +#define XINE_DEPRECATED +#endif + #ifndef XINE_PROTECTED #define XINE_PROTECTED #endif @@ -49,10 +53,25 @@ #define T_DOCTYPE_STOP 17 /* > */ +/* public structure */ +struct lexer +{ + const char * lexbuf; + int lexbuf_size; + int lexbuf_pos; + int lex_mode; + int in_comment; + char *lex_malloc; +}; + + /* public functions */ -void lexer_init(const char * buf, int size) XINE_PROTECTED; -int lexer_get_token_d(char ** tok, int * tok_size, int fixed) XINE_PROTECTED; -int lexer_get_token(char * tok, int tok_size) XINE_PROTECTED; +void lexer_init(const char * buf, int size) XINE_DEPRECATED XINE_PROTECTED; +struct lexer *lexer_init_r(const char * buf, int size) XINE_PROTECTED; +void lexer_finalize_r(struct lexer * lexer) XINE_PROTECTED; +int lexer_get_token_d_r(struct lexer * lexer, char ** tok, int * tok_size, int fixed) XINE_PROTECTED; +int lexer_get_token_d(char ** tok, int * tok_size, int fixed) XINE_DEPRECATED XINE_PROTECTED; +int lexer_get_token(char * tok, int tok_size) XINE_DEPRECATED XINE_PROTECTED; char *lexer_decode_entities (const char *tok) XINE_PROTECTED; #endif diff --git a/src/xine-utils/xmlparser.c b/src/xine-utils/xmlparser.c index a4917429b..2e93da4e9 100644 --- a/src/xine-utils/xmlparser.c +++ b/src/xine-utils/xmlparser.c @@ -19,6 +19,10 @@ * Floor, Boston, MA 02110, USA */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <unistd.h> #include <stdio.h> #include <stdlib.h> @@ -47,7 +51,7 @@ #define MAX_RECURSION 10 /* private global variables */ -static int xml_parser_mode; +xml_parser_t * static_xml_parser; /* private functions */ @@ -95,10 +99,24 @@ static void free_xml_property(xml_property_t * property) { free(property); } +/* for ABI compatibility */ void xml_parser_init(const char * buf, int size, int mode) { + if (static_xml_parser) { + xml_parser_finalize_r(static_xml_parser); + } + static_xml_parser = xml_parser_init_r(buf, size, mode); +} - lexer_init(buf, size); - xml_parser_mode = mode; +xml_parser_t *xml_parser_init_r(const char * buf, int size, int mode) { + xml_parser_t *xml_parser = malloc(sizeof(*xml_parser)); + xml_parser->lexer = lexer_init_r(buf, size); + xml_parser->mode = mode; + return xml_parser; +} + +void xml_parser_finalize_r(xml_parser_t *xml_parser) { + lexer_finalize_r(xml_parser->lexer); + free(xml_parser); } static void xml_parser_free_props(xml_property_t *current_property) { @@ -153,9 +171,9 @@ void xml_parser_free_tree(xml_node_t *current_node) { #define STATE_NODE 1 #define STATE_COMMENT 7 -static int xml_parser_get_node (xml_node_t *current_node, char *root_name, int rec); +static int xml_parser_get_node (xml_parser_t *xml_parser, xml_node_t *current_node, char *root_name, int rec); -static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, +static int _xml_parser_get_node (xml_parser_t *xml_parser, char ** token_buffer, int * token_buffer_size, char ** pname_buffer, int * pname_buffer_size, char ** nname_buffer, int * nname_buffer_size, xml_node_t *current_node, char *root_name, int rec) { @@ -175,7 +193,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, memset (tok, 0, *token_buffer_size); - while ((bypass_get_token) || (res = lexer_get_token_d(token_buffer, token_buffer_size, 0)) != T_ERROR) { + while ((bypass_get_token) || (res = lexer_get_token_d_r(xml_parser->lexer, token_buffer, token_buffer_size, 0)) != T_ERROR) { tok = *token_buffer; bypass_get_token = 0; lprintf("info: %d - %d : '%s'\n", state, res, tok); @@ -228,7 +246,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, current_property = NULL; /* save node name */ - if (xml_parser_mode == XML_PARSER_CASE_INSENSITIVE) { + if (xml_parser->mode == XML_PARSER_CASE_INSENSITIVE) { strtoupper(tok); } /* make sure the buffer for the node name is big enough */ @@ -263,7 +281,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, /* set node propertys */ subtree->props = properties; lprintf("info: rec %d new subtree %s\n", rec, node_name); - parse_res = xml_parser_get_node(subtree, node_name, rec + 1); + parse_res = xml_parser_get_node(xml_parser, subtree, node_name, rec + 1); if (parse_res != 0) { return parse_res; } @@ -300,7 +318,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, break; case (T_IDENT): /* save property name */ - if (xml_parser_mode == XML_PARSER_CASE_INSENSITIVE) { + if (xml_parser->mode == XML_PARSER_CASE_INSENSITIVE) { strtoupper(tok); } /* make sure the buffer for the property name is big enough */ @@ -324,7 +342,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, switch (res) { case (T_IDENT): /* must be equal to root_name */ - if (xml_parser_mode == XML_PARSER_CASE_INSENSITIVE) { + if (xml_parser->mode == XML_PARSER_CASE_INSENSITIVE) { strtoupper(tok); } if (strcmp(tok, root_name) == 0) { @@ -470,7 +488,7 @@ static int _xml_parser_get_node (char ** token_buffer, int * token_buffer_size, } } -static int xml_parser_get_node (xml_node_t *current_node, char *root_name, int rec) +static int xml_parser_get_node (xml_parser_t *xml_parser, xml_node_t *current_node, char *root_name, int rec) { int res = 0; int token_buffer_size = TOKEN_SIZE; @@ -480,7 +498,7 @@ static int xml_parser_get_node (xml_node_t *current_node, char *root_name, int r char *pname_buffer = calloc(1, pname_buffer_size); char *nname_buffer = calloc(1, nname_buffer_size); - res = _xml_parser_get_node(&token_buffer, &token_buffer_size, + res = _xml_parser_get_node(xml_parser, &token_buffer, &token_buffer_size, &pname_buffer, &pname_buffer_size, &nname_buffer, &nname_buffer_size, current_node, root_name, rec); @@ -492,12 +510,17 @@ static int xml_parser_get_node (xml_node_t *current_node, char *root_name, int r return res; } +/* for ABI compatibility */ int xml_parser_build_tree(xml_node_t **root_node) { + return xml_parser_build_tree_r(static_xml_parser, root_node); +} + +int xml_parser_build_tree_r(xml_parser_t *xml_parser, xml_node_t **root_node) { xml_node_t *tmp_node; int res; tmp_node = new_xml_node(); - res = xml_parser_get_node(tmp_node, "", 0); + res = xml_parser_get_node(xml_parser, tmp_node, "", 0); if ((tmp_node->child) && (!tmp_node->child->next)) { *root_node = tmp_node->child; free_xml_node(tmp_node); diff --git a/src/xine-utils/xmlparser.h b/src/xine-utils/xmlparser.h index 98695a756..fe94e4b76 100644 --- a/src/xine-utils/xmlparser.h +++ b/src/xine-utils/xmlparser.h @@ -22,6 +22,10 @@ #ifndef XML_PARSER_H #define XML_PARSER_H +#ifndef XINE_DEPRECATED +#define XINE_DEPRECATED +#endif + #ifndef XINE_PROTECTED #define XINE_PROTECTED #endif @@ -51,9 +55,18 @@ typedef struct xml_node_s { struct xml_node_s *next; } xml_node_t; -void xml_parser_init(const char * buf, int size, int mode) XINE_PROTECTED; +/* xml parser */ +typedef struct xml_parser_s { + struct lexer *lexer; + int mode; +} xml_parser_t; + +void xml_parser_init(const char * buf, int size, int mode) XINE_DEPRECATED XINE_PROTECTED; +xml_parser_t *xml_parser_init_r(const char * buf, int size, int mode) XINE_PROTECTED; +void xml_parser_finalize_r(xml_parser_t *xml_parser) XINE_PROTECTED; -int xml_parser_build_tree(xml_node_t **root_node) XINE_PROTECTED; +int xml_parser_build_tree(xml_node_t **root_node) XINE_DEPRECATED XINE_PROTECTED; +int xml_parser_build_tree_r(xml_parser_t *xml_parser, xml_node_t **root_node) XINE_PROTECTED; void xml_parser_free_tree(xml_node_t *root_node) XINE_PROTECTED; |