summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgignore5
-rw-r--r--.hgtags4
-rw-r--r--AUTHORS6
-rw-r--r--ChangeLog96
-rw-r--r--Makefile.am5
-rw-r--r--README2
-rwxr-xr-xautogen.sh21
-rw-r--r--configure.ac137
-rw-r--r--debian/changelog4
-rw-r--r--debian/control2
-rw-r--r--debian/dh_xine56
-rw-r--r--debian/dh_xine.121
-rwxr-xr-xdebian/rules10
-rw-r--r--debian/watch2
-rw-r--r--doc/faq/faq.sgml129
-rw-r--r--doc/hackersguide/internals.sgml80
-rw-r--r--doc/hackersguide/intro.sgml4
-rw-r--r--doc/hackersguide/output.sgml2
-rw-r--r--doc/hackersguide/overview.sgml48
-rw-r--r--doc/hackersguide/stream.sgml10
-rw-r--r--doc/internal/HOWTO.release22
-rw-r--r--doc/man/en/Makefile.am2
-rw-r--r--doc/man/en/xine-config.11
-rw-r--r--doc/man/en/xine-list.1.in9
-rw-r--r--doc/man/en/xine.559
-rw-r--r--include/xine.h.in3
-rw-r--r--m4/Makefile.am27
-rw-r--r--m4/attributes.m42
-rw-r--r--m4/intdiv0.m446
-rw-r--r--m4/printf-posix.m46
-rw-r--r--m4/pthreads.m42
-rw-r--r--m4/uintmax_t.m48
-rw-r--r--m4/wint_t.m414
-rw-r--r--misc/Makefile.am1
-rw-r--r--misc/Makefile.plugins.in1
-rw-r--r--misc/cdda_server.c11
-rw-r--r--misc/fonts/Makefile.am2
-rw-r--r--misc/xine-lib.spec.in4
-rw-r--r--po/LINGUAS2
-rw-r--r--po/Makefile.format21
-rw-r--r--po/Makefile.in.in42
-rw-r--r--po/Makevars2
-rw-r--r--po/cs.po2295
-rw-r--r--po/de.po2712
-rw-r--r--po/en_US.po16
-rw-r--r--po/eo.po785
-rw-r--r--po/es.po809
-rw-r--r--po/eu.po838
-rw-r--r--po/fr.po1746
-rw-r--r--po/it.po773
-rw-r--r--po/libxine1.pot753
-rw-r--r--po/pl.po1060
-rw-r--r--po/pt_BR.po2156
-rw-r--r--po/sk.po999
-rw-r--r--po/tr.po776
-rw-r--r--src/Makefile.am2
-rw-r--r--src/audio_out/Makefile.am17
-rw-r--r--src/audio_out/audio_directx2_out.c8
-rw-r--r--src/audio_out/audio_directx_out.c6
-rw-r--r--src/audio_out/audio_jack_out.c41
-rw-r--r--src/audio_out/audio_pulse_out.c2
-rw-r--r--src/audio_out/audio_sndio_out.c414
-rw-r--r--src/combined/Makefile.am1
-rw-r--r--src/combined/demux_flac.c10
-rw-r--r--src/combined/ffmpeg/Makefile.am38
-rw-r--r--src/combined/ffmpeg/ff_audio_decoder.c158
-rw-r--r--src/combined/ffmpeg/ff_video_decoder.c560
-rwxr-xr-xsrc/combined/ffmpeg/mkcodeclist.pl95
-rw-r--r--src/combined/ffmpeg/xine_audio.list55
-rw-r--r--src/combined/ffmpeg/xine_video.list109
-rw-r--r--src/demuxers/Makefile.am11
-rw-r--r--src/demuxers/demux_4xm.c6
-rw-r--r--src/demuxers/demux_aac.c2
-rw-r--r--src/demuxers/demux_ac3.c8
-rw-r--r--src/demuxers/demux_asf.c19
-rw-r--r--src/demuxers/demux_cdda.c16
-rw-r--r--src/demuxers/demux_dts.c2
-rw-r--r--src/demuxers/demux_flac.c3
-rw-r--r--src/demuxers/demux_matroska-chapters.c433
-rw-r--r--src/demuxers/demux_matroska.c575
-rw-r--r--src/demuxers/demux_matroska.h150
-rw-r--r--src/demuxers/demux_mng.c10
-rw-r--r--src/demuxers/demux_mod.c25
-rw-r--r--src/demuxers/demux_mpc.c2
-rw-r--r--src/demuxers/demux_mpeg.c24
-rw-r--r--src/demuxers/demux_mpeg_block.c37
-rw-r--r--src/demuxers/demux_mpeg_pes.c8
-rw-r--r--src/demuxers/demux_mpgaudio.c50
-rw-r--r--src/demuxers/demux_nsf.c2
-rw-r--r--src/demuxers/demux_ogg.c2
-rw-r--r--src/demuxers/demux_qt.c50
-rw-r--r--src/demuxers/demux_rawdv.c3
-rw-r--r--src/demuxers/demux_real.c88
-rw-r--r--src/demuxers/demux_realaudio.c18
-rw-r--r--src/demuxers/demux_shn.c2
-rw-r--r--src/demuxers/demux_slave.c5
-rw-r--r--src/demuxers/demux_ts.c190
-rw-r--r--src/demuxers/demux_tta.c10
-rw-r--r--src/demuxers/demux_vox.c2
-rw-r--r--src/demuxers/demux_wav.c27
-rw-r--r--src/demuxers/demux_yuv_frames.c10
-rw-r--r--src/demuxers/id3.c46
-rw-r--r--src/demuxers/matroska.h54
-rw-r--r--src/dxr3/Makefile.am1
-rw-r--r--src/dxr3/dxr3_decode_spu.c4
-rw-r--r--src/dxr3/dxr3_decode_video.c4
-rw-r--r--src/dxr3/video_out_dxr3.c2
-rw-r--r--src/input/Makefile.am4
-rw-r--r--src/input/http_helper.c18
-rw-r--r--src/input/http_helper.h13
-rw-r--r--src/input/input_cdda.c283
-rw-r--r--src/input/input_dvb.c12
-rw-r--r--src/input/input_dvd.c8
-rw-r--r--src/input/input_file.c10
-rw-r--r--src/input/input_gnome_vfs.c7
-rw-r--r--src/input/input_http.c29
-rw-r--r--src/input/input_mms.c7
-rw-r--r--src/input/input_net.c14
-rw-r--r--src/input/input_pnm.c20
-rw-r--r--src/input/input_pvr.c12
-rw-r--r--src/input/input_rtp.c14
-rw-r--r--src/input/input_rtsp.c20
-rw-r--r--src/input/input_smb.c9
-rw-r--r--src/input/input_stdin_fifo.c15
-rw-r--r--src/input/input_vcd.c18
-rw-r--r--src/input/libdvdnav/bswap.h2
-rw-r--r--src/input/libdvdnav/diff_against_cvs.patch2
-rw-r--r--src/input/libdvdnav/dvd_reader.c2
-rw-r--r--src/input/libdvdnav/dvd_reader.h2
-rw-r--r--src/input/libdvdnav/md5.c2
-rw-r--r--src/input/libdvdnav/remap.c1
-rw-r--r--src/input/libreal/asmrp.c4
-rw-r--r--src/input/libreal/real.c4
-rw-r--r--src/input/libreal/rmff.c38
-rw-r--r--src/input/libreal/sdpplin.c4
-rw-r--r--src/input/librtsp/rtsp.c4
-rw-r--r--src/input/librtsp/rtsp_session.c4
-rw-r--r--src/input/mms.c16
-rw-r--r--src/input/mmsh.c2
-rw-r--r--src/input/pnm.c2
-rw-r--r--src/input/vcd/Makefile.am1
-rw-r--r--src/input/vcd/libcdio/MSWindows/aspi32.c4
-rw-r--r--src/input/vcd/xineplug_inp_vcd.c2
-rw-r--r--src/liba52/Makefile.am1
-rw-r--r--src/liba52/xine_a52_decoder.c2
-rw-r--r--src/libdts/Makefile.am1
-rw-r--r--src/libdts/xine_dts_decoder.c4
-rw-r--r--src/libfaad/Makefile.am1
-rw-r--r--src/libfaad/common.h2
-rw-r--r--src/libfaad/xine_faad_decoder.c4
-rw-r--r--src/libmad/Makefile.am1
-rw-r--r--src/libmad/xine_mad_decoder.c57
-rw-r--r--src/libmpeg2/Makefile.am3
-rw-r--r--src/libmpeg2/motion_comp.c2
-rw-r--r--src/libmpeg2/slice_xvmc_vld.c4
-rw-r--r--src/libmpeg2/xine_mpeg2_decoder.c4
-rw-r--r--src/libmpeg2new/Makefile.am19
-rw-r--r--src/libmpeg2new/include/Makefile.am5
-rw-r--r--src/libmpeg2new/include/attributes.h6
-rw-r--r--src/libmpeg2new/libmpeg2/Makefile.am9
-rw-r--r--src/libmpeg2new/libmpeg2/motion_comp_alpha.c6
-rw-r--r--src/libmpeg2new/libmpeg2/motion_comp_altivec.c4
-rw-r--r--src/libmpeg2new/libmpeg2/motion_comp_vis.c10
-rw-r--r--src/libmpeg2new/xine_mpeg2new_decoder.c22
-rw-r--r--src/libmusepack/Makefile.am1
-rw-r--r--src/libmusepack/xine_musepack_decoder.c78
-rw-r--r--src/libreal/Makefile.am1
-rw-r--r--src/libreal/xine_real_audio_decoder.c4
-rw-r--r--src/libreal/xine_real_video_decoder.c4
-rw-r--r--src/libspucc/Makefile.am1
-rw-r--r--src/libspucc/cc_decoder.c4
-rw-r--r--src/libspucc/xine_cc_decoder.c4
-rw-r--r--src/libspucmml/Makefile.am1
-rw-r--r--src/libspucmml/xine_cmml_decoder.c8
-rw-r--r--src/libspudec/Makefile.am5
-rw-r--r--src/libspudec/spu.c4
-rw-r--r--src/libspudec/spu.h2
-rw-r--r--src/libspudec/xine_spu_decoder.c4
-rw-r--r--src/libspudvb/Makefile.am1
-rw-r--r--src/libspudvb/xine_spudvb_decoder.c61
-rw-r--r--src/libspuhdmv/Makefile.am9
-rw-r--r--src/libspuhdmv/xine_hdmv_decoder.c1019
-rw-r--r--src/libsputext/Makefile.am1
-rw-r--r--src/libsputext/demux_sputext.c2
-rw-r--r--src/libsputext/xine_sputext_decoder.c4
-rw-r--r--src/libw32dll/Makefile.am1
-rw-r--r--src/libw32dll/w32codec.c4
-rw-r--r--src/libw32dll/wine/driver.c2
-rw-r--r--src/libw32dll/wine/elfdll.c2
-rw-r--r--src/libw32dll/wine/pe_image.c2
-rw-r--r--src/libw32dll/wine/pe_resource.c2
-rw-r--r--src/libw32dll/wine/resource.c2
-rw-r--r--src/libw32dll/wine/vfl.c2
-rw-r--r--src/libxineadec/Makefile.am3
-rw-r--r--src/libxineadec/fooaudio.c4
-rw-r--r--src/libxineadec/gsm610/long_term.c4
-rw-r--r--src/libxineadec/gsm610/lpc.c4
-rw-r--r--src/libxineadec/gsm610/rpe.c4
-rw-r--r--src/libxineadec/gsm610/short_term.c4
-rw-r--r--src/libxineadec/nsf.c4
-rw-r--r--src/libxineadec/xine_lpcm_decoder.c5
-rw-r--r--src/libxinevdec/Makefile.am3
-rw-r--r--src/libxinevdec/bitplane.c4
-rw-r--r--src/libxinevdec/foovideo.c4
-rw-r--r--src/libxinevdec/gdkpixbuf.c5
-rw-r--r--src/libxinevdec/image.c8
-rw-r--r--src/libxinevdec/rgb.c4
-rw-r--r--src/libxinevdec/yuv.c4
-rw-r--r--src/post/audio/Makefile.am1
-rw-r--r--src/post/audio/audio_filters.c3
-rw-r--r--src/post/audio/stretch.c4
-rw-r--r--src/post/audio/upmix.c4
-rw-r--r--src/post/audio/upmix_mono.c4
-rw-r--r--src/post/audio/volnorm.c4
-rw-r--r--src/post/deinterlace/Makefile.am1
-rw-r--r--src/post/deinterlace/tvtime.c14
-rw-r--r--src/post/deinterlace/tvtime.h5
-rw-r--r--src/post/deinterlace/xine_plugin.c13
-rw-r--r--src/post/goom/Makefile.am1
-rw-r--r--src/post/goom/ppc_zoom_ultimate.h2
-rw-r--r--src/post/goom/xine_goom.c2
-rw-r--r--src/post/mosaico/Makefile.am1
-rw-r--r--src/post/mosaico/mosaico.c2
-rw-r--r--src/post/planar/Makefile.am1
-rw-r--r--src/post/planar/boxblur.c4
-rw-r--r--src/post/planar/denoise3d.c4
-rw-r--r--src/post/planar/eq.c4
-rw-r--r--src/post/planar/eq2.c4
-rw-r--r--src/post/planar/noise.c4
-rw-r--r--src/post/planar/planar.c4
-rw-r--r--src/post/planar/pp.c2
-rw-r--r--src/post/planar/unsharp.c4
-rw-r--r--src/post/visualizations/Makefile.am1
-rw-r--r--src/post/visualizations/fftgraph.c4
-rw-r--r--src/post/visualizations/fftscope.c4
-rw-r--r--src/post/visualizations/fooviz.c4
-rw-r--r--src/post/visualizations/oscope.c4
-rw-r--r--src/video_out/Makefile.am3
-rw-r--r--src/video_out/deinterlace.c4
-rw-r--r--src/video_out/video_out_directx.c125
-rw-r--r--src/video_out/video_out_xcbxv.c95
-rw-r--r--src/video_out/video_out_xv.c77
-rw-r--r--src/video_out/video_out_xxmc.c53
-rw-r--r--src/video_out/xv_common.h24
-rw-r--r--src/video_out/xxmc.h10
-rw-r--r--src/xine-engine/alphablend.c8
-rw-r--r--src/xine-engine/audio_decoder.c6
-rw-r--r--src/xine-engine/audio_out.c37
-rw-r--r--src/xine-engine/broadcaster.c4
-rw-r--r--src/xine-engine/broadcaster.h4
-rw-r--r--src/xine-engine/buffer.h15
-rw-r--r--src/xine-engine/demux.c88
-rw-r--r--src/xine-engine/info_helper.c10
-rw-r--r--src/xine-engine/load_plugins.c29
-rw-r--r--src/xine-engine/metronom.c33
-rw-r--r--src/xine-engine/osd.c35
-rw-r--r--src/xine-engine/refcounter.c5
-rw-r--r--src/xine-engine/refcounter.h4
-rw-r--r--src/xine-engine/scratch.c2
-rw-r--r--src/xine-engine/scratch.h5
-rw-r--r--src/xine-engine/video_decoder.c2
-rw-r--r--src/xine-engine/video_out.h4
-rw-r--r--src/xine-engine/video_overlay.c4
-rw-r--r--src/xine-engine/vo_scale.c4
-rw-r--r--src/xine-engine/vo_scale.h4
-rw-r--r--src/xine-engine/xine.c21
-rw-r--r--src/xine-engine/xine_interface.c3
-rw-r--r--src/xine-engine/xine_internal.h1
-rw-r--r--src/xine-utils/Makefile.am1
-rw-r--r--src/xine-utils/cpu_accel.c4
-rw-r--r--src/xine-utils/mangle.h4
-rw-r--r--src/xine-utils/monitor.c46
-rw-r--r--src/xine-utils/utils.c2
-rw-r--r--src/xine-utils/xine_buffer.c4
-rw-r--r--src/xine-utils/xine_mmx.h490
-rw-r--r--src/xine-utils/xineutils.h472
-rw-r--r--src/xine-utils/xmllexer.c143
-rw-r--r--src/xine-utils/xmllexer.h25
-rw-r--r--src/xine-utils/xmlparser.c49
-rw-r--r--src/xine-utils/xmlparser.h17
280 files changed, 11883 insertions, 12343 deletions
diff --git a/.hgignore b/.hgignore
index cf9d8afcb..38b9d4414 100644
--- a/.hgignore
+++ b/.hgignore
@@ -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
diff --git a/.hgtags b/.hgtags
index 9dbfe26f5..f054f132c 100644
--- a/.hgtags
+++ b/.hgtags
@@ -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
diff --git a/AUTHORS b/AUTHORS
index 5260ba4ec..52758d0cf 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -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.
diff --git a/ChangeLog b/ChangeLog
index 7ea8d77c7..3f37ddd20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,/' $@
diff --git a/README b/README
index 349fdd2b1..ce6e85d0d 100644
--- a/README
+++ b/README
@@ -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 &ndash; 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 &ndash; 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, &hellip; 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 &ndash; 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&hellip;
</para>
<para>
Generate your patch using either <command>cvs diff -u &gt;
@@ -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) &ndash; 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 &ndash; 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) &ndash; 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, &hellip;) offer binaries
+ for their distributions &ndash; 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 &ndash; 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 &ndash; in recent versions).
</para>
<para>
Frontends might need additional libraries, e.g. for gxine you'll need to have
@@ -274,7 +274,7 @@
<screen>&nbsp;&nbsp;&nbsp;<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 &hellip;), then:
<screen>
&nbsp;&nbsp;&nbsp;<command>./configure</command>
&nbsp;&nbsp;&nbsp;<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> &ndash; 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>
-&nbsp;&nbsp;&nbsp;<command>./autogen.sh</command> [-> *only* if you checked your sources out of CVS]
+&nbsp;&nbsp;&nbsp;<command>./autogen.sh</command> [&rarr; <emphasis>only</emphasis> if you checked your sources out of CVS]
&nbsp;&nbsp;&nbsp;<command>./configure</command>
&nbsp;&nbsp;&nbsp;<command>make</command>
&nbsp;&nbsp;&nbsp;<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>&nbsp;&nbsp;&nbsp;<command>./autogen.sh &amp;&amp; make clean && make dist</command></screen>
+ <screen>&nbsp;&nbsp;&nbsp;<command>./autogen.sh &amp;&amp; make clean &amp;&amp; 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>
&nbsp;&nbsp;&nbsp;<command>cd ..</command>
&nbsp;&nbsp;&nbsp;<command>ls *.deb</command>
-&nbsp;&nbsp;&nbsp;<command>su - -c 'cd '"`pwd`"' && dpkg -i &lt;DEB_PACKAGES&gt;'</command>
+&nbsp;&nbsp;&nbsp;<command>su - -c 'cd '"`pwd`"' &amp;&amp; dpkg -i &lt;DEB_PACKAGES&gt;'</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/&hellip;)</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>&nbsp;&nbsp;&nbsp;<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 &ndash; it's probably a good
idea to add this to your <filename>~/.bashrc</filename> (or somewhere similar):
<screen>
&nbsp;&nbsp;&nbsp;<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>, &hellip; 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 &ndash; 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> &ndash; 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 &ndash; 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, &hellip; !</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 &ndash; very cool ;> &hellip; 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 &ndash; 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> &hellip;).
</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 &ndash;
+ chrony, ntpd, &hellip;).
</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 &ndash; 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 &ndash; 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>&nbsp;&nbsp;&nbsp;video.XV_COLORKEY:2110</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;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 (&lt; 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 &ndash; 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>, &hellip;)
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>&nbsp;&nbsp;&nbsp;<command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]]</command></screen>
+ <screen>&nbsp;&nbsp;&nbsp;<command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 [&hellip;]]]</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&hellip;
<screen>&nbsp;&nbsp;&nbsp;<command>ln -s hdc /dev/dvd</command></screen>
- ...should do the job. Also make sure you have read and write access on
+ &hellip; 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>&nbsp;&nbsp;&nbsp;<command>gxine -A esd</command></screen>
- This may result in worse playback - exact syncronization is not possible
+ This may result in worse playback &ndash; 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 &ndash; 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 &ndash; 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, &hellip;) 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>, &hellip;)
</para>
</listitem>
<listitem>
@@ -124,7 +124,7 @@
&nbsp;&nbsp;&nbsp; demux_mpeg_block.so
&nbsp;&nbsp;&nbsp; decode_mpeg.so
&nbsp;&nbsp;&nbsp; video_out_xv.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; xine-vcdnav-0.9.11
&nbsp;&nbsp;&nbsp; input_vcdnav.so
&nbsp;&nbsp;&nbsp; xine-lib-1.2
@@ -135,21 +135,21 @@
&nbsp;&nbsp;&nbsp; demuxers
&nbsp;&nbsp;&nbsp; fli.so
&nbsp;&nbsp;&nbsp; avi.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; decoders
&nbsp;&nbsp;&nbsp; ffmpeg.so
&nbsp;&nbsp;&nbsp; mpeg.so (may contain mpeg 1/2 audio and video decoders)
&nbsp;&nbsp;&nbsp; pcm.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; output
&nbsp;&nbsp;&nbsp; video_xv.so
&nbsp;&nbsp;&nbsp; audio_oss.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; xine-lib-3.0
&nbsp;&nbsp;&nbsp; avi.so (avi demuxer)
&nbsp;&nbsp;&nbsp; mpeg.so (contains mpeg demuxers and audio/video decoders)
&nbsp;&nbsp;&nbsp; video_out_xv.so (Xv video out)
-&nbsp;&nbsp;&nbsp; ...</screen>
+&nbsp;&nbsp;&nbsp; &hellip;</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>
&nbsp;&nbsp;&nbsp;#include &lt;xine/plugin.h&gt;
-&nbsp;&nbsp;&nbsp;...
+&nbsp;&nbsp;&nbsp;&hellip;
&nbsp;&nbsp;&nbsp;plugin_t *init_api12(void) {
&nbsp;&nbsp;&nbsp; input_plugin_t *this;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; this = malloc(sizeof(input_plugin_t));
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; return (plugin_t *)this;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;/* 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 @@
&nbsp;&nbsp;&nbsp; * smoothing algorithms to correct sound card clock drifts.
&nbsp;&nbsp;&nbsp; * obs: previously this error was added to xine scr.
&nbsp;&nbsp;&nbsp; *
-&nbsp;&nbsp;&nbsp; * audio buf ---> metronom --> audio fifo --> (buf->vpts - hw_vpts)
+&nbsp;&nbsp;&nbsp; * audio buf ---&gt; metronom --&gt; audio fifo --&gt; (buf-&gt;vpts - hw_vpts)
&nbsp;&nbsp;&nbsp; * (vpts_offset + error) gap
&nbsp;&nbsp;&nbsp; * <---------- control --------------|
&nbsp;&nbsp;&nbsp; *
@@ -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>
&nbsp;&nbsp;&nbsp;video_overlay_event_t event;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;event.object.handle = this->video_overlay->get_handle(this->video_overlay,0);
+&nbsp;&nbsp;&nbsp;event.object.handle = this-&gt;video_overlay-&gt;get_handle(this-&gt;video_overlay,0);
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;memset(this->event.object.overlay, 0, sizeof(*this->event.object.overlay));
+&nbsp;&nbsp;&nbsp;memset(this-&gt;event.object.overlay, 0, sizeof(*this-&gt;event.object.overlay));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* set position and size for this overlay */
-&nbsp;&nbsp;&nbsp;event.object.overlay->x = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->y = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->width = 100;
-&nbsp;&nbsp;&nbsp;event.object.overlay->height = 100;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;x = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;y = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;width = 100;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;height = 100;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* clipping region is mostly used by dvd menus for highlighting buttons */
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_top = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_bottom = image_height;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_left = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_right = image_width;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_top = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_bottom = image_height;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_left = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_right = image_width;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* the hard part: provide a RLE image */
-&nbsp;&nbsp;&nbsp;event.object.overlay->rle = your_rle;
-&nbsp;&nbsp;&nbsp;event.object.overlay->data_size = your_size;
-&nbsp;&nbsp;&nbsp;event.object.overlay->num_rle = your_rle_count;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;rle = your_rle;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;data_size = your_size;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;num_rle = your_rle_count;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* palette must contain YUV values for each color index */
-&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay->clip_color, color, sizeof(color));
+&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&gt;clip_color, color, sizeof(color));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* this table contains transparency levels for each color index.
&nbsp;&nbsp;&nbsp; 0 = completely transparent, 15 - completely opaque */
-&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay->clip_trans, trans, sizeof(trans));
+&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&gt;clip_trans, trans, sizeof(trans));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* set the event type and time for displaying */
&nbsp;&nbsp;&nbsp;event.event_type = EVENT_SHOW_SPU;
&nbsp;&nbsp;&nbsp;event.vpts = 0; /* zero is a special vpts value, it means 'now' */
-&nbsp;&nbsp;&nbsp;video_overlay->add_event(video_overlay, &amp;event);</programlisting>
+&nbsp;&nbsp;&nbsp;video_overlay-&gt;add_event(video_overlay, &amp;event);</programlisting>
</para>
</sect2>
<sect2>
@@ -535,7 +535,7 @@
<programlisting>
&nbsp;&nbsp;&nbsp;osd_object_t osd;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;osd = this->osd_renderer->new_object(osd_renderer, 300, 200);</programlisting>
+&nbsp;&nbsp;&nbsp;osd = this-&gt;osd_renderer-&gt;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>
&nbsp;&nbsp;&nbsp;/* set sans serif 24 font */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_font(osd, "sans", 24);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_font(osd, "sans", 24);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, black border, transparent background to
&nbsp;&nbsp;&nbsp; starting at the index used by the first text palette */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, no border, translucid background to
&nbsp;&nbsp;&nbsp; starting at the index used by the second text palette */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting>
<para>
Now render the text and show it:
<programlisting>
-&nbsp;&nbsp;&nbsp;osd_renderer->render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
-&nbsp;&nbsp;&nbsp;osd_renderer->render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;osd_renderer->show(osd, 0); /* 0 stands for 'now' */</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;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>
&nbsp;&nbsp;&nbsp;for( i=0; i &lt; 100; i+=10 ) {
-&nbsp;&nbsp;&nbsp; osd_renderer->set_position(osd, i, i );
-&nbsp;&nbsp;&nbsp; osd_renderer->show(osd, 0);
+&nbsp;&nbsp;&nbsp; osd_renderer-&gt;set_position(osd, i, i );
+&nbsp;&nbsp;&nbsp; osd_renderer-&gt;show(osd, 0);
&nbsp;&nbsp;&nbsp; sleep(1);
&nbsp;&nbsp;&nbsp;}
-&nbsp;&nbsp;&nbsp;osd_renderer->hide(osd, 0);</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;hide(osd, 0);</programlisting>
<para>
For additional functions please check osd.h or the public header.
</para>
@@ -618,13 +618,13 @@
</para>
<programlisting>
&nbsp;&nbsp;&nbsp;/* obtains size the text will occupy */
-&nbsp;&nbsp;&nbsp;renderer->get_text_size(osd, text, &amp;width, &amp;height);
+&nbsp;&nbsp;&nbsp;renderer-&gt;get_text_size(osd, text, &amp;width, &amp;height);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* draws a box using font background color (translucid) */
-&nbsp;&nbsp;&nbsp;renderer->filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
+&nbsp;&nbsp;&nbsp;renderer-&gt;filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* render text */
-&nbsp;&nbsp;&nbsp;renderer->render_text(osd, x1, y1, text, OSD_TEXT2);</programlisting>
+&nbsp;&nbsp;&nbsp;renderer-&gt;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>
-&nbsp;&nbsp;&nbsp;modified_frame = port-&gt;original_port-&gt;get_frame(port->original_port, ...);
+&nbsp;&nbsp;&nbsp;modified_frame = port-&gt;original_port-&gt;get_frame(port-&gt;original_port, &hellip;);
&nbsp;&nbsp;&nbsp;_x_post_frame_copy_down(frame, modified_frame);
&nbsp;&nbsp;&nbsp;copy_and_modify(frame, modified_frame);
&nbsp;&nbsp;&nbsp;skip = modified_frame-&gt;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, &hellip;). 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 &ndash; 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>
&nbsp;&nbsp;&nbsp;static void push (my_stack_t *this_gen, int i) {
&nbsp;&nbsp;&nbsp; intstack_t *this = (intstack_t *)this_gen;
-&nbsp;&nbsp;&nbsp; this->values[MAX_STACK_SIZE - ++this->stack_size] = i;
+&nbsp;&nbsp;&nbsp; this-&gt;values[MAX_STACK_SIZE - ++this-&gt;stack_size] = i;
&nbsp;&nbsp;&nbsp;}</programlisting>
</para>
<para>
@@ -613,15 +613,15 @@
&nbsp;&nbsp;&nbsp; this = malloc(sizeof(intstack_t));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* fill in methods */
-&nbsp;&nbsp;&nbsp; this->push = push;
-&nbsp;&nbsp;&nbsp; this->add = add;
-&nbsp;&nbsp;&nbsp; this->pop = pop;
+&nbsp;&nbsp;&nbsp; this-&gt;push = push;
+&nbsp;&nbsp;&nbsp; this-&gt;add = add;
+&nbsp;&nbsp;&nbsp; this-&gt;pop = pop;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* init data fields */
-&nbsp;&nbsp;&nbsp; this->stack_size = 0;
+&nbsp;&nbsp;&nbsp; this-&gt;stack_size = 0;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* return public part */
-&nbsp;&nbsp;&nbsp; return &amp;this->stack;
+&nbsp;&nbsp;&nbsp; return &amp;this-&gt;stack;
&nbsp;&nbsp;&nbsp;}</programlisting>
</para>
<sect2>
@@ -686,7 +686,7 @@
<listitem>
<para>
use something like
- <programlisting>&nbsp;&nbsp;&nbsp;printf("module: ..."[,...]);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;printf("module: ..."[,&hellip;]);</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-&gt;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-&gt;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> &gt;<filename>foo.patch</filename></command>
+ to create the file to be attached is acceptable (but note that the first
+ line &ndash; up to the first line feed &ndash; 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>
&nbsp;&nbsp;&nbsp;buf_element_t *buf;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;buf = stream->video_fifo->buffer_pool_alloc(stream->video_fifo);
-&nbsp;&nbsp;&nbsp;buf->type = BUF_CONTROL_START;
-&nbsp;&nbsp;&nbsp;stream->video_fifo->put(stream->video_fifo, buf);</programlisting>
+&nbsp;&nbsp;&nbsp;buf = stream-&gt;video_fifo-&gt;buffer_pool_alloc(stream-&gt;video_fifo);
+&nbsp;&nbsp;&nbsp;buf-&gt;type = BUF_CONTROL_START;
+&nbsp;&nbsp;&nbsp;stream-&gt;video_fifo-&gt;put(stream-&gt;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>&nbsp;&nbsp;&nbsp;buf->type = fourcc_to_buf_video((void*)this->avi->bih.biCompression);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;buf-&gt;type = fourcc_to_buf_video((void*)this-&gt;avi-&gt;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>&nbsp;&nbsp;&nbsp;vpts = metronom->got_spu_packet(metronom, buf->pts);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;vpts = metronom-&gt;got_spu_packet(metronom, buf-&gt;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 \
diff --git a/po/cs.po b/po/cs.po
index bc6a782d6..935558549 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -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"
diff --git a/po/de.po b/po/de.po
index e727669ea..f6e2ea3e7 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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"
diff --git a/po/eo.po b/po/eo.po
index d9e5a1195..a743edeb3 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -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"
diff --git a/po/es.po b/po/es.po
index c45ed70bb..a1ce2d710 100644
--- a/po/es.po
+++ b/po/es.po
@@ -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"
diff --git a/po/eu.po b/po/eu.po
index 04f6d3e17..8fcd07e96 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -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."
diff --git a/po/fr.po b/po/fr.po
index 5346a381f..a8fa04c7a 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -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"
diff --git a/po/it.po b/po/it.po
index 323005344..d69171538 100644
--- a/po/it.po
+++ b/po/it.po
@@ -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 ""
diff --git a/po/pl.po b/po/pl.po
index 491d8be43..6f55774b7 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -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"
diff --git a/po/sk.po b/po/sk.po
index 9b9b49545..c14c083d3 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -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."
diff --git a/po/tr.po b/po/tr.po
index a5c80ca93..025753581 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -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;