mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 1.7.10
- Updated the Italian OSD texts (thanks to Diego Pierotto). - Fixed wrong bracketing in cChannel::SubtitlingType() etc. (thanks to Rolf Ahrenberg). - Fixed not logging changes for channels that have no number (reported by Timothy D. Lenz). - Changed the project's URLs and email to tvdr.de. - Added Lithuanian language translations (thanks to Valdemaras Pipiras). - Updated Chinese language texts (thanks to Nan Feng). - Only checking DVB_API_VERSION to be >=5 in order to stay compileable in case the DVB API version number is increased (the API claims to always be backward compatible). - Fixed saving terminal settings when running in background (thanks to Manuel Reimer). - Fixed cFrameDetector::Analyze() to handle video streams where the frame type is not detectable from the first TS packet of a frame. - Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt() (reported by Rene van den Braken). - Added Slovakian language texts (thanks to Milan Hrala). - Fixed EntriesOnSameFileSystem() to avoid using f_fsid, which may be 0 (thanks to Frank Schmirler). - Fixed starting a recording at an I-frame. - Fixed generating the index for recordings from channels that put a whole GOP into one payload unit. - The index file for TS recordings is now regenerated on-the-fly if a recording is replayed that has no index. This can also be used to re-create a broken index file by manually deleting the index file and then replaying the recording (at least until the index file has been generated). - The cRingBufferLinear::Read() function now returns -1 and sets errno to EAGAIN if the buffer is already full. - Fixed handling DVB subtitles for PES recordings (thanks to Rolf Ahrenberg). - Added the audio id to the call of PlayAudio() in cDevice::PlayTsAudio() (thanks to Andreas Schaefers). - Fixed references to old *.vdr file names in MANUAL (reported by Arthur Konovalov). - Reverted "Removed limitation to PAL resolution from SPU handling" because it cause nothing but trouble. Besides, the core VDR doesn't use this, anyway. - Fixed the default value for "Pause key handling" in the MANUAL (reported by Diego Pierotto).
This commit is contained in:
parent
06bf4c453e
commit
ea01358b3b
29
CONTRIBUTORS
29
CONTRIBUTORS
@ -1,7 +1,7 @@
|
||||
Tons of suggestions, bugreports, patches and other contributions have been
|
||||
provided by the people on the 'linux-dvb' and 'vdr' mailing lists
|
||||
Special thanks go to the following individuals (if your name is missing here,
|
||||
please send an email to kls@cadsoft.de):
|
||||
please send an email to kls@tvdr.de):
|
||||
|
||||
Carsten Koch <Carsten.Koch@icem.de>
|
||||
for adding LIRC support
|
||||
@ -526,7 +526,7 @@ Andreas B
|
||||
Onno Kreuzinger <ok@solutas.net>
|
||||
for reporting leftover references to the file FORMATS in MANUAL and svdrp.c
|
||||
|
||||
Rudi Hofer (Rudi.Hofer@cadsoft.de)
|
||||
Rudi Hofer (Rudi.Hofer@gmx.de)
|
||||
for his help in keeping 'channels.conf' up to date
|
||||
|
||||
Gregoire Favre <greg@ulima.unil.ch>
|
||||
@ -1081,6 +1081,8 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
|
||||
for adding a note about the meaning of PERCENTAGEDELTA in cRingBuffer::UpdatePercentage()
|
||||
for fixing handling file name length on VFAT systems in case they
|
||||
contain UTF-8 characters
|
||||
for fixing wrong bracketing in cChannel::SubtitlingType() etc.
|
||||
for fixing handling DVB subtitles for PES recordings
|
||||
|
||||
Ralf Klueber <ralf.klueber@vodafone.com>
|
||||
for reporting a bug in cutting a recording if there is only a single editing mark
|
||||
@ -1573,6 +1575,7 @@ Arthur Konovalov <kasjas@hot.ee>
|
||||
for fixing a missing ',' in the Greek OSD texts
|
||||
for fixing a missing ',' in the Swedish OSD texts
|
||||
for reporting problems with CAMs when checking the CAM status too frequently
|
||||
for reporting references to old *.vdr file names in MANUAL
|
||||
|
||||
Milos Kapoun <m.kapoun@cra.cz>
|
||||
for suggesting to skip code table info in SI data
|
||||
@ -2270,6 +2273,7 @@ Frank Schmirler <vdr@schmirler.de>
|
||||
for fixing handling the 'pointer field' in generating and parsing PAT/PMT
|
||||
for suggesting to use an "instance id" instead of the "resume id" to distinguish
|
||||
recordings of the same broadcast made by different instances of VDR
|
||||
for fixing EntriesOnSameFileSystem() to avoid using f_fsid, which may be 0
|
||||
|
||||
Jörn Reder <joern@zyn.de>
|
||||
for reporting that a recording may unnecessarily block a device with a CAM, while
|
||||
@ -2361,6 +2365,7 @@ Denis Knauf <denis.knauf@gmail.com>
|
||||
|
||||
Diego Pierotto <vdr-italian@tiscali.it>
|
||||
for translating OSD texts to the Italian language
|
||||
for reporting a wrong default value for "Pause key handling" in the MANUAL
|
||||
|
||||
Timo Eskola <timo@tolleri.net>
|
||||
for implementing sending all frames to devices that can handle them in fast forward
|
||||
@ -2489,3 +2494,23 @@ Martin Neuditschko <yosuke.tomoe@gmx.net>
|
||||
|
||||
Mikko Tuumanen <mikko.tuumanen@utu.fi>
|
||||
for implementing full handling of subtitling descriptors
|
||||
|
||||
Timothy D. Lenz <tlenz@vorgon.com>
|
||||
for reporting a problem with logging changes for channels that
|
||||
have no number
|
||||
|
||||
Valdemaras Pipiras <valdemaras@ambernet.lt>
|
||||
for translating OSD texts to the Lithuanian language
|
||||
|
||||
Manuel Reimer <Manuel.Reimer@gmx.de>
|
||||
for fixing saving terminal settings when running in background
|
||||
|
||||
Rene van den Braken <rene@vandenbraken.name>
|
||||
for reporting a bug in writing the PCR pid into the PMT in
|
||||
cPatPmtGenerator::GeneratePmt()
|
||||
|
||||
Milan Hrala <hrala.milan@gmail.com>
|
||||
for translating OSD texts to the Slovakian language
|
||||
|
||||
Andreas Schaefers <andreas_schaefers@gmx.de>
|
||||
for adding the audio id to the call of PlayAudio() in cDevice::PlayTsAudio()
|
||||
|
48
HISTORY
48
HISTORY
@ -922,7 +922,7 @@ Video Disk Recorder Revision History
|
||||
give the user some feedback in case this takes longer.
|
||||
- Status messages are now displayed centered.
|
||||
- Removed the 'Tools' subdirectory from the VDR archive. All contributed tools
|
||||
can now be found at ftp://ftp.cadsoft.de/pub/people/kls/vdr/Tools.
|
||||
can now be found at ftp://ftp.tvdr.de/vdr/Tools.
|
||||
|
||||
2002-01-29: Version 0.99pre3
|
||||
|
||||
@ -5839,14 +5839,14 @@ Video Disk Recorder Revision History
|
||||
DVB API in the kernel (based on patches from Igor M. Liplianin, Niels Wagenaar
|
||||
and Edgar Hucek). VDR now uses the S2API driver from http://linuxtv.org/hg/v4l-dvb.
|
||||
In order to correctly detect DVB-S2 capable devices, you need to apply the patch
|
||||
from ftp://ftp.cadsoft.de/vdr/Developer/v4l-dvb-s2api-add-s2-capability.diff to
|
||||
from ftp://ftp.tvdr.de/vdr/Developer/v4l-dvb-s2api-add-s2-capability.diff to
|
||||
the driver source, because the S2API doesn't provide a way of telling whether a
|
||||
device can handle DVB-S2 transponders.
|
||||
- The cDvbTuner::IsTunedTo() function now also checks the symbol rate in case of
|
||||
DVB-S and DVB-C.
|
||||
- Improved handling PES video packets with zero length when converting from TS to PES.
|
||||
For good replay in Transfer Mode on full featured DVB cards you may want to apply
|
||||
the patch from ftp://ftp.cadsoft.de/vdr/Developer/av7110_v4ldvb_api5_audiobuf_test_1.diff
|
||||
the patch from ftp://ftp.tvdr.de/vdr/Developer/av7110_v4ldvb_api5_audiobuf_test_1.diff
|
||||
to the driver (thanks to Oliver Endriss).
|
||||
|
||||
2009-01-06: Version 1.7.3
|
||||
@ -5918,7 +5918,7 @@ Video Disk Recorder Revision History
|
||||
flag is now in the driver, anyway.
|
||||
- The full-featured DVB cards are now given the TS data directly for replay
|
||||
(thanks to Oliver Endriss for enhancing the av7110 driver to make it replay
|
||||
TS data). The patch from ftp://ftp.cadsoft.de/vdr/Developer/av7110_ts_replay__1.diff
|
||||
TS data). The patch from ftp://ftp.tvdr.de/vdr/Developer/av7110_ts_replay__1.diff
|
||||
implements this change in the driver.
|
||||
The patch av7110_v4ldvb_api5_audiobuf_test_1.diff mentioned in version 1.7.2
|
||||
is still necessary to avoid audio and video glitches on some channels.
|
||||
@ -6156,3 +6156,43 @@ Video Disk Recorder Revision History
|
||||
- Increased the value of MAXFRAMESIZE to better suit HD recordings (thanks to
|
||||
Reinhard Nissl).
|
||||
- Implemented full handling of subtitling descriptors (thanks to Mikko Tuumanen).
|
||||
|
||||
2009-11-22: Version 1.7.10
|
||||
|
||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||
- Fixed wrong bracketing in cChannel::SubtitlingType() etc.
|
||||
(thanks to Rolf Ahrenberg).
|
||||
- Fixed not logging changes for channels that have no number
|
||||
(reported by Timothy D. Lenz).
|
||||
- Changed the project's URLs and email to tvdr.de.
|
||||
- Added Lithuanian language translations (thanks to Valdemaras Pipiras).
|
||||
- Updated Chinese language texts (thanks to Nan Feng).
|
||||
- Only checking DVB_API_VERSION to be >=5 in order to stay compileable in case
|
||||
the DVB API version number is increased (the API claims to always be backward
|
||||
compatible).
|
||||
- Fixed saving terminal settings when running in background (thanks to Manuel
|
||||
Reimer).
|
||||
- Fixed cFrameDetector::Analyze() to handle video streams where the frame type
|
||||
is not detectable from the first TS packet of a frame.
|
||||
- Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt()
|
||||
(reported by Rene van den Braken).
|
||||
- Added Slovakian language texts (thanks to Milan Hrala).
|
||||
- Fixed EntriesOnSameFileSystem() to avoid using f_fsid, which may be 0 (thanks
|
||||
to Frank Schmirler).
|
||||
- Fixed starting a recording at an I-frame.
|
||||
- Fixed generating the index for recordings from channels that put a whole
|
||||
GOP into one payload unit.
|
||||
- The index file for TS recordings is now regenerated on-the-fly if a
|
||||
recording is replayed that has no index. This can also be used to
|
||||
re-create a broken index file by manually deleting the index file and then
|
||||
replaying the recording (at least until the index file has been generated).
|
||||
- The cRingBufferLinear::Read() function now returns -1 and sets errno to
|
||||
EAGAIN if the buffer is already full.
|
||||
- Fixed handling DVB subtitles for PES recordings (thanks to Rolf Ahrenberg).
|
||||
- Added the audio id to the call of PlayAudio() in cDevice::PlayTsAudio()
|
||||
(thanks to Andreas Schaefers).
|
||||
- Fixed references to old *.vdr file names in MANUAL (reported by Arthur Konovalov).
|
||||
- Reverted "Removed limitation to PAL resolution from SPU handling" because it
|
||||
cause nothing but trouble. Besides, the core VDR doesn't use this, anyway.
|
||||
- Fixed the default value for "Pause key handling" in the MANUAL (reported by
|
||||
Diego Pierotto).
|
||||
|
2
INSTALL
2
INSTALL
@ -47,7 +47,7 @@ to one of the following values in the 'make' call to make the respective control
|
||||
the default:
|
||||
|
||||
REMOTE=RCU control via the "Remote Control Unit" receiver
|
||||
(see http://www.cadsoft.de/vdr/remote.htm)
|
||||
(see http://www.tvdr.de/remote.htm)
|
||||
REMOTE=LIRC control via the "Linux Infrared Remote Control"
|
||||
(see http://www.lirc.org)
|
||||
|
||||
|
8
MANUAL
8
MANUAL
@ -748,7 +748,7 @@ Version 1.6
|
||||
Pause priority = 10 The Priority and Lifetime values used when pausing live
|
||||
Pause lifetime = 1 video.
|
||||
|
||||
Pause key handling = 3 Defines what happens if the Pause key on the remote control
|
||||
Pause key handling = 2 Defines what happens if the Pause key on the remote control
|
||||
is pressed during live tv.
|
||||
0 = do not pause live video
|
||||
1 = confirm pause live video
|
||||
@ -804,7 +804,7 @@ Version 1.6
|
||||
During the actual editing process VDR writes the result
|
||||
into files that may grow up to MaxVideoFileSize. If you
|
||||
prefer to have each marked sequence stored in a separate
|
||||
file (named 001.vdr, 002.vdr, ...) you can set this
|
||||
file (named 00001.ts, 00002.ts, ...) you can set this
|
||||
option to 'yes'.
|
||||
|
||||
Replay:
|
||||
@ -819,8 +819,8 @@ Version 1.6
|
||||
Resume ID = 0 Defines an additional ID that can be used in a multi user
|
||||
environment, so that every user has his/her own resume
|
||||
files for each recording. The valid range is 0...99, with
|
||||
0 resulting in a file named 'resume.vdr', and any other
|
||||
value resulting in 'resume.n.vdr'.
|
||||
0 resulting in a file named 'resume', and any other
|
||||
value resulting in 'resume.n'.
|
||||
|
||||
Miscellaneous:
|
||||
|
||||
|
4
Makefile
4
Makefile
@ -4,7 +4,7 @@
|
||||
# See the main source file 'vdr.c' for copyright information and
|
||||
# how to reach the author.
|
||||
#
|
||||
# $Id: Makefile 2.3 2008/12/24 15:21:09 kls Exp $
|
||||
# $Id: Makefile 2.4 2009/10/18 13:59:25 kls Exp $
|
||||
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
@ -110,7 +110,7 @@ I18Npot = $(PODIR)/vdr.pot
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^
|
||||
|
||||
%.po: $(I18Npot)
|
||||
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
|
||||
|
@ -31,8 +31,8 @@ html, body {
|
||||
<b>Version 1.7</b>
|
||||
<p>
|
||||
Copyright © 2009 Klaus Schmidinger<br>
|
||||
<a href="mailto:kls@cadsoft.de">kls@cadsoft.de</a><br>
|
||||
<a href="http://www.cadsoft.de/vdr">www.cadsoft.de/vdr</a>
|
||||
<a href="mailto:kls@tvdr.de">kls@tvdr.de</a><br>
|
||||
<a href="http://www.tvdr.de">www.tvdr.de</a>
|
||||
</div>
|
||||
<div class="modified">
|
||||
Important modifications introduced since version 1.6 are marked like this.
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Makefile for a Video Disk Recorder plugin
|
||||
#
|
||||
# $Id: Makefile 2.0 2008/01/13 12:59:58 kls Exp $
|
||||
# $Id: Makefile 2.1 2009/10/18 14:00:07 kls Exp $
|
||||
|
||||
# The official name of this plugin.
|
||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||
@ -79,7 +79,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^
|
||||
|
||||
%.po: $(I18Npot)
|
||||
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/people/kls/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/people/kls/vdr/software.htm
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
|
||||
# Ramon Roca <ramon.roca@xcombo.com>, 2003
|
||||
@ -8,7 +8,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Mogens Elneff <mogens@elneff.dk>, 2004
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
|
||||
|
@ -1,15 +1,15 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@cadsoft.de>, 2000
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2000
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Ruben Nunez Francisco <ruben.nunez@tang-it.com>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Arthur Konovalov <kasjas@hot.ee>, 2004
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Hannu Savolainen <hannu@opensound.com>, 2002
|
||||
# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002
|
||||
@ -9,7 +9,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Jean-Claude Repetto <jc@repetto.org>, 2001
|
||||
# Olivier Jacques <jacquesolivier@hotmail.com>, 2003
|
||||
@ -9,7 +9,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Nicolas Huillard <nhuillard@e-dition.fr>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Adrian Caval <anrxc@sysphere.org>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2008-03-17 19:52+0100\n"
|
||||
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Istvan Koenigsberger <istvnko@hotmail.com>, 2002
|
||||
# Guido Josten <guido.josten@t-online.de>, 2002
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Diego Pierotto <vdr-italian@tiscali.it>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2008-01-27 20:11+0100\n"
|
||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001
|
||||
# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003
|
||||
@ -8,7 +8,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Jørgen Tvedt <pjtvedt@online.no>, 2001
|
||||
# Truls Slevigen <truls@slevigen.no>, 2002
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Michael Rakowski <mrak@gmx.de>, 2002
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Paulo Lopes <pmml@netvita.pt>, 2001
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Paul Lacatus <paul@campina.iiruc.ro>, 2002
|
||||
# Lucian Muresan <lucianm@users.sourceforge.net>, 2004
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
|
||||
|
35
PLUGINS/src/hello/po/sk_SK.po
Normal file
35
PLUGINS/src/hello/po/sk_SK.po
Normal file
@ -0,0 +1,35 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2009-09-30 09:48+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: Slovak\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "A friendly greeting"
|
||||
msgstr "Priateµský pozdrav"
|
||||
|
||||
msgid "Hello"
|
||||
msgstr "Ahoj"
|
||||
|
||||
msgid "Greeting time (s)"
|
||||
msgstr "Èas pozdravu (s)"
|
||||
|
||||
msgid "Use alternate greeting"
|
||||
msgstr "Pou¾i» náhradný pozdrav"
|
||||
|
||||
msgid "Howdy folks!"
|
||||
msgstr "Ahojte v¹etci!"
|
||||
|
||||
msgid "Hello world!"
|
||||
msgstr "Ahoj svet!"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Miha Setina <mihasetina@softhome.net>, 2000
|
||||
# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
|
||||
|
@ -1,5 +1,5 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Tomas Prybil <tomas@prybil.se>, 2002
|
||||
# Jan Ekholm <chakie@infa.abo.fi>, 2003
|
||||
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2007-08-11 12:34+0200\n"
|
||||
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2008-05-12 22:34:4800\n"
|
||||
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
|
||||
|
38
PLUGINS/src/hello/po/zh_CN.po
Normal file
38
PLUGINS/src/hello/po/zh_CN.po
Normal file
@ -0,0 +1,38 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
|
||||
# Ramon Roca <ramon.roca@xcombo.com>, 2003
|
||||
# Jordi Vilà <jvila@tinet.org>, 2003
|
||||
# Nan Feng VDR <nfgx@21cn.com>, 2009.2
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-10-13 11:52+0200\n"
|
||||
"PO-Revision-Date: 2009-01-23 09:48+0800\n"
|
||||
"Last-Translator: senin\n"
|
||||
"Language-Team: Catalanian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "A friendly greeting"
|
||||
msgstr "友好的问候"
|
||||
|
||||
msgid "Hello"
|
||||
msgstr "你好"
|
||||
|
||||
msgid "Greeting time (s)"
|
||||
msgstr "问候时间 (s)"
|
||||
|
||||
msgid "Use alternate greeting"
|
||||
msgstr "使用替代贺卡"
|
||||
|
||||
msgid "Howdy folks!"
|
||||
msgstr "你好人!"
|
||||
|
||||
msgid "Hello world!"
|
||||
msgstr "世界您好!"
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: http://www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: http://www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Makefile for a Video Disk Recorder plugin
|
||||
#
|
||||
# $Id: Makefile 2.0 2008/01/13 13:00:04 kls Exp $
|
||||
# $Id: Makefile 2.1 2009/10/18 14:02:41 kls Exp $
|
||||
|
||||
# The official name of this plugin.
|
||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||
@ -79,7 +79,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^
|
||||
|
||||
%.po: $(I18Npot)
|
||||
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,15 +1,15 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@cadsoft.de>, 2008
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
|
||||
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Patrice Staudt <ipatrice.staudt@laposte.net>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2008-01-12 17:41+0100\n"
|
||||
"Last-Translator: Patrice Staudt <ipatrice.staudt@laposte.net>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Diego Pierotto <vdr-italian@tiscali.it>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2008-01-27 20:22+0100\n"
|
||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Alexander Gross <Bikalexander@gmail.com>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2008-03-14 00:45+0100\n"
|
||||
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
|
||||
|
32
PLUGINS/src/pictures/po/sk_SK.po
Normal file
32
PLUGINS/src/pictures/po/sk_SK.po
Normal file
@ -0,0 +1,32 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2008-01-12 17:38+0100\n"
|
||||
"PO-Revision-Date: 2009-09-30 12:54+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: Slovak\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "Pictures"
|
||||
msgstr "Obrázky"
|
||||
|
||||
msgid "A simple picture viewer"
|
||||
msgstr "Jednoduchý prehliadaè obrázkov"
|
||||
|
||||
msgid "Picture directory"
|
||||
msgstr "Umiestnenie obrázkov"
|
||||
|
||||
msgid "Slide show delay (s)"
|
||||
msgstr "Oneskorenie prezentácia (s)"
|
||||
|
||||
msgid "No picture directory has been defined!"
|
||||
msgstr "Neboli preukázané ¾iadne fotky v adresári!"
|
||||
|
@ -2,9 +2,9 @@ This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Udo Richter <udo_richter@gmx.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Makefile for a Video Disk Recorder plugin
|
||||
#
|
||||
# $Id: Makefile 2.0 2008/01/19 11:40:33 kls Exp $
|
||||
# $Id: Makefile 2.1 2009/10/18 14:03:30 kls Exp $
|
||||
|
||||
# The official name of this plugin.
|
||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||
@ -79,7 +79,7 @@ I18Npot = $(PODIR)/$(PLUGIN).pot
|
||||
msgfmt -c -o $@ $<
|
||||
|
||||
$(I18Npot): $(wildcard *.c)
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@cadsoft.de>' -o $@ $^
|
||||
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --msgid-bugs-address='<vdr-bugs@tvdr.de>' -o $@ $^
|
||||
|
||||
%.po: $(I18Npot)
|
||||
msgmerge -U --no-wrap --no-location --backup=none -q $@ $<
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,15 +1,15 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@cadsoft.de>, 2007
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-08-15 16:04+0200\n"
|
||||
"PO-Revision-Date: 2007-08-15 16:07+0200\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Rolf Ahrenberg <rahrenbe@cc.hut.fi>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-08-14 20:54+0300\n"
|
||||
"PO-Revision-Date: 2007-08-14 20:48+0300\n"
|
||||
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Diego Pierotto <vdr-italian@tiscali.it>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-08-15 16:04+0200\n"
|
||||
"PO-Revision-Date: 2008-01-27 20:35+0100\n"
|
||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Alexander Gross <Bikalexander@gmail.com>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-08-15 16:04+0200\n"
|
||||
"PO-Revision-Date: 2008-03-14 00:21+0100\n"
|
||||
"Last-Translator: Alexander Gross <Bikalexander@gmail.com>\n"
|
||||
|
29
PLUGINS/src/skincurses/po/sk_SK.po
Normal file
29
PLUGINS/src/skincurses/po/sk_SK.po
Normal file
@ -0,0 +1,29 @@
|
||||
# VDR plugin language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2007-08-15 16:04+0200\n"
|
||||
"PO-Revision-Date: 2009-09-30 12:52+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: Slovak\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "A text only skin"
|
||||
msgstr "Iba text vzhµadu"
|
||||
|
||||
msgid "Key$Mute"
|
||||
msgstr "Stlmi» zvuk"
|
||||
|
||||
msgid "Volume "
|
||||
msgstr "Hlasitos»"
|
||||
|
||||
msgid "Text mode"
|
||||
msgstr "Textový re¾im"
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -8,7 +8,7 @@
|
||||
#
|
||||
# See the README file for copyright information and how to reach the author.
|
||||
#
|
||||
# $Id: getskyepg.pl 2.0 2008/03/22 10:17:42 kls Exp $
|
||||
# $Id: getskyepg.pl 2.1 2009/10/18 14:05:47 kls Exp $
|
||||
|
||||
use Getopt::Std;
|
||||
use Time::Local;
|
||||
@ -35,10 +35,10 @@ $User = $opt_U;
|
||||
|
||||
# See "Rules for using this data" on http://bleb.org/tv/data/listings.
|
||||
# In case you modify this script in a way that changes its behavior
|
||||
# towards the www.bleb.org website, please replace 'vdrbugs@cadsoft.de'
|
||||
# towards the www.bleb.org website, please replace 'vdr-bugs@tvdr.de'
|
||||
# with your own email address! That way Andrew Flegg <andrew@bleb.org>,
|
||||
# who runs that web site, can contact you in case of problems.
|
||||
$IDENT = "VDR::getskyepg.pl, http://www.cadsoft.de/vdr - vdrbugs\@cadsoft.de";
|
||||
$IDENT = "VDR::getskyepg.pl, http://www.tvdr.de - vdr-bugs\@tvdr.de";
|
||||
$GAP = 2;
|
||||
|
||||
$SkyWebPage = "www.bleb.org/tv/data/listings";
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <kls@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <kls@tvdr.de>
|
||||
|
||||
Project's homepage: www.cadsoft.de/people/kls/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: www.cadsoft.de/people/kls/vdr/software.htm
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -1,10 +1,10 @@
|
||||
This is a "plugin" for the Video Disk Recorder (VDR).
|
||||
|
||||
Written by: Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
|
||||
Written by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
|
||||
|
||||
Project's homepage: http://www.cadsoft.de/vdr
|
||||
Project's homepage: http://www.tvdr.de
|
||||
|
||||
Latest version available at: http://www.cadsoft.de/vdr
|
||||
Latest version available at: http://www.tvdr.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
4
README
4
README
@ -4,7 +4,7 @@ Video Disk Recorder ('VDR')
|
||||
These files contain the source code of the "Video Disk Recorder",
|
||||
which is based on the DVB driver of the LinuxTV project (http://linuxtv.org).
|
||||
For details about the "Video Disk Recorder" project please
|
||||
refer to http://www.cadsoft.de/vdr.
|
||||
refer to http://www.tvdr.de.
|
||||
|
||||
There is also a remote control unit described on those
|
||||
Web pages, which can be used within this program.
|
||||
@ -17,7 +17,7 @@ The MANUAL file describes how to operate the VDR.
|
||||
The CONTRIBUTORS file lists all the people who have contributed to the
|
||||
development of VDR.
|
||||
|
||||
The author can be contacted at kls@cadsoft.de.
|
||||
The author can be contacted at kls@tvdr.de.
|
||||
|
||||
Yet another "set-top box"?
|
||||
--------------------------
|
||||
|
@ -52,5 +52,5 @@ How to maintain an existing language file
|
||||
|
||||
Once you have created or updated a translation file, please
|
||||
send it to the maintainer of the respective plugin (in case
|
||||
it belongs to a plugin) or to kls@cadsoft.de (for core VDR
|
||||
it belongs to a plugin) or to kls@tvdr.de (for core VDR
|
||||
language files).
|
||||
|
@ -10,7 +10,7 @@ Plugins:
|
||||
- Implemented a universal plugin interface. See the file PLUGINS.html
|
||||
for a detailed description. The man page vdr(1) describes the new options '-L'
|
||||
and '-P' used to load plugins.
|
||||
See http://www.cadsoft.de/vdr/plugins.htm for a list of available plugins.
|
||||
See http://www.tvdr.de/plugins.htm for a list of available plugins.
|
||||
- Rearranged the remote control key handling to allow plugins to implement
|
||||
additional types of remote controls (see PLUGINS.html, section "Remote Control").
|
||||
The previously used files 'keys.conf' and 'keys-pc.conf' have been replaced
|
||||
|
13
channels.c
13
channels.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.c 2.7 2009/08/16 15:08:49 kls Exp $
|
||||
* $Id: channels.c 2.8 2009/08/30 11:25:50 kls Exp $
|
||||
*/
|
||||
|
||||
#include "channels.h"
|
||||
@ -508,7 +508,8 @@ void cChannel::SetPids(int Vpid, int Ppid, int Vtype, int *Apids, char ALangs[][
|
||||
q = NewSpidsBuf;
|
||||
q += IntArrayToString(q, Spids, 10, SLangs);
|
||||
*q = 0;
|
||||
dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf, OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);
|
||||
if (Number())
|
||||
dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf, OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);
|
||||
vpid = Vpid;
|
||||
ppid = Ppid;
|
||||
vtype = Vtype;
|
||||
@ -558,7 +559,8 @@ void cChannel::SetCaIds(const int *CaIds)
|
||||
char NewCaIdsBuf[MAXCAIDS * 5 + 10];
|
||||
IntArrayToString(OldCaIdsBuf, caids, 16);
|
||||
IntArrayToString(NewCaIdsBuf, CaIds, 16);
|
||||
dsyslog("changing caids of channel %d from %s to %s", Number(), OldCaIdsBuf, NewCaIdsBuf);
|
||||
if (Number())
|
||||
dsyslog("changing caids of channel %d from %s to %s", Number(), OldCaIdsBuf, NewCaIdsBuf);
|
||||
for (int i = 0; i <= MAXCAIDS; i++) { // <= to copy the terminating 0
|
||||
caids[i] = CaIds[i];
|
||||
if (!CaIds[i])
|
||||
@ -574,7 +576,7 @@ void cChannel::SetCaDescriptors(int Level)
|
||||
if (Level > 0) {
|
||||
modification |= CHANNELMOD_CA;
|
||||
Channels.SetModified();
|
||||
if (Level > 1)
|
||||
if (Number() && Level > 1)
|
||||
dsyslog("changing ca descriptors of channel %d", Number());
|
||||
}
|
||||
}
|
||||
@ -622,7 +624,8 @@ void cChannel::SetLinkChannels(cLinkChannels *LinkChannels)
|
||||
}
|
||||
else
|
||||
q += sprintf(q, " none");
|
||||
dsyslog(buffer);
|
||||
if (Number())
|
||||
dsyslog(buffer);
|
||||
}
|
||||
|
||||
void cChannel::SetRefChannel(cChannel *RefChannel)
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: channels.h 2.5 2009/08/16 14:58:26 kls Exp $
|
||||
* $Id: channels.h 2.6 2009/08/30 11:05:54 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CHANNELS_H
|
||||
@ -188,9 +188,9 @@ public:
|
||||
const char *Alang(int i) const { return (0 <= i && i < MAXAPIDS) ? alangs[i] : ""; }
|
||||
const char *Dlang(int i) const { return (0 <= i && i < MAXDPIDS) ? dlangs[i] : ""; }
|
||||
const char *Slang(int i) const { return (0 <= i && i < MAXSPIDS) ? slangs[i] : ""; }
|
||||
uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS ? subtitlingTypes[i] : 0); }
|
||||
uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS ? compositionPageIds[i] : 0); }
|
||||
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS ? ancillaryPageIds[i] : 0); }
|
||||
uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : 0; }
|
||||
uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : 0; }
|
||||
uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : 0; }
|
||||
int Tpid(void) const { return tpid; }
|
||||
const int *Caids(void) const { return caids; }
|
||||
int Ca(int Index = 0) const { return Index < MAXCAIDS ? caids[Index] : 0; }
|
||||
|
10
config.h
10
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.h 2.14 2009/06/21 10:02:49 kls Exp $
|
||||
* $Id: config.h 2.15 2009/08/29 12:47:03 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
@ -22,13 +22,13 @@
|
||||
|
||||
// VDR's own version number:
|
||||
|
||||
#define VDRVERSION "1.7.9"
|
||||
#define VDRVERSNUM 10709 // Version * 10000 + Major * 100 + Minor
|
||||
#define VDRVERSION "1.7.10"
|
||||
#define VDRVERSNUM 10710 // Version * 10000 + Major * 100 + Minor
|
||||
|
||||
// The plugin API's version number:
|
||||
|
||||
#define APIVERSION "1.7.9"
|
||||
#define APIVERSNUM 10709 // Version * 10000 + Major * 100 + Minor
|
||||
#define APIVERSION "1.7.10"
|
||||
#define APIVERSNUM 10710 // Version * 10000 + Major * 100 + Minor
|
||||
|
||||
// When loading plugins, VDR searches them by their APIVERSION, which
|
||||
// may be smaller than VDRVERSION in case there have been no changes to
|
||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.c 2.25 2009/08/16 10:54:36 kls Exp $
|
||||
* $Id: device.c 2.26 2009/11/22 13:19:03 kls Exp $
|
||||
*/
|
||||
|
||||
#include "device.h"
|
||||
@ -1309,7 +1309,7 @@ int cDevice::PlayTsAudio(const uchar *Data, int Length)
|
||||
// Audio PES always has an explicit length and consists of single packets:
|
||||
int l;
|
||||
if (const uchar *p = tsToPesAudio.GetPes(l)) {
|
||||
int w = PlayAudio(p, l, 0);
|
||||
int w = PlayAudio(p, l, p[3]);
|
||||
if (w <= 0) {
|
||||
tsToPesAudio.SetRepeatLast();
|
||||
return w;
|
||||
|
5
device.h
5
device.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.h 2.15 2009/06/06 11:15:49 kls Exp $
|
||||
* $Id: device.h 2.16 2009/11/22 13:21:00 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DEVICE_H
|
||||
@ -514,9 +514,6 @@ protected:
|
||||
///< Plays the given data block as audio.
|
||||
///< Data points to exactly one complete PES packet of the given Length.
|
||||
///< Id indicates the type of audio data this packet holds.
|
||||
///< Note that as of version 1.7.1 Id is obsolete and may be 0 (in case of
|
||||
///< TS replay). Plugins that need to know this Id shall read it from the
|
||||
///< actual PES data (it's the 4th byte).
|
||||
///< PlayAudio() shall process the packet either as a whole (returning
|
||||
///< Length) or not at all (returning 0 or -1 and setting 'errno' accordingly).
|
||||
///< \return Returns the number of bytes actually taken from Data, or -1
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbdevice.h 2.8 2009/06/06 11:16:47 kls Exp $
|
||||
* $Id: dvbdevice.h 2.9 2009/10/25 13:58:20 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DVBDEVICE_H
|
||||
@ -16,8 +16,8 @@
|
||||
#include "device.h"
|
||||
#include "dvbspu.h"
|
||||
|
||||
#if DVB_API_VERSION != 5 || DVB_API_VERSION_MINOR != 0
|
||||
#error VDR requires Linux DVB driver API version 5.0!
|
||||
#if DVB_API_VERSION < 5
|
||||
#error VDR requires Linux DVB driver API version 5.0 or higher!
|
||||
#endif
|
||||
|
||||
#define MAXDVBDEVICES 8
|
||||
|
34
dvbspu.c
34
dvbspu.c
@ -8,7 +8,7 @@
|
||||
*
|
||||
* parts of this file are derived from the OMS program.
|
||||
*
|
||||
* $Id: dvbspu.c 2.1 2009/05/09 16:25:59 kls Exp $
|
||||
* $Id: dvbspu.c 2.2 2009/11/22 14:17:59 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbspu.h"
|
||||
@ -55,6 +55,9 @@ void cDvbSpuPalette::setPalette(const uint32_t * pal)
|
||||
#define setMin(a, b) if (a > b) a = b
|
||||
#define setMax(a, b) if (a < b) a = b
|
||||
|
||||
#define spuXres 720
|
||||
#define spuYres 576
|
||||
|
||||
#define revRect(r1, r2) { r1.x1 = r2.x2; r1.y1 = r2.y2; r1.x2 = r2.x1; r1.y2 = r2.y1; }
|
||||
|
||||
cDvbSpuBitmap::cDvbSpuBitmap(sDvbSpuRect size,
|
||||
@ -63,8 +66,8 @@ cDvbSpuBitmap::cDvbSpuBitmap(sDvbSpuRect size,
|
||||
{
|
||||
size.x1 = max(size.x1, 0);
|
||||
size.y1 = max(size.y1, 0);
|
||||
size.x2 = min(size.x2, Setup.OSDWidth);
|
||||
size.y2 = min(size.y2, Setup.OSDHeight);
|
||||
size.x2 = min(size.x2, spuXres - 1);
|
||||
size.y2 = min(size.y2, spuYres - 1);
|
||||
|
||||
bmpsize = size;
|
||||
revRect(minsize[0], size);
|
||||
@ -72,7 +75,7 @@ cDvbSpuBitmap::cDvbSpuBitmap(sDvbSpuRect size,
|
||||
revRect(minsize[2], size);
|
||||
revRect(minsize[3], size);
|
||||
|
||||
int MemSize = bmpsize.width() * bmpsize.height() * sizeof(uint8_t);
|
||||
int MemSize = spuXres * spuYres * sizeof(uint8_t);
|
||||
bmp = new uint8_t[MemSize];
|
||||
|
||||
if (bmp)
|
||||
@ -93,10 +96,10 @@ cBitmap *cDvbSpuBitmap::getBitmap(const aDvbSpuPalDescr paldescr,
|
||||
int h = size.height();
|
||||
int w = size.width();
|
||||
|
||||
if (size.y1 + h >= bmpsize.height())
|
||||
h = bmpsize.height() - size.y1 - 1;
|
||||
if (size.x1 + w >= bmpsize.width())
|
||||
w = bmpsize.width() - size.x1 - 1;
|
||||
if (size.y1 + h >= spuYres)
|
||||
h = spuYres - size.y1 - 1;
|
||||
if (size.x1 + w >= spuXres)
|
||||
w = spuXres - size.x1 - 1;
|
||||
|
||||
if (w & 0x03)
|
||||
w += 4 - (w & 0x03);
|
||||
@ -111,11 +114,13 @@ cBitmap *cDvbSpuBitmap::getBitmap(const aDvbSpuPalDescr paldescr,
|
||||
}
|
||||
|
||||
// set the content
|
||||
for (int yp = 0; yp < h; yp++) {
|
||||
for (int xp = 0; xp < w; xp++) {
|
||||
uint8_t idx = bmp[(size.y1 + yp) * bmpsize.width() + size.x1 + xp];
|
||||
ret->SetIndex(xp, yp, idx);
|
||||
}
|
||||
if (bmp) {
|
||||
for (int yp = 0; yp < h; yp++) {
|
||||
for (int xp = 0; xp < w; xp++) {
|
||||
uint8_t idx = bmp[(size.y1 + yp) * spuXres + size.x1 + xp];
|
||||
ret->SetIndex(xp, yp, idx);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -149,7 +154,8 @@ bool cDvbSpuBitmap::getMinSize(const aDvbSpuPalDescr paldescr,
|
||||
|
||||
void cDvbSpuBitmap::putPixel(int xp, int yp, int len, uint8_t colorid)
|
||||
{
|
||||
memset(bmp + bmpsize.width() * yp + xp, colorid, len);
|
||||
if (bmp)
|
||||
memset(bmp + spuXres * yp + xp, colorid, len);
|
||||
setMin(minsize[colorid].x1, xp);
|
||||
setMin(minsize[colorid].y1, yp);
|
||||
setMax(minsize[colorid].x2, xp + len - 1);
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Original author: Marco Schlüßler <marco@lordzodiac.de>
|
||||
* With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
|
||||
*
|
||||
* $Id: dvbsubtitle.c 2.1 2008/05/25 14:36:24 kls Exp $
|
||||
* $Id: dvbsubtitle.c 2.2 2009/11/22 12:28:53 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbsubtitle.h"
|
||||
@ -699,7 +699,7 @@ int cDvbSubtitleConverter::ConvertFragments(const uchar *Data, int Length)
|
||||
}
|
||||
|
||||
if (Length > PayloadOffset + SubstreamHeaderLength) {
|
||||
int64_t pts = PesGetPts(Data);
|
||||
int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : 0;
|
||||
if (pts)
|
||||
dbgconverter("Converter PTS: %lld\n", pts);
|
||||
const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header
|
||||
|
@ -10,7 +10,7 @@
|
||||
# See the main source file 'vdr.c' for copyright information and
|
||||
# how to reach the author.
|
||||
#
|
||||
# $Id: i18n-to-gettext.pl 2.0 2007/11/04 10:57:36 kls Exp $
|
||||
# $Id: i18n-to-gettext.pl 2.1 2009/10/18 14:07:49 kls Exp $
|
||||
|
||||
# How to convert an actual plugin:
|
||||
#
|
||||
@ -87,7 +87,7 @@ die "can't find internationalized texts!" unless ($I18NFILE);
|
||||
# Plugin specific information:
|
||||
|
||||
$TITLE = "VDR plugin language source file";
|
||||
$COPYRIGHT = "2007 Klaus Schmidinger <kls\@cadsoft.de>";
|
||||
$COPYRIGHT = "2007 Klaus Schmidinger <kls\@tvdr.de>";
|
||||
$PACKAGE = "VDR";
|
||||
$VERSION = "1.5.7";
|
||||
$MSGIDBUGS = "" || die "enter your email address here"; # escape the '@', as in "user\@domain.tld"
|
||||
@ -152,8 +152,8 @@ $POTFILE = "$PODIR/$PLUGIN.pot";
|
||||
);
|
||||
|
||||
@TRANSLATORS = (
|
||||
"Klaus Schmidinger <kls\@cadsoft.de>, 2000",
|
||||
"Klaus Schmidinger <kls\@cadsoft.de>, 2000",
|
||||
"Klaus Schmidinger <kls\@tvdr.de>, 2000",
|
||||
"Klaus Schmidinger <kls\@tvdr.de>, 2000",
|
||||
"Miha Setina <mihasetina\@softhome.net>, 2000; Matjaz Thaler <matjaz.thaler\@guest.arnes.si>, 2003",
|
||||
"Alberto Carraro <bertocar\@tin.it>, 2001; Antonio Ospite <ospite\@studenti.unina.it>, 2003; Sean Carlos <seanc\@libero.it>, 2005",
|
||||
"Arnold Niessen <niessen\@iae.nl> <arnold.niessen\@philips.com>, 2001; Hans Dingemans <hans.dingemans\@tacticalops.nl>, 2003; Maarten Wisse <Maarten.Wisse\@urz.uni-hd.de>, 2005",
|
||||
@ -177,8 +177,8 @@ $POTFILE = "$PODIR/$PLUGIN.pot";
|
||||
);
|
||||
|
||||
@LASTTRANSLATOR = (
|
||||
"Klaus Schmidinger <kls\@cadsoft.de>",
|
||||
"Klaus Schmidinger <kls\@cadsoft.de>",
|
||||
"Klaus Schmidinger <kls\@tvdr.de>",
|
||||
"Klaus Schmidinger <kls\@tvdr.de>",
|
||||
"Matjaz Thaler <matjaz.thaler\@guest.arnes.si>",
|
||||
"Sean Carlos <seanc\@libero.it>",
|
||||
"Maarten Wisse <Maarten.Wisse\@urz.uni-hd.de>",
|
||||
|
12
po/ca_ES.po
12
po/ca_ES.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Marc Rovira Vall <tm05462@salleURL.edu>, 2003
|
||||
# Ramon Roca <ramon.roca@xcombo.com>, 2003
|
||||
@ -9,8 +9,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
||||
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
||||
"Language-Team: Catalanian\n"
|
||||
@ -927,6 +927,12 @@ msgstr "Canal bloquejat (gravant)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Disc gairebé ple!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "No puc apagar, falta la opció -s !"
|
||||
|
||||
|
12
po/cs_CZ.po
12
po/cs_CZ.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Vladimír Bárta <vladimir.barta@k2atmitec.cz>, 2006, 2008
|
||||
# Jiøí Dobrý <jdobry@centrum.cz>, 2008
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-28 15:00+0200\n"
|
||||
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>, Jiøí Dobrý <jdobry@centrum.cz>\n"
|
||||
"Language-Team: Czech\n"
|
||||
@ -925,6 +925,12 @@ msgstr "Kan
|
||||
msgid "Low disk space!"
|
||||
msgstr "Disk bude brzy zaplnìn!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Vypnutí není mo¾né - chybí volba '-s'!"
|
||||
|
||||
|
12
po/da_DK.po
12
po/da_DK.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Mogens Elneff <mogens@elneff.dk>, 2004, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
|
||||
"Language-Team: Danish\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Kanal blokeret (optagelse i gang)"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Kun lidt diskplads tilbage!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Kan ikke slukke - parameter '-s' ikke angivet!"
|
||||
|
||||
|
16
po/de_DE.po
16
po/de_DE.po
@ -1,15 +1,15 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Klaus Schmidinger <kls@cadsoft.de>, 2000-2008
|
||||
# Klaus Schmidinger <kls@tvdr.de>, 2000-2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-11-25 15:19+0200\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
|
||||
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-15\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Kanal blockiert (zeichnet auf)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Platte beinahe voll!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr "Index-Datei wird regeneriert"
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr "Regenerierung der Index-Datei abgeschlossen"
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Ausschalten unmöglich - Option '-s' fehlt!"
|
||||
|
||||
|
12
po/el_GR.po
12
po/el_GR.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Dimitrios Dimitrakos <mail@dimitrios.de>, 2002, 2006
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
|
||||
"Language-Team: Greek\n"
|
||||
@ -924,6 +924,12 @@ msgstr "
|
||||
msgid "Low disk space!"
|
||||
msgstr "Ï óêëçñüò êïíôåýåé íÜ ãåìßóåé!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Áäýíáôïí íá ãßíåé ôåñìáôéóìüò. Áíýðáñêôç ç ðáñÜìåôñïò '-s'!"
|
||||
|
||||
|
12
po/es_ES.po
12
po/es_ES.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Ruben Nunez Francisco <ruben.nunez@tang-it.com>, 2002, 2006
|
||||
# Luca Olivetti <luca@ventoso.org>, 2008
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
||||
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
@ -925,6 +925,12 @@ msgstr "
|
||||
msgid "Low disk space!"
|
||||
msgstr "¡Poco espacio en disco!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "¡No se puede apagar - falta el parámetro '-s'!"
|
||||
|
||||
|
12
po/et_EE.po
12
po/et_EE.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Arthur Konovalov <kasjas@hot.ee>, 2004, 2005, 2006, 2007
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
|
||||
"Language-Team: Estonian\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Kanal lukus (salvestamine aktiivne)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Kõvaketas täis!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Väljalülitamine ebaõnnestus - '-s' parameeter puudub!"
|
||||
|
||||
|
12
po/fi_FI.po
12
po/fi_FI.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Hannu Savolainen <hannu@opensound.com>, 2002
|
||||
# Jaakko Hyvätti <jaakko@hyvatti.iki.fi>, 2002, 2003
|
||||
@ -9,8 +9,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
||||
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
|
||||
"Language-Team: Finnish\n"
|
||||
@ -927,6 +927,12 @@ msgstr "Kanava lukittu (tallennus k
|
||||
msgid "Low disk space!"
|
||||
msgstr "Tallennustila loppumassa!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Sammutus ei onnistu - '-s' parametri puuttuu!"
|
||||
|
||||
|
12
po/fr_FR.po
12
po/fr_FR.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Jean-Claude Repetto <jc@repetto.org>, 2001, 2002, 2008
|
||||
# Olivier Jacques <jacquesolivier@hotmail.com>, 2003, 2005
|
||||
@ -12,8 +12,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
|
||||
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
|
||||
"Language-Team: French\n"
|
||||
@ -930,6 +930,12 @@ msgstr "Cha
|
||||
msgid "Low disk space!"
|
||||
msgstr "Disque presque plein !"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Arrêt impossible - option '-s' absente !"
|
||||
|
||||
|
12
po/hr_HR.po
12
po/hr_HR.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Drazen Dupor <drazen.dupor@dupor.com>, 2004, 2005
|
||||
# Dino Ravnic <dino.ravnic@fer.hr>, 2004
|
||||
@ -8,8 +8,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
|
||||
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
|
||||
"Language-Team: Croatian\n"
|
||||
@ -926,6 +926,12 @@ msgstr "Program zaklju
|
||||
msgid "Low disk space!"
|
||||
msgstr "Malo prostora na disku!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Ga¹enje nemoguæe - nedostaje opcija '-s'!"
|
||||
|
||||
|
12
po/hu_HU.po
12
po/hu_HU.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Istvan Koenigsberger <istvnko@hotmail.com>, 2002, 2003, 2006
|
||||
# Guido Josten <guido.josten@t-online.de>, 2002, 2003, 2006
|
||||
@ -9,8 +9,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-12-01 21:42+0200\n"
|
||||
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
@ -927,6 +927,12 @@ msgstr "Az ad
|
||||
msgid "Low disk space!"
|
||||
msgstr "A merev lemez majdnem tele!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "A leállítás nem lehetséges - Opció '-s' hiányzik!"
|
||||
|
||||
|
24
po/it_IT.po
24
po/it_IT.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Alberto Carraro <bertocar@tin.it>, 2001
|
||||
# Antonio Ospite <ospite@studenti.unina.it>, 2003, 2006
|
||||
@ -10,9 +10,9 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"PO-Revision-Date: 2009-02-08 18:58+0100\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2009-08-29 11:16+0100\n"
|
||||
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
|
||||
"Language-Team: Italian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -712,13 +712,13 @@ msgid "Can't reset CAM!"
|
||||
msgstr "Impossibile reimpostare il modulo CAM!"
|
||||
|
||||
msgid "do not pause live video"
|
||||
msgstr ""
|
||||
msgstr "non pausare video dal vivo"
|
||||
|
||||
msgid "confirm pause live video"
|
||||
msgstr ""
|
||||
msgstr "conferma pausa video dal vivo"
|
||||
|
||||
msgid "pause live video"
|
||||
msgstr ""
|
||||
msgstr "pausa video dal vivo"
|
||||
|
||||
msgid "Recording"
|
||||
msgstr "Registrazione"
|
||||
@ -739,7 +739,7 @@ msgid "Setup.Recording$Default lifetime (d)"
|
||||
msgstr "Scadenza predefinita (gg)"
|
||||
|
||||
msgid "Setup.Recording$Pause key handling"
|
||||
msgstr ""
|
||||
msgstr "Gestione tasto Pausa"
|
||||
|
||||
msgid "Setup.Recording$Pause priority"
|
||||
msgstr "Priorità di pausa"
|
||||
@ -931,6 +931,12 @@ msgstr "Canale bloccato (in registrazione)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Poco spazio su disco!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Impossibile spegnere - parametro '-s' non assegnato!"
|
||||
|
||||
@ -1003,7 +1009,7 @@ msgid "Upcoming recording!"
|
||||
msgstr "Registrazione imminente!"
|
||||
|
||||
msgid "Pause live video?"
|
||||
msgstr ""
|
||||
msgstr "Pausare video dal vivo?"
|
||||
|
||||
msgid "Recording started"
|
||||
msgstr "Registrazione avviata"
|
||||
|
1030
po/lt_LT.po
Normal file
1030
po/lt_LT.po
Normal file
File diff suppressed because it is too large
Load Diff
12
po/nl_NL.po
12
po/nl_NL.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Arnold Niessen <niessen@iae.nl> <arnold.niessen@philips.com>, 2001
|
||||
# Hans Dingemans <hans.dingemans@tacticalops.nl>, 2003, 2005
|
||||
@ -10,8 +10,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
|
||||
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
|
||||
"Language-Team: Dutch\n"
|
||||
@ -928,6 +928,12 @@ msgstr "Kanaal geblokkeerd (neemt op)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Hardeschijf bijna vol!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Shutdown onmogelijk - Optie '-s' ontbreekt!"
|
||||
|
||||
|
12
po/nn_NO.po
12
po/nn_NO.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Jørgen Tvedt <pjtvedt@online.no>, 2001
|
||||
# Truls Slevigen <truls@slevigen.no>, 2002
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
@ -925,6 +925,12 @@ msgstr "Kanalen er l
|
||||
msgid "Low disk space!"
|
||||
msgstr "Lite ledig diskplass!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Kan ikke slå av - startet uten parameteret '-s'!"
|
||||
|
||||
|
12
po/pl_PL.po
12
po/pl_PL.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Michael Rakowski <mrak@gmx.de>, 2002, 2003, 2008
|
||||
# Jaroslaw Swierczynski <swiergot@gmail.com>, 2006
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
|
||||
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
|
||||
"Language-Team: Polish\n"
|
||||
@ -925,6 +925,12 @@ msgstr "Kana
|
||||
msgid "Low disk space!"
|
||||
msgstr "Ma³o miejsca na dysku!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Nie mo¿na wy³±czyæ - nie podano opcji '-s'!"
|
||||
|
||||
|
12
po/pt_PT.po
12
po/pt_PT.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Paulo Lopes <pmml@netvita.pt>, 2001
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-18 17:04+0100\n"
|
||||
"Last-Translator: anonymous\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Canal bloqueado (a gravar)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Espaço em disco reduzido!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Impossível desligar - falta a opção '-s'!"
|
||||
|
||||
|
12
po/ro_RO.po
12
po/ro_RO.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Paul Lacatus <paul@campina.iiruc.ro>, 2002
|
||||
# Lucian Muresan <lucianm@users.sourceforge.net>, 2004, 2005, 2006, 2008
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-25 00:39+0100\n"
|
||||
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
||||
"Language-Team: Romanian\n"
|
||||
@ -927,6 +927,12 @@ msgstr "Canal blocat (
|
||||
msgid "Low disk space!"
|
||||
msgstr "Spaþiul pe disc e foarte scãzut!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Nu pot închide - vezi opþiunea '-s'"
|
||||
|
||||
|
12
po/ru_RU.po
12
po/ru_RU.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Vyacheslav Dikonov <sdiconov@mail.ru>, 2004, 2005
|
||||
# Oleg Roitburd <oleg@roitburd.de>, 2005, 2006, 2007, 2008
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
|
||||
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
|
||||
"Language-Team: Russian\n"
|
||||
@ -925,6 +925,12 @@ msgstr "
|
||||
msgid "Low disk space!"
|
||||
msgstr "½ÕÔÞáâÐâÞçÝÞ ÜÕáâÐ ÝÐ ÔØáÚÕ!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "²ëÚÛîçÕÝØÕ ÝÕÒÞ×ÜÞÖÝÞ - ÝÕ ×ÐÔÐÝ ßÐàÐÜÕâà '-s'!"
|
||||
|
||||
|
1031
po/sk_SK.po
Normal file
1031
po/sk_SK.po
Normal file
File diff suppressed because it is too large
Load Diff
12
po/sl_SI.po
12
po/sl_SI.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Miha Setina <mihasetina@softhome.net>, 2000
|
||||
# Matjaz Thaler <matjaz.thaler@guest.arnes.si>, 2003, 2005, 2006, 2008
|
||||
@ -7,8 +7,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
|
||||
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
|
||||
"Language-Team: Slovenian\n"
|
||||
@ -925,6 +925,12 @@ msgstr "Zaklenjen kanal (snemanje)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Premalo prostora na disku!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Zaustavitev ni izvedljiva - opcija '-s' ni podana!"
|
||||
|
||||
|
12
po/sv_SE.po
12
po/sv_SE.po
@ -1,5 +1,5 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Tomas Prybil <tomas@prybil.se>, 2002, 2003, 2005, 2006
|
||||
# Jan Ekholm <chakie@infa.abo.fi>, 2003
|
||||
@ -9,8 +9,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
|
||||
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
|
||||
"Language-Team: Swedish\n"
|
||||
@ -927,6 +927,12 @@ msgstr "Kanalen
|
||||
msgid "Low disk space!"
|
||||
msgstr "Lågt diskutrymme!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Kan inte avsluta, måste använda parameter '-s'"
|
||||
|
||||
|
12
po/tr_TR.po
12
po/tr_TR.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Oktay Yolgeçen <oktay_73@yahoo.de>, 2007, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
|
||||
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
|
||||
"Language-Team: Turkish\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Kanal ge
|
||||
msgid "Low disk space!"
|
||||
msgstr "Kayýt kapasitesi az!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Kapatýlamýyor - '-s' seçeneði verilmemiþ!"
|
||||
|
||||
|
12
po/uk_UA.po
12
po/uk_UA.po
@ -1,13 +1,13 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Yarema Aka Knedlyk <yupadmin@gmail.com>, 2007, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.7.7\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-31 11:11+0200\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2009-05-31 13:17+0200\n"
|
||||
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
@ -924,6 +924,12 @@ msgstr "Канал заблоковано (йде запис)!"
|
||||
msgid "Low disk space!"
|
||||
msgstr "Недостатньо місця на диску!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "Виключенння неможливе - не задано параметр '-s'!"
|
||||
|
||||
|
194
po/zh_CN.po
194
po/zh_CN.po
@ -1,14 +1,14 @@
|
||||
# VDR language source file.
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@cadsoft.de>
|
||||
# Copyright (C) 2008 Klaus Schmidinger <kls@tvdr.de>
|
||||
# This file is distributed under the same license as the VDR package.
|
||||
# Nan Feng <nfgx@21cn.com>, 2008
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 1.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@cadsoft.de>\n"
|
||||
"POT-Creation-Date: 2009-05-21 13:18+0200\n"
|
||||
"PO-Revision-Date: 2008-03-21 08:44+0800\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2009-11-22 12:28+0100\n"
|
||||
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
|
||||
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
|
||||
"Language-Team: Chinese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -22,7 +22,7 @@ msgid "off"
|
||||
msgstr "关"
|
||||
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
msgstr "开"
|
||||
|
||||
msgid "auto"
|
||||
msgstr "自动"
|
||||
@ -31,7 +31,7 @@ msgid "none"
|
||||
msgstr "无"
|
||||
|
||||
msgid "*** Invalid Channel ***"
|
||||
msgstr "***无效频道 ***"
|
||||
msgstr "***无效的频道 ***"
|
||||
|
||||
msgid "Channel not available!"
|
||||
msgstr "频道不可用!"
|
||||
@ -47,7 +47,7 @@ msgstr "没有标题"
|
||||
|
||||
#. TRANSLATORS: The name of the language, as written natively
|
||||
msgid "LanguageName$English"
|
||||
msgstr "中文"
|
||||
msgstr "简体中文"
|
||||
|
||||
#. TRANSLATORS: The 3-letter code of the language
|
||||
msgid "LanguageCode$eng"
|
||||
@ -63,7 +63,7 @@ msgid "RC code detected!"
|
||||
msgstr "发现RC代码!"
|
||||
|
||||
msgid "Do not press any key..."
|
||||
msgstr "不按下任何键... "
|
||||
msgstr "不要按下任何键... "
|
||||
|
||||
msgid "Phase 2: Learning specific key codes"
|
||||
msgstr "阶段 2: 学习特殊的按键代码"
|
||||
@ -94,7 +94,7 @@ msgid "Phase 3: Saving key codes"
|
||||
msgstr "阶段 3: 保存代码"
|
||||
|
||||
msgid "Press 'Up' to save, 'Down' to cancel"
|
||||
msgstr "请按上保存,按下取消"
|
||||
msgstr "请按上保存,按下取消."
|
||||
|
||||
msgid "Key$Up"
|
||||
msgstr "上"
|
||||
@ -229,10 +229,10 @@ msgid "Key$User9"
|
||||
msgstr "用户9"
|
||||
|
||||
msgid "Disk"
|
||||
msgstr "磁盘"
|
||||
msgstr "硬盘已使用"
|
||||
|
||||
msgid "free"
|
||||
msgstr "剩余"
|
||||
msgstr "可录像时间"
|
||||
|
||||
msgid "Free To Air"
|
||||
msgstr "剩余空间"
|
||||
@ -247,7 +247,7 @@ msgid "Name"
|
||||
msgstr "名字"
|
||||
|
||||
msgid "Source"
|
||||
msgstr "来源"
|
||||
msgstr "卫星源"
|
||||
|
||||
msgid "Frequency"
|
||||
msgstr "频率"
|
||||
@ -286,16 +286,16 @@ msgid "Sid"
|
||||
msgstr "Sid"
|
||||
|
||||
msgid "Polarization"
|
||||
msgstr "极化"
|
||||
msgstr "极化方式"
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
msgstr "卫星系统"
|
||||
|
||||
msgid "Srate"
|
||||
msgstr "比率"
|
||||
msgstr "符号率"
|
||||
|
||||
msgid "Inversion"
|
||||
msgstr "倒置"
|
||||
msgstr "反向"
|
||||
|
||||
msgid "CoderateH"
|
||||
msgstr "高符号频率"
|
||||
@ -319,13 +319,13 @@ msgid "Hierarchy"
|
||||
msgstr "层次"
|
||||
|
||||
msgid "Rolloff"
|
||||
msgstr ""
|
||||
msgstr "越零率"
|
||||
|
||||
msgid "Channel settings are not unique!"
|
||||
msgstr "频道设置不是唯一的!"
|
||||
|
||||
msgid "Channels"
|
||||
msgstr "频道"
|
||||
msgstr "频道列表"
|
||||
|
||||
msgid "Button$Edit"
|
||||
msgstr "编辑"
|
||||
@ -340,7 +340,7 @@ msgid "Button$Mark"
|
||||
msgstr "标记"
|
||||
|
||||
msgid "Channel is being used by a timer!"
|
||||
msgstr "频道正在使用定时器!"
|
||||
msgstr "频道正在录像!"
|
||||
|
||||
msgid "Delete channel?"
|
||||
msgstr "是否删除频道?"
|
||||
@ -379,7 +379,7 @@ msgid "First day"
|
||||
msgstr "第一天"
|
||||
|
||||
msgid "Timers"
|
||||
msgstr "计时器"
|
||||
msgstr "录像中列表"
|
||||
|
||||
msgid "Button$On/Off"
|
||||
msgstr "开/关"
|
||||
@ -391,7 +391,7 @@ msgid "Delete timer?"
|
||||
msgstr "是否删除时间?"
|
||||
|
||||
msgid "Timer still recording - really delete?"
|
||||
msgstr "计时器仍在录制-真的删除? "
|
||||
msgstr "录像中-是否的删除? "
|
||||
|
||||
msgid "Event"
|
||||
msgstr "事件"
|
||||
@ -400,7 +400,7 @@ msgid "Button$Timer"
|
||||
msgstr "时间"
|
||||
|
||||
msgid "Button$Record"
|
||||
msgstr "记录"
|
||||
msgstr "录像"
|
||||
|
||||
msgid "Button$Switch"
|
||||
msgstr "开关"
|
||||
@ -409,7 +409,7 @@ msgid "What's on now?"
|
||||
msgstr "现在播放的节目?"
|
||||
|
||||
msgid "What's on next?"
|
||||
msgstr "下一播放的节目?"
|
||||
msgstr "下一个播放的节目?"
|
||||
|
||||
msgid "Button$Next"
|
||||
msgstr "下一步"
|
||||
@ -418,14 +418,14 @@ msgid "Button$Now"
|
||||
msgstr "现在"
|
||||
|
||||
msgid "Button$Schedule"
|
||||
msgstr "任务表"
|
||||
msgstr "任务列表"
|
||||
|
||||
msgid "Can't switch channel!"
|
||||
msgstr "不能切换频道"
|
||||
|
||||
#, c-format
|
||||
msgid "Schedule - %s"
|
||||
msgstr "时间表 - %s"
|
||||
msgstr "任务列表 - %s"
|
||||
|
||||
#, c-format
|
||||
msgid "This event - %s"
|
||||
@ -445,31 +445,31 @@ msgid "CAM not responding!"
|
||||
msgstr "CAM 没有响应!"
|
||||
|
||||
msgid "Recording info"
|
||||
msgstr "记录信息"
|
||||
msgstr "录像信息"
|
||||
|
||||
msgid "Button$Play"
|
||||
msgstr "播放"
|
||||
|
||||
msgid "Button$Rewind"
|
||||
msgstr "重绕"
|
||||
msgstr "重放"
|
||||
|
||||
msgid "Recordings"
|
||||
msgstr "记录"
|
||||
msgstr "录像回放列表"
|
||||
|
||||
msgid "Button$Open"
|
||||
msgstr "打开"
|
||||
|
||||
msgid "Commands"
|
||||
msgstr "命令"
|
||||
msgstr "常用操作命令"
|
||||
|
||||
msgid "Error while accessing recording!"
|
||||
msgstr "存取记录错误!"
|
||||
msgstr "存取录像错误!"
|
||||
|
||||
msgid "Delete recording?"
|
||||
msgstr "是否删除记录?"
|
||||
msgstr "是否删除录像?"
|
||||
|
||||
msgid "Error while deleting recording!"
|
||||
msgstr "删除记录错误!"
|
||||
msgstr "删除录像错误!"
|
||||
|
||||
msgid "Recording commands"
|
||||
msgstr "记录命令"
|
||||
@ -478,52 +478,52 @@ msgid "never"
|
||||
msgstr "从不"
|
||||
|
||||
msgid "skin dependent"
|
||||
msgstr "外壳选择"
|
||||
msgstr "皮肤选择"
|
||||
|
||||
msgid "always"
|
||||
msgstr "总是"
|
||||
|
||||
msgid "OSD"
|
||||
msgstr "OSD"
|
||||
msgstr "系统菜单设置"
|
||||
|
||||
msgid "Setup.OSD$Language"
|
||||
msgstr "语言"
|
||||
msgstr "语言选择"
|
||||
|
||||
msgid "Setup.OSD$Skin"
|
||||
msgstr "外壳"
|
||||
msgstr "皮肤选择"
|
||||
|
||||
msgid "Setup.OSD$Theme"
|
||||
msgstr "主题"
|
||||
msgstr "主题选择"
|
||||
|
||||
msgid "Setup.OSD$Left (%)"
|
||||
msgstr "左 (%)"
|
||||
msgstr "左边距离设置 (%)"
|
||||
|
||||
msgid "Setup.OSD$Top (%)"
|
||||
msgstr "顶部 (%)"
|
||||
msgstr "顶部距离设置 (%)"
|
||||
|
||||
msgid "Setup.OSD$Width (%)"
|
||||
msgstr "宽 (%)"
|
||||
msgstr "宽度设置 (%)"
|
||||
|
||||
msgid "Setup.OSD$Height (%)"
|
||||
msgstr "高 (%)"
|
||||
msgstr "高度设置 (%)"
|
||||
|
||||
msgid "Setup.OSD$Message time (s)"
|
||||
msgstr "时间信息 (s)"
|
||||
msgstr "显示信息时间(秒)"
|
||||
|
||||
msgid "Setup.OSD$Use small font"
|
||||
msgstr "使用小字体"
|
||||
|
||||
msgid "Setup.OSD$Anti-alias"
|
||||
msgstr "抗锯齿"
|
||||
msgstr "抗锯齿选择"
|
||||
|
||||
msgid "Setup.OSD$Default font"
|
||||
msgstr "默认字体"
|
||||
msgstr "默认字体选择"
|
||||
|
||||
msgid "Setup.OSD$Small font"
|
||||
msgstr "小字体"
|
||||
msgstr "小字体选择"
|
||||
|
||||
msgid "Setup.OSD$Fixed font"
|
||||
msgstr "固定字体"
|
||||
msgstr "固定字体选择"
|
||||
|
||||
msgid "Setup.OSD$Default font size (%)"
|
||||
msgstr "默认字体大小 (%)"
|
||||
@ -559,13 +559,13 @@ msgid "Setup.OSD$Scroll wraps"
|
||||
msgstr "滚动限制"
|
||||
|
||||
msgid "Setup.OSD$Menu key closes"
|
||||
msgstr "彩单关闭结束"
|
||||
msgstr "菜单关闭结束"
|
||||
|
||||
msgid "Setup.OSD$Recording directories"
|
||||
msgstr "记录目录"
|
||||
msgstr "录像目录"
|
||||
|
||||
msgid "EPG"
|
||||
msgstr "节目单"
|
||||
msgstr "电子节目单设置"
|
||||
|
||||
msgid "Button$Scan"
|
||||
msgstr "扫描"
|
||||
@ -594,25 +594,25 @@ msgid "Setup.EPG$Preferred language"
|
||||
msgstr "首选语言"
|
||||
|
||||
msgid "pan&scan"
|
||||
msgstr "pan&scan"
|
||||
msgstr "pan&scan模式"
|
||||
|
||||
msgid "letterbox"
|
||||
msgstr "小盒子模式"
|
||||
msgstr "letterbox模式"
|
||||
|
||||
msgid "center cut out"
|
||||
msgstr "Center-cut-out"
|
||||
msgstr "Center-cut-out模式"
|
||||
|
||||
msgid "no"
|
||||
msgstr "不"
|
||||
|
||||
msgid "names only"
|
||||
msgstr "names only"
|
||||
msgstr "仅是名字"
|
||||
|
||||
msgid "PIDs only"
|
||||
msgstr "PIDs only"
|
||||
msgstr "仅是PIDs"
|
||||
|
||||
msgid "names and PIDs"
|
||||
msgstr "names and PIDs"
|
||||
msgstr "名字和PIDs"
|
||||
|
||||
msgid "add new channels"
|
||||
msgstr "添加新频道"
|
||||
@ -621,10 +621,10 @@ msgid "add new transponders"
|
||||
msgstr "添加新转发器"
|
||||
|
||||
msgid "DVB"
|
||||
msgstr "DVB"
|
||||
msgstr "卫星卡设置"
|
||||
|
||||
msgid "Setup.DVB$Primary DVB interface"
|
||||
msgstr "主要DVB接口"
|
||||
msgstr "使用中卫星卡接口"
|
||||
|
||||
msgid "Setup.DVB$Video format"
|
||||
msgstr "视频格式"
|
||||
@ -663,13 +663,13 @@ msgid "Setup.DVB$Subtitle background transparency"
|
||||
msgstr "字幕背景透明度"
|
||||
|
||||
msgid "LNB"
|
||||
msgstr "高频头"
|
||||
msgstr "切换器设置"
|
||||
|
||||
msgid "Setup.LNB$Use DiSEqC"
|
||||
msgstr "使用切换器"
|
||||
|
||||
msgid "Setup.LNB$SLOF (MHz)"
|
||||
msgstr "SLOF (MHz)"
|
||||
msgstr "切换频率 (MHz)"
|
||||
|
||||
msgid "Setup.LNB$Low LNB frequency (MHz)"
|
||||
msgstr "低本振频率 (MHz)"
|
||||
@ -678,22 +678,22 @@ msgid "Setup.LNB$High LNB frequency (MHz)"
|
||||
msgstr "高本振频率 (MHz)"
|
||||
|
||||
msgid "CAM reset"
|
||||
msgstr "CAM 重置"
|
||||
msgstr "CAM重置"
|
||||
|
||||
msgid "CAM present"
|
||||
msgstr "现在的CAM"
|
||||
msgstr "存在的CAM"
|
||||
|
||||
msgid "CAM ready"
|
||||
msgstr "CAM 准备"
|
||||
msgstr "CAM准备"
|
||||
|
||||
msgid "CAM"
|
||||
msgstr "CAM"
|
||||
msgstr "CAM设置"
|
||||
|
||||
msgid "Button$Menu"
|
||||
msgstr "菜单"
|
||||
|
||||
msgid "Button$Reset"
|
||||
msgstr "重启"
|
||||
msgstr "重新启动系统"
|
||||
|
||||
msgid "Opening CAM menu..."
|
||||
msgstr "打开CAM菜单..."
|
||||
@ -717,7 +717,7 @@ msgid "pause live video"
|
||||
msgstr ""
|
||||
|
||||
msgid "Recording"
|
||||
msgstr "记录中"
|
||||
msgstr "录像设置"
|
||||
|
||||
msgid "Setup.Recording$Margin at start (min)"
|
||||
msgstr "时间正在开始 (min)"
|
||||
@ -735,7 +735,7 @@ msgid "Setup.Recording$Default lifetime (d)"
|
||||
msgstr "默认终身 (d)"
|
||||
|
||||
msgid "Setup.Recording$Pause key handling"
|
||||
msgstr ""
|
||||
msgstr "暂停关键的处理"
|
||||
|
||||
msgid "Setup.Recording$Pause priority"
|
||||
msgstr "暂停优先"
|
||||
@ -768,7 +768,7 @@ msgid "Setup.Recording$Split edited files"
|
||||
msgstr "分离编辑文件"
|
||||
|
||||
msgid "Replay"
|
||||
msgstr "回放"
|
||||
msgstr "回放设置"
|
||||
|
||||
msgid "Setup.Replay$Multi speed mode"
|
||||
msgstr "媒体速度模式"
|
||||
@ -780,7 +780,7 @@ msgid "Setup.Replay$Resume ID"
|
||||
msgstr "恢复 ID"
|
||||
|
||||
msgid "Miscellaneous"
|
||||
msgstr "混杂的"
|
||||
msgstr "其它设置"
|
||||
|
||||
msgid "Setup.Miscellaneous$Min. event timeout (min)"
|
||||
msgstr "Min. 结果超时 (min)"
|
||||
@ -810,26 +810,26 @@ msgid "Setup.Miscellaneous$Emergency exit"
|
||||
msgstr "突发事件退出"
|
||||
|
||||
msgid "Plugins"
|
||||
msgstr "插件"
|
||||
msgstr "插件设置"
|
||||
|
||||
msgid "This plugin has no setup parameters!"
|
||||
msgstr "这个插件没有设置参数!"
|
||||
|
||||
msgid "Setup"
|
||||
msgstr "设置"
|
||||
msgstr "VDR系统设置"
|
||||
|
||||
msgid "Restart"
|
||||
msgstr "重启"
|
||||
msgstr " 重启VDR系统"
|
||||
|
||||
msgid "Really restart?"
|
||||
msgstr "是否重启?"
|
||||
|
||||
#. TRANSLATORS: note the leading and trailing blanks!
|
||||
msgid " Stop recording "
|
||||
msgstr "停止记录"
|
||||
msgstr "是否停止录像?"
|
||||
|
||||
msgid "Schedule"
|
||||
msgstr "时间表"
|
||||
msgstr "任务列表"
|
||||
|
||||
msgid "VDR"
|
||||
msgstr "VDR"
|
||||
@ -855,13 +855,13 @@ msgid " Cancel editing"
|
||||
msgstr "取消编辑"
|
||||
|
||||
msgid "Stop recording?"
|
||||
msgstr "停止记录"
|
||||
msgstr "停止录像"
|
||||
|
||||
msgid "Cancel editing?"
|
||||
msgstr "取消编辑"
|
||||
|
||||
msgid "No audio available!"
|
||||
msgstr "声道不可用"
|
||||
msgstr "音频不可用"
|
||||
|
||||
msgid "No subtitles"
|
||||
msgstr "没有字幕"
|
||||
@ -873,10 +873,10 @@ msgid "No subtitles available!"
|
||||
msgstr "字幕不可用"
|
||||
|
||||
msgid "Not enough disk space to start recording!"
|
||||
msgstr "没有足够的空间记录"
|
||||
msgstr "没有足够的空间录像"
|
||||
|
||||
msgid "No free DVB device to record!"
|
||||
msgstr "没有空闲的DVB设备记录"
|
||||
msgstr "没有空闲的DVB设备录像"
|
||||
|
||||
msgid "Pausing live video..."
|
||||
msgstr "暂停当前视频"
|
||||
@ -922,10 +922,16 @@ msgid "Up/Dn for new location - OK to move"
|
||||
msgstr "上/下 新的定位 - OK 移动"
|
||||
|
||||
msgid "Channel locked (recording)!"
|
||||
msgstr "频道已经锁定 (记录)!"
|
||||
msgstr "频道已经锁定 (录像)!"
|
||||
|
||||
msgid "Low disk space!"
|
||||
msgstr "低磁盘空间!"
|
||||
msgstr "磁盘空间不足!"
|
||||
|
||||
msgid "Regenerating index file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Index file regeneration complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Can't shutdown - option '-s' not given!"
|
||||
msgstr "不能关机 - 操作 '-s' 不允许!"
|
||||
@ -934,45 +940,45 @@ msgid "Editing - shut down anyway?"
|
||||
msgstr "编辑-立即关机?"
|
||||
|
||||
msgid "Recording - shut down anyway?"
|
||||
msgstr "录像-立即关机?"
|
||||
msgstr "录像中,是否立即关机?"
|
||||
|
||||
#, c-format
|
||||
msgid "Recording in %ld minutes, shut down anyway?"
|
||||
msgstr "记录在 %ld 分钟,立即关机?"
|
||||
msgstr "录像已有 %ld 分钟,立即关机?"
|
||||
|
||||
msgid "shut down anyway?"
|
||||
msgstr "立即关机?"
|
||||
msgstr "是否立即关机?"
|
||||
|
||||
#, c-format
|
||||
msgid "Plugin %s wakes up in %ld min, continue?"
|
||||
msgstr "插件 %s 唤醒在 %ld 分钟,是否继续?"
|
||||
|
||||
msgid "Editing - restart anyway?"
|
||||
msgstr "编辑 - 现在重启?"
|
||||
msgstr "编辑中,是否现在重启?"
|
||||
|
||||
msgid "Recording - restart anyway?"
|
||||
msgstr "记录 - 现在重启?"
|
||||
msgstr "录像中,是否现在重启?"
|
||||
|
||||
msgid "restart anyway?"
|
||||
msgstr "现在重启?"
|
||||
msgstr "现在重启?"
|
||||
|
||||
#. TRANSLATORS: note the trailing blank!
|
||||
msgid "Volume "
|
||||
msgstr "音量"
|
||||
msgstr "音量调整"
|
||||
|
||||
msgid "Classic VDR"
|
||||
msgstr "经典 VDR"
|
||||
msgstr "经典VDR面板"
|
||||
|
||||
msgid "ST:TNG Panels"
|
||||
msgstr "ST:TNG 面板"
|
||||
|
||||
#. TRANSLATORS: the first character of each weekday, beginning with monday
|
||||
msgid "MTWTFSS"
|
||||
msgstr "MDMDFSS"
|
||||
msgstr "MTWTFSS"
|
||||
|
||||
#. TRANSLATORS: abbreviated weekdays, beginning with monday (must all be 3 letters!)
|
||||
msgid "MonTueWedThuFriSatSun"
|
||||
msgstr "一二三四五六日"
|
||||
msgstr "星期一星期二星期三星期四星期五星期六星期天"
|
||||
|
||||
msgid "Monday"
|
||||
msgstr "星期一"
|
||||
@ -996,22 +1002,22 @@ msgid "Sunday"
|
||||
msgstr "星期天"
|
||||
|
||||
msgid "Upcoming recording!"
|
||||
msgstr "即将的记录!"
|
||||
msgstr "准备录像!"
|
||||
|
||||
msgid "Pause live video?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Recording started"
|
||||
msgstr "记录开始!"
|
||||
msgstr "录像开始!"
|
||||
|
||||
msgid "VDR will shut down later - press Power to force"
|
||||
msgstr "VDR即将关闭 - 按电源强制关闭"
|
||||
msgstr "VDR即将关闭 - 按电源强制关闭!"
|
||||
|
||||
msgid "Press any key to cancel shutdown"
|
||||
msgstr "按下任何键即可取消关机"
|
||||
|
||||
msgid "Switching primary DVB..."
|
||||
msgstr "切换主要的DVB.."
|
||||
msgstr "切换主要的DVB设备."
|
||||
|
||||
msgid "Editing process failed!"
|
||||
msgstr "编辑过程失败"
|
||||
@ -1024,4 +1030,4 @@ msgstr "请按任意键重启"
|
||||
|
||||
#, c-format
|
||||
msgid "VDR will shut down in %s minutes"
|
||||
msgstr "VDR将要在%s分钟关闭"
|
||||
msgstr "VDR系统将要在%s分钟关闭"
|
||||
|
44
recorder.c
44
recorder.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recorder.c 2.4 2009/05/23 12:18:25 kls Exp $
|
||||
* $Id: recorder.c 2.6 2009/11/21 15:58:12 kls Exp $
|
||||
*/
|
||||
|
||||
#include "recorder.h"
|
||||
@ -30,7 +30,7 @@ cRecorder::cRecorder(const char *FileName, tChannelID ChannelID, int Priority, i
|
||||
|
||||
SpinUpDisk(FileName);
|
||||
|
||||
ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, TS_SIZE * 2, true, "Recorder");
|
||||
ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE, true, "Recorder");
|
||||
ringBuffer->SetTimeouts(0, 100);
|
||||
cChannel *Channel = Channels.GetByChannelID(ChannelID);
|
||||
int Pid = VPid;
|
||||
@ -116,6 +116,7 @@ void cRecorder::Action(void)
|
||||
{
|
||||
time_t t = time(NULL);
|
||||
bool InfoWritten = false;
|
||||
bool FirstIframeSeen = false;
|
||||
while (Running()) {
|
||||
int r;
|
||||
uchar *b = ringBuffer->Get(r);
|
||||
@ -134,25 +135,28 @@ void cRecorder::Action(void)
|
||||
}
|
||||
InfoWritten = true;
|
||||
}
|
||||
if (!NextFile())
|
||||
break;
|
||||
if (index && frameDetector->NewFrame())
|
||||
index->Write(frameDetector->IndependentFrame(), fileName->Number(), fileSize);
|
||||
if (frameDetector->IndependentFrame()) {
|
||||
recordFile->Write(patPmtGenerator.GetPat(), TS_SIZE);
|
||||
fileSize += TS_SIZE;
|
||||
int Index = 0;
|
||||
while (uchar *pmt = patPmtGenerator.GetPmt(Index)) {
|
||||
recordFile->Write(pmt, TS_SIZE);
|
||||
fileSize += TS_SIZE;
|
||||
}
|
||||
if (FirstIframeSeen || frameDetector->IndependentFrame()) {
|
||||
FirstIframeSeen = true; // start recording with the first I-frame
|
||||
if (!NextFile())
|
||||
break;
|
||||
if (index && frameDetector->NewFrame())
|
||||
index->Write(frameDetector->IndependentFrame(), fileName->Number(), fileSize);
|
||||
if (frameDetector->IndependentFrame()) {
|
||||
recordFile->Write(patPmtGenerator.GetPat(), TS_SIZE);
|
||||
fileSize += TS_SIZE;
|
||||
int Index = 0;
|
||||
while (uchar *pmt = patPmtGenerator.GetPmt(Index)) {
|
||||
recordFile->Write(pmt, TS_SIZE);
|
||||
fileSize += TS_SIZE;
|
||||
}
|
||||
}
|
||||
if (recordFile->Write(b, Count) < 0) {
|
||||
LOG_ERROR_STR(fileName->Name());
|
||||
break;
|
||||
}
|
||||
fileSize += Count;
|
||||
t = time(NULL);
|
||||
}
|
||||
if (recordFile->Write(b, Count) < 0) {
|
||||
LOG_ERROR_STR(fileName->Name());
|
||||
break;
|
||||
}
|
||||
fileSize += Count;
|
||||
t = time(NULL);
|
||||
}
|
||||
ringBuffer->Del(Count);
|
||||
}
|
||||
|
150
recording.c
150
recording.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.c 2.17 2009/08/16 10:39:43 kls Exp $
|
||||
* $Id: recording.c 2.18 2009/11/22 11:20:53 kls Exp $
|
||||
*/
|
||||
|
||||
#include "recording.h"
|
||||
@ -21,6 +21,7 @@
|
||||
#include "i18n.h"
|
||||
#include "interface.h"
|
||||
#include "remux.h"
|
||||
#include "ringbuffer.h"
|
||||
#include "skins.h"
|
||||
#include "tools.h"
|
||||
#include "videodir.h"
|
||||
@ -1309,6 +1310,124 @@ void cRecordingUserCommand::InvokeCommand(const char *State, const char *Recordi
|
||||
}
|
||||
}
|
||||
|
||||
// --- cIndexFileGenerator ---------------------------------------------------
|
||||
|
||||
#define IFG_BUFFER_SIZE KILOBYTE(100)
|
||||
|
||||
class cIndexFileGenerator : public cThread {
|
||||
private:
|
||||
cString recordingName;
|
||||
protected:
|
||||
virtual void Action(void);
|
||||
public:
|
||||
cIndexFileGenerator(const char *RecordingName);
|
||||
~cIndexFileGenerator();
|
||||
};
|
||||
|
||||
cIndexFileGenerator::cIndexFileGenerator(const char *RecordingName)
|
||||
:cThread("index file generator")
|
||||
,recordingName(RecordingName)
|
||||
{
|
||||
Start();
|
||||
}
|
||||
|
||||
cIndexFileGenerator::~cIndexFileGenerator()
|
||||
{
|
||||
Cancel(3);
|
||||
}
|
||||
|
||||
void cIndexFileGenerator::Action(void)
|
||||
{
|
||||
bool IndexFileComplete = false;
|
||||
bool Rewind = false;
|
||||
cFileName FileName(recordingName, false);
|
||||
cUnbufferedFile *ReplayFile = FileName.Open();
|
||||
cRingBufferLinear Buffer(IFG_BUFFER_SIZE, MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE);
|
||||
cPatPmtParser PatPmtParser;
|
||||
cFrameDetector FrameDetector;
|
||||
cIndexFile IndexFile(recordingName, true);
|
||||
int BufferChunks = KILOBYTE(1); // no need to read a lot at the beginning when parsing PAT/PMT
|
||||
off_t FileSize = 0;
|
||||
off_t FrameOffset = -1;
|
||||
Skins.QueueMessage(mtInfo, tr("Regenerating index file"));
|
||||
while (Running()) {
|
||||
// Rewind input file:
|
||||
if (Rewind) {
|
||||
ReplayFile = FileName.SetOffset(1);
|
||||
Buffer.Clear();
|
||||
Rewind = false;
|
||||
}
|
||||
// Process data:
|
||||
int Length;
|
||||
uchar *Data = Buffer.Get(Length);
|
||||
if (Data) {
|
||||
if (FrameDetector.Synced()) {
|
||||
// Step 3 - generate the index:
|
||||
if (TsPid(Data) == PATPID)
|
||||
FrameOffset = FileSize; // the PAT/PMT is at the beginning of an I-frame
|
||||
int Processed = FrameDetector.Analyze(Data, Length);
|
||||
if (Processed > 0) {
|
||||
if (FrameDetector.NewFrame()) {
|
||||
IndexFile.Write(FrameDetector.IndependentFrame(), FileName.Number(), FrameOffset >= 0 ? FrameOffset : FileSize);
|
||||
FrameOffset = -1;
|
||||
}
|
||||
FileSize += Processed;
|
||||
Buffer.Del(Processed);
|
||||
}
|
||||
}
|
||||
else if (PatPmtParser.Vpid()) {
|
||||
// Step 2 - sync FrameDetector:
|
||||
int Processed = FrameDetector.Analyze(Data, Length);
|
||||
if (Processed > 0) {
|
||||
if (FrameDetector.Synced()) {
|
||||
// Synced FrameDetector, so rewind for actual processing:
|
||||
FrameDetector.Reset();
|
||||
Rewind = true;
|
||||
}
|
||||
Buffer.Del(Processed);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Step 1 - parse PAT/PMT:
|
||||
uchar *p = Data;
|
||||
while (Length >= TS_SIZE) {
|
||||
int Pid = TsPid(p);
|
||||
if (Pid == 0)
|
||||
PatPmtParser.ParsePat(p, TS_SIZE);
|
||||
else if (Pid == PatPmtParser.PmtPid())
|
||||
PatPmtParser.ParsePmt(p, TS_SIZE);
|
||||
Length -= TS_SIZE;
|
||||
p += TS_SIZE;
|
||||
if (PatPmtParser.Vpid()) {
|
||||
// Found Vpid, so rewind to sync FrameDetector:
|
||||
FrameDetector.SetPid(PatPmtParser.Vpid(), PatPmtParser.Vtype());
|
||||
BufferChunks = IFG_BUFFER_SIZE;
|
||||
Rewind = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Buffer.Del(p - Data);
|
||||
}
|
||||
}
|
||||
// Read data:
|
||||
else if (ReplayFile) {
|
||||
int Result = Buffer.Read(ReplayFile, BufferChunks);
|
||||
if (Result == 0) // EOF
|
||||
ReplayFile = FileName.NextFile();
|
||||
}
|
||||
// Recording has been processed:
|
||||
else {
|
||||
IndexFileComplete = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Delete the index file if the recording has not been processed entirely:
|
||||
if (IndexFileComplete)
|
||||
Skins.QueueMessage(mtInfo, tr("Index file regeneration complete"));
|
||||
else
|
||||
IndexFile.Delete();
|
||||
}
|
||||
|
||||
// --- cIndexFile ------------------------------------------------------------
|
||||
|
||||
#define INDEXFILESUFFIX "/index"
|
||||
@ -1343,6 +1462,9 @@ struct tIndexTs {
|
||||
}
|
||||
};
|
||||
|
||||
#define MAXWAITFORINDEXFILE 10 // max. time to wait for the regenerated index file (seconds)
|
||||
#define INDEXFILECHECKINTERVAL 500 // ms between checks for existence of the regenerated index file
|
||||
|
||||
cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording)
|
||||
:resumeFile(FileName, IsPesRecording)
|
||||
{
|
||||
@ -1352,6 +1474,7 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording)
|
||||
last = -1;
|
||||
index = NULL;
|
||||
isPesRecording = IsPesRecording;
|
||||
indexFileGenerator = NULL;
|
||||
if (FileName) {
|
||||
const char *Suffix = isPesRecording ? INDEXFILESUFFIX ".vdr" : INDEXFILESUFFIX;
|
||||
fileName = MALLOC(char, strlen(FileName) + strlen(Suffix) + 1);
|
||||
@ -1360,6 +1483,18 @@ cIndexFile::cIndexFile(const char *FileName, bool Record, bool IsPesRecording)
|
||||
char *pFileExt = fileName + strlen(fileName);
|
||||
strcpy(pFileExt, Suffix);
|
||||
int delta = 0;
|
||||
if (!Record && access(fileName, R_OK) != 0) {
|
||||
// Index file doesn't exist, so try to regenerate it:
|
||||
if (!isPesRecording) { // sorry, can only do this for TS recordings
|
||||
resumeFile.Delete(); // just in case
|
||||
indexFileGenerator = new cIndexFileGenerator(FileName);
|
||||
// Wait until the index file exists:
|
||||
time_t tmax = time(NULL) + MAXWAITFORINDEXFILE;
|
||||
do {
|
||||
cCondWait::SleepMs(INDEXFILECHECKINTERVAL); // start with a sleep, to give it a head start
|
||||
} while (access(fileName, R_OK) != 0 && time(NULL) < tmax);
|
||||
}
|
||||
}
|
||||
if (access(fileName, R_OK) == 0) {
|
||||
struct stat buf;
|
||||
if (stat(fileName, &buf) == 0) {
|
||||
@ -1421,6 +1556,7 @@ cIndexFile::~cIndexFile()
|
||||
close(f);
|
||||
free(fileName);
|
||||
free(index);
|
||||
delete indexFileGenerator;
|
||||
}
|
||||
|
||||
void cIndexFile::ConvertFromPes(tIndexTs *IndexTs, int Count)
|
||||
@ -1598,6 +1734,18 @@ bool cIndexFile::IsStillRecording()
|
||||
return f >= 0;
|
||||
}
|
||||
|
||||
void cIndexFile::Delete(void)
|
||||
{
|
||||
if (fileName) {
|
||||
dsyslog("deleting index file '%s'", fileName);
|
||||
if (f >= 0) {
|
||||
close(f);
|
||||
f = -1;
|
||||
}
|
||||
unlink(fileName);
|
||||
}
|
||||
}
|
||||
|
||||
// --- cFileName -------------------------------------------------------------
|
||||
|
||||
#define MAXFILESPERRECORDINGPES 255
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.h 2.9 2009/08/16 15:35:30 kls Exp $
|
||||
* $Id: recording.h 2.10 2009/11/21 16:12:55 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __RECORDING_H
|
||||
@ -220,6 +220,7 @@ public:
|
||||
#define MAXVIDEOFILESIZEDEFAULT MAXVIDEOFILESIZEPES
|
||||
|
||||
struct tIndexTs;
|
||||
class cIndexFileGenerator;
|
||||
|
||||
class cIndexFile {
|
||||
private:
|
||||
@ -229,6 +230,7 @@ private:
|
||||
tIndexTs *index;
|
||||
bool isPesRecording;
|
||||
cResumeFile resumeFile;
|
||||
cIndexFileGenerator *indexFileGenerator;
|
||||
cMutex mutex;
|
||||
void ConvertFromPes(tIndexTs *IndexTs, int Count);
|
||||
void ConvertToPes(tIndexTs *IndexTs, int Count);
|
||||
@ -245,6 +247,7 @@ public:
|
||||
int GetResume(void) { return resumeFile.Read(); }
|
||||
bool StoreResume(int Index) { return resumeFile.Save(Index); }
|
||||
bool IsStillRecording(void);
|
||||
void Delete(void);
|
||||
};
|
||||
|
||||
class cFileName {
|
||||
|
311
remux.c
311
remux.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: remux.c 2.26 2009/08/16 15:13:42 kls Exp $
|
||||
* $Id: remux.c 2.29 2009/11/22 11:23:27 kls Exp $
|
||||
*/
|
||||
|
||||
#include "remux.h"
|
||||
@ -264,8 +264,8 @@ void cPatPmtGenerator::GeneratePat(void)
|
||||
uchar *p = pat;
|
||||
int i = 0;
|
||||
p[i++] = TS_SYNC_BYTE; // TS indicator
|
||||
p[i++] = TS_PAYLOAD_START; // flags (3), pid hi (5)
|
||||
p[i++] = 0x00; // pid lo
|
||||
p[i++] = TS_PAYLOAD_START | (PATPID >> 8); // flags (3), pid hi (5)
|
||||
p[i++] = PATPID & 0xFF; // pid lo
|
||||
p[i++] = 0x10; // flags (4), continuity counter (4)
|
||||
p[i++] = 0x00; // pointer field (payload unit start indicator is set)
|
||||
int PayloadStart = i;
|
||||
@ -295,6 +295,7 @@ void cPatPmtGenerator::GeneratePmt(cChannel *Channel)
|
||||
numPmtPackets = 0;
|
||||
if (Channel) {
|
||||
int Vpid = Channel->Vpid();
|
||||
int Ppid = Channel->Ppid();
|
||||
uchar *p = buf;
|
||||
int i = 0;
|
||||
p[i++] = 0x02; // table id
|
||||
@ -306,8 +307,8 @@ void cPatPmtGenerator::GeneratePmt(cChannel *Channel)
|
||||
p[i++] = 0xC1 | (pmtVersion << 1); // dummy (2), version number (5), current/next indicator (1)
|
||||
p[i++] = 0x00; // section number
|
||||
p[i++] = 0x00; // last section number
|
||||
p[i++] = 0xE0 | (Vpid >> 8); // dummy (3), PCR pid hi (5)
|
||||
p[i++] = Vpid; // PCR pid lo
|
||||
p[i++] = 0xE0 | (Ppid >> 8); // dummy (3), PCR pid hi (5)
|
||||
p[i++] = Ppid; // PCR pid lo
|
||||
p[i++] = 0xF0; // dummy (4), program info length hi (4)
|
||||
p[i++] = 0x00; // program info length lo
|
||||
|
||||
@ -732,20 +733,20 @@ void PesDump(const char *Name, const u_char *Data, int Length)
|
||||
|
||||
// --- cFrameDetector --------------------------------------------------------
|
||||
|
||||
#define EMPTY_SCANNER (0xFFFFFFFF)
|
||||
|
||||
cFrameDetector::cFrameDetector(int Pid, int Type)
|
||||
{
|
||||
pid = Pid;
|
||||
type = Type;
|
||||
SetPid(Pid, Type);
|
||||
synced = false;
|
||||
newFrame = independentFrame = false;
|
||||
numPtsValues = 0;
|
||||
numIFrames = 0;
|
||||
isVideo = type == 0x01 || type == 0x02 || type == 0x1B; // MPEG 1, 2 or 4
|
||||
frameDuration = 0;
|
||||
framesInPayloadUnit = framesPerPayloadUnit = 0;
|
||||
payloadUnitOfFrame = 0;
|
||||
scanning = false;
|
||||
scanner = 0;
|
||||
scanner = EMPTY_SCANNER;
|
||||
}
|
||||
|
||||
static int CmpUint32(const void *p1, const void *p2)
|
||||
@ -755,8 +756,24 @@ static int CmpUint32(const void *p1, const void *p2)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cFrameDetector::SetPid(int Pid, int Type)
|
||||
{
|
||||
pid = Pid;
|
||||
type = Type;
|
||||
isVideo = type == 0x01 || type == 0x02 || type == 0x1B; // MPEG 1, 2 or 4
|
||||
}
|
||||
|
||||
void cFrameDetector::Reset(void)
|
||||
{
|
||||
newFrame = independentFrame = false;
|
||||
payloadUnitOfFrame = 0;
|
||||
scanning = false;
|
||||
scanner = EMPTY_SCANNER;
|
||||
}
|
||||
|
||||
int cFrameDetector::Analyze(const uchar *Data, int Length)
|
||||
{
|
||||
int SeenPayloadStart = false;
|
||||
int Processed = 0;
|
||||
newFrame = independentFrame = false;
|
||||
while (Length >= TS_SIZE) {
|
||||
@ -767,140 +784,156 @@ int cFrameDetector::Analyze(const uchar *Data, int Length)
|
||||
esyslog("ERROR: skipped %d bytes to sync on start of TS packet", Skipped);
|
||||
return Processed + Skipped;
|
||||
}
|
||||
if (TsHasPayload(Data) && !TsIsScrambled(Data) && TsPid(Data) == pid) {
|
||||
if (TsPayloadStart(Data)) {
|
||||
if (!frameDuration) {
|
||||
// frame duration unknown, so collect a sequenece of PTS values:
|
||||
if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames
|
||||
const uchar *Pes = Data + TsPayloadOffset(Data);
|
||||
if (PesHasPts(Pes)) {
|
||||
ptsValues[numPtsValues] = PesGetPts(Pes);
|
||||
// check for rollover:
|
||||
if (numPtsValues && ptsValues[numPtsValues - 1] > 0xF0000000 && ptsValues[numPtsValues] < 0x10000000) {
|
||||
dbgframes("#");
|
||||
numPtsValues = 0;
|
||||
numIFrames = 0;
|
||||
}
|
||||
else
|
||||
numPtsValues++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// find the smallest PTS delta:
|
||||
qsort(ptsValues, numPtsValues, sizeof(uint32_t), CmpUint32);
|
||||
numPtsValues--;
|
||||
for (int i = 0; i < numPtsValues; i++)
|
||||
ptsValues[i] = ptsValues[i + 1] - ptsValues[i];
|
||||
qsort(ptsValues, numPtsValues, sizeof(uint32_t), CmpUint32);
|
||||
uint32_t Delta = ptsValues[0];
|
||||
// determine frame info:
|
||||
if (isVideo) {
|
||||
if (Delta % 3600 == 0)
|
||||
frameDuration = 3600; // PAL, 25 fps
|
||||
else if (Delta % 3003 == 0)
|
||||
frameDuration = 3003; // NTSC, 29.97 fps
|
||||
else if (Delta == 1800) {
|
||||
frameDuration = 3600; // PAL, 25 fps
|
||||
framesPerPayloadUnit = -2;
|
||||
}
|
||||
else if (Delta == 1501) {
|
||||
frameDuration = 3003; // NTSC, 29.97 fps
|
||||
framesPerPayloadUnit = -2;
|
||||
}
|
||||
else {
|
||||
frameDuration = 3600; // unknown, assuming 25 fps
|
||||
dsyslog("unknown frame duration (%d), assuming 25 fps", Delta);
|
||||
}
|
||||
}
|
||||
else // audio
|
||||
frameDuration = Delta; // PTS of audio frames is always increasing
|
||||
dbgframes("\nframe duration = %d FPS = %5.2f FPPU = %d\n", frameDuration, 90000.0 / frameDuration, framesPerPayloadUnit);
|
||||
}
|
||||
}
|
||||
scanner = 0;
|
||||
scanning = true;
|
||||
}
|
||||
if (scanning) {
|
||||
int PayloadOffset = TsPayloadOffset(Data);
|
||||
if (TsHasPayload(Data) && !TsIsScrambled(Data)) {
|
||||
int Pid = TsPid(Data);
|
||||
if (Pid == pid) {
|
||||
if (TsPayloadStart(Data)) {
|
||||
PayloadOffset += PesPayloadOffset(Data + PayloadOffset);
|
||||
if (!framesPerPayloadUnit)
|
||||
framesPerPayloadUnit = framesInPayloadUnit;
|
||||
if (DebugFrames && !synced)
|
||||
dbgframes("/");
|
||||
}
|
||||
for (int i = PayloadOffset; scanning && i < TS_SIZE; i++) {
|
||||
scanner <<= 8;
|
||||
scanner |= Data[i];
|
||||
switch (type) {
|
||||
case 0x01: // MPEG 1 video
|
||||
case 0x02: // MPEG 2 video
|
||||
if (scanner == 0x00000100) { // Picture Start Code
|
||||
if (synced && Processed)
|
||||
return Processed;
|
||||
newFrame = true;
|
||||
independentFrame = ((Data[i + 2] >> 3) & 0x07) == 1; // I-Frame
|
||||
if (synced) {
|
||||
if (framesPerPayloadUnit <= 1)
|
||||
scanning = false;
|
||||
}
|
||||
else {
|
||||
framesInPayloadUnit++;
|
||||
if (independentFrame)
|
||||
numIFrames++;
|
||||
dbgframes("%d ", (Data[i + 2] >> 3) & 0x07);
|
||||
}
|
||||
scanner = 0;
|
||||
}
|
||||
break;
|
||||
case 0x1B: // MPEG 4 video
|
||||
if (scanner == 0x00000109) { // Access Unit Delimiter
|
||||
if (synced && Processed)
|
||||
return Processed;
|
||||
newFrame = true;
|
||||
independentFrame = Data[i + 1] == 0x10;
|
||||
if (synced) {
|
||||
if (framesPerPayloadUnit < 0) {
|
||||
payloadUnitOfFrame = (payloadUnitOfFrame + 1) % -framesPerPayloadUnit;
|
||||
if (payloadUnitOfFrame != 0 && independentFrame)
|
||||
payloadUnitOfFrame = 0;
|
||||
if (payloadUnitOfFrame)
|
||||
newFrame = false;
|
||||
}
|
||||
if (framesPerPayloadUnit <= 1)
|
||||
scanning = false;
|
||||
}
|
||||
else {
|
||||
framesInPayloadUnit++;
|
||||
if (independentFrame)
|
||||
numIFrames++;
|
||||
dbgframes("%02X ", Data[i + 1]);
|
||||
}
|
||||
scanner = 0;
|
||||
}
|
||||
break;
|
||||
case 0x04: // MPEG audio
|
||||
case 0x06: // AC3 audio
|
||||
if (synced && Processed)
|
||||
return Processed;
|
||||
newFrame = true;
|
||||
independentFrame = true;
|
||||
if (!synced) {
|
||||
framesInPayloadUnit = 1;
|
||||
if (TsPayloadStart(Data))
|
||||
numIFrames++;
|
||||
}
|
||||
scanning = false;
|
||||
break;
|
||||
default: esyslog("ERROR: unknown stream type %d (PID %d) in frame detector", type, pid);
|
||||
pid = 0; // let's just ignore any further data
|
||||
SeenPayloadStart = true;
|
||||
if (synced && Processed)
|
||||
return Processed;
|
||||
if (Length < MIN_TS_PACKETS_FOR_FRAME_DETECTOR * TS_SIZE)
|
||||
return 0; // need more data, in case the frame type is not stored in the first TS packet
|
||||
if (!frameDuration) {
|
||||
// frame duration unknown, so collect a sequence of PTS values:
|
||||
if (numPtsValues < MaxPtsValues && numIFrames < 2) { // collect a sequence containing at least two I-frames
|
||||
const uchar *Pes = Data + TsPayloadOffset(Data);
|
||||
if (PesHasPts(Pes)) {
|
||||
ptsValues[numPtsValues] = PesGetPts(Pes);
|
||||
// check for rollover:
|
||||
if (numPtsValues && ptsValues[numPtsValues - 1] > 0xF0000000 && ptsValues[numPtsValues] < 0x10000000) {
|
||||
dbgframes("#");
|
||||
numPtsValues = 0;
|
||||
numIFrames = 0;
|
||||
}
|
||||
else
|
||||
numPtsValues++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// find the smallest PTS delta:
|
||||
qsort(ptsValues, numPtsValues, sizeof(uint32_t), CmpUint32);
|
||||
numPtsValues--;
|
||||
for (int i = 0; i < numPtsValues; i++)
|
||||
ptsValues[i] = ptsValues[i + 1] - ptsValues[i];
|
||||
qsort(ptsValues, numPtsValues, sizeof(uint32_t), CmpUint32);
|
||||
uint32_t Delta = ptsValues[0];
|
||||
// determine frame info:
|
||||
if (isVideo) {
|
||||
if (Delta % 3600 == 0)
|
||||
frameDuration = 3600; // PAL, 25 fps
|
||||
else if (Delta % 3003 == 0)
|
||||
frameDuration = 3003; // NTSC, 29.97 fps
|
||||
else if (Delta == 1800) {
|
||||
frameDuration = 3600; // PAL, 25 fps
|
||||
framesPerPayloadUnit = -2;
|
||||
}
|
||||
else if (Delta == 1501) {
|
||||
frameDuration = 3003; // NTSC, 29.97 fps
|
||||
framesPerPayloadUnit = -2;
|
||||
}
|
||||
else {
|
||||
frameDuration = 3600; // unknown, assuming 25 fps
|
||||
dsyslog("unknown frame duration (%d), assuming 25 fps", Delta);
|
||||
}
|
||||
}
|
||||
else // audio
|
||||
frameDuration = Delta; // PTS of audio frames is always increasing
|
||||
dbgframes("\nframe duration = %d FPS = %5.2f FPPU = %d\n", frameDuration, 90000.0 / frameDuration, framesPerPayloadUnit);
|
||||
}
|
||||
}
|
||||
scanner = EMPTY_SCANNER;
|
||||
scanning = true;
|
||||
}
|
||||
if (scanning) {
|
||||
int PayloadOffset = TsPayloadOffset(Data);
|
||||
if (TsPayloadStart(Data)) {
|
||||
PayloadOffset += PesPayloadOffset(Data + PayloadOffset);
|
||||
if (!framesPerPayloadUnit)
|
||||
framesPerPayloadUnit = framesInPayloadUnit;
|
||||
if (DebugFrames && !synced)
|
||||
dbgframes("/");
|
||||
}
|
||||
for (int i = PayloadOffset; scanning && i < TS_SIZE; i++) {
|
||||
scanner <<= 8;
|
||||
scanner |= Data[i];
|
||||
switch (type) {
|
||||
case 0x01: // MPEG 1 video
|
||||
case 0x02: // MPEG 2 video
|
||||
if (scanner == 0x00000100) { // Picture Start Code
|
||||
scanner = EMPTY_SCANNER;
|
||||
if (synced && !SeenPayloadStart && Processed)
|
||||
return Processed; // flush everything before this new frame
|
||||
newFrame = true;
|
||||
independentFrame = ((Data[i + 2] >> 3) & 0x07) == 1; // I-Frame
|
||||
if (synced) {
|
||||
if (framesPerPayloadUnit <= 1)
|
||||
scanning = false;
|
||||
}
|
||||
else {
|
||||
framesInPayloadUnit++;
|
||||
if (independentFrame)
|
||||
numIFrames++;
|
||||
dbgframes("%d ", (Data[i + 2] >> 3) & 0x07);
|
||||
}
|
||||
if (synced)
|
||||
return Processed + TS_SIZE; // flag this new frame
|
||||
}
|
||||
break;
|
||||
case 0x1B: // MPEG 4 video
|
||||
if (scanner == 0x00000109) { // Access Unit Delimiter
|
||||
scanner = EMPTY_SCANNER;
|
||||
if (synced && !SeenPayloadStart && Processed)
|
||||
return Processed; // flush everything before this new frame
|
||||
newFrame = true;
|
||||
independentFrame = Data[i + 1] == 0x10;
|
||||
if (synced) {
|
||||
if (framesPerPayloadUnit < 0) {
|
||||
payloadUnitOfFrame = (payloadUnitOfFrame + 1) % -framesPerPayloadUnit;
|
||||
if (payloadUnitOfFrame != 0 && independentFrame)
|
||||
payloadUnitOfFrame = 0;
|
||||
if (payloadUnitOfFrame)
|
||||
newFrame = false;
|
||||
}
|
||||
if (framesPerPayloadUnit <= 1)
|
||||
scanning = false;
|
||||
}
|
||||
else {
|
||||
framesInPayloadUnit++;
|
||||
if (independentFrame)
|
||||
numIFrames++;
|
||||
dbgframes("%02X ", Data[i + 1]);
|
||||
}
|
||||
if (synced)
|
||||
return Processed + TS_SIZE; // flag this new frame
|
||||
}
|
||||
break;
|
||||
case 0x04: // MPEG audio
|
||||
case 0x06: // AC3 audio
|
||||
if (synced && Processed)
|
||||
return Processed;
|
||||
newFrame = true;
|
||||
independentFrame = true;
|
||||
if (!synced) {
|
||||
framesInPayloadUnit = 1;
|
||||
if (TsPayloadStart(Data))
|
||||
numIFrames++;
|
||||
}
|
||||
scanning = false;
|
||||
break;
|
||||
default: esyslog("ERROR: unknown stream type %d (PID %d) in frame detector", type, pid);
|
||||
pid = 0; // let's just ignore any further data
|
||||
}
|
||||
}
|
||||
if (!synced && frameDuration && independentFrame) {
|
||||
synced = true;
|
||||
dbgframes("*");
|
||||
Reset();
|
||||
return Processed + TS_SIZE;
|
||||
}
|
||||
}
|
||||
if (!synced && frameDuration && independentFrame) {
|
||||
synced = true;
|
||||
dbgframes("*");
|
||||
}
|
||||
}
|
||||
else if (Pid == PATPID && synced && Processed)
|
||||
return Processed; // allow the caller to see any PAT packets
|
||||
}
|
||||
Data += TS_SIZE;
|
||||
Length -= TS_SIZE;
|
||||
|
20
remux.h
20
remux.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: remux.h 2.19 2009/08/16 15:15:33 kls Exp $
|
||||
* $Id: remux.h 2.20 2009/11/21 15:55:34 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __REMUX_H
|
||||
@ -49,6 +49,7 @@ public:
|
||||
#define TS_ADAPT_TP_PRIVATE 0x02
|
||||
#define TS_ADAPT_EXTENSION 0x01
|
||||
|
||||
#define PATPID 0x0000 // PAT PID (constant 0)
|
||||
#define MAXPID 0x2000 // for arrays that use a PID as the index
|
||||
|
||||
inline bool TsHasPayload(const uchar *p)
|
||||
@ -238,8 +239,11 @@ public:
|
||||
///< Returns the PMT pid as defined by the current PAT.
|
||||
///< If no PAT has been received yet, -1 will be returned.
|
||||
int Vpid(void) { return vpid; }
|
||||
///< Returns the video pid as defined by the current PMT.
|
||||
///< Returns the video pid as defined by the current PMT, or 0 if no video
|
||||
///< pid has been detected, yet.
|
||||
int Vtype(void) { return vtype; }
|
||||
///< Returns the video stream type as defined by the current PMT, or 0 if no video
|
||||
///< stream type has been detected, yet.
|
||||
};
|
||||
|
||||
// TS to PES converter:
|
||||
@ -299,6 +303,8 @@ void PesDump(const char *Name, const u_char *Data, int Length);
|
||||
|
||||
// Frame detector:
|
||||
|
||||
#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR 2
|
||||
|
||||
class cFrameDetector {
|
||||
private:
|
||||
enum { MaxPtsValues = 150 };
|
||||
@ -320,7 +326,15 @@ private:
|
||||
bool scanning;
|
||||
uint32_t scanner;
|
||||
public:
|
||||
cFrameDetector(int Pid, int Type);
|
||||
cFrameDetector(int Pid = 0, int Type = 0);
|
||||
///< Sets up a frame detector for the given Pid and stream Type.
|
||||
///< If no Pid and Type is given, they need to be set by a separate
|
||||
///< call to SetPid().
|
||||
void SetPid(int Pid, int Type);
|
||||
///< Sets the Pid and stream Type to detect frames for.
|
||||
void Reset(void);
|
||||
///< Resets any counters and flags used while syncing and prepares
|
||||
///< the frame detector for actual work.
|
||||
int Analyze(const uchar *Data, int Length);
|
||||
///< Analyzes the TS packets pointed to by Data. Length is the number of
|
||||
///< bytes Data points to, and must be a multiple of 188.
|
||||
|
45
ringbuffer.c
45
ringbuffer.c
@ -7,7 +7,7 @@
|
||||
* Parts of this file were inspired by the 'ringbuffy.c' from the
|
||||
* LinuxDVB driver (see linuxtv.org).
|
||||
*
|
||||
* $Id: ringbuffer.c 2.2 2009/05/17 10:05:17 kls Exp $
|
||||
* $Id: ringbuffer.c 2.3 2009/11/22 11:14:36 kls Exp $
|
||||
*/
|
||||
|
||||
#include "ringbuffer.h"
|
||||
@ -200,7 +200,7 @@ int cRingBufferLinear::Available(void)
|
||||
|
||||
void cRingBufferLinear::Clear(void)
|
||||
{
|
||||
tail = head;
|
||||
tail = head = margin;
|
||||
#ifdef DEBUGRINGBUFFERS
|
||||
lastHead = head;
|
||||
lastTail = tail;
|
||||
@ -217,7 +217,8 @@ int cRingBufferLinear::Read(int FileHandle, int Max)
|
||||
int free = (diff > 0) ? diff - 1 : Size() - head;
|
||||
if (Tail <= margin)
|
||||
free--;
|
||||
int Count = 0;
|
||||
int Count = -1;
|
||||
errno = EAGAIN;
|
||||
if (free > 0) {
|
||||
if (0 < Max && Max < free)
|
||||
free = Max;
|
||||
@ -247,6 +248,44 @@ int cRingBufferLinear::Read(int FileHandle, int Max)
|
||||
return Count;
|
||||
}
|
||||
|
||||
int cRingBufferLinear::Read(cUnbufferedFile *File, int Max)
|
||||
{
|
||||
int Tail = tail;
|
||||
int diff = Tail - head;
|
||||
int free = (diff > 0) ? diff - 1 : Size() - head;
|
||||
if (Tail <= margin)
|
||||
free--;
|
||||
int Count = -1;
|
||||
errno = EAGAIN;
|
||||
if (free > 0) {
|
||||
if (0 < Max && Max < free)
|
||||
free = Max;
|
||||
Count = File->Read(buffer + head, free);
|
||||
if (Count > 0) {
|
||||
int Head = head + Count;
|
||||
if (Head >= Size())
|
||||
Head = margin;
|
||||
head = Head;
|
||||
if (statistics) {
|
||||
int fill = head - Tail;
|
||||
if (fill < 0)
|
||||
fill = Size() + fill;
|
||||
else if (fill >= Size())
|
||||
fill = Size() - 1;
|
||||
UpdatePercentage(fill);
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef DEBUGRINGBUFFERS
|
||||
lastHead = head;
|
||||
lastPut = Count;
|
||||
#endif
|
||||
EnableGet();
|
||||
if (free == 0)
|
||||
WaitForPut();
|
||||
return Count;
|
||||
}
|
||||
|
||||
int cRingBufferLinear::Put(const uchar *Data, int Count)
|
||||
{
|
||||
if (Count > 0) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: ringbuffer.h 2.1 2009/02/24 11:31:32 kls Exp $
|
||||
* $Id: ringbuffer.h 2.2 2009/11/08 11:52:25 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __RINGBUFFER_H
|
||||
@ -84,6 +84,8 @@ public:
|
||||
///< Only one actual read() call is done.
|
||||
///< \return Returns the number of bytes actually read and stored, or
|
||||
///< an error value from the actual read() call.
|
||||
int Read(cUnbufferedFile *File, int Max = 0);
|
||||
///< Like Read(int FileHandle, int Max), but reads fom a cUnbufferedFile).
|
||||
int Put(const uchar *Data, int Count);
|
||||
///< Puts at most Count bytes of Data into the ring buffer.
|
||||
///< \return Returns the number of bytes actually stored.
|
||||
|
@ -12,7 +12,7 @@
|
||||
# '/' means same (or very little deviation) orbital position & host.
|
||||
# A value in () means this satellite is still in it's test phase.
|
||||
#
|
||||
# Please contact kls@cadsoft.de before assigning a new code
|
||||
# Please contact kls@tvdr.de before assigning a new code
|
||||
# to a description, in order to keep them unique.
|
||||
|
||||
# Satellites
|
||||
|
4
svdrp.c
4
svdrp.c
@ -10,7 +10,7 @@
|
||||
* and interact with the Video Disk Recorder - or write a full featured
|
||||
* graphical interface that sits on top of an SVDRP connection.
|
||||
*
|
||||
* $Id: svdrp.c 2.5 2009/06/06 14:03:55 kls Exp $
|
||||
* $Id: svdrp.c 2.6 2009/10/18 14:08:58 kls Exp $
|
||||
*/
|
||||
|
||||
#include "svdrp.h"
|
||||
@ -887,7 +887,7 @@ void cSVDRP::CmdHELP(const char *Option)
|
||||
PrintHelpTopics(hp);
|
||||
}
|
||||
Reply(-214, "To report bugs in the implementation send email to");
|
||||
Reply(-214, " vdr-bugs@cadsoft.de");
|
||||
Reply(-214, " vdr-bugs@tvdr.de");
|
||||
}
|
||||
Reply(214, "End of HELP info");
|
||||
}
|
||||
|
12
tools.c
12
tools.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: tools.c 2.3 2009/05/31 11:43:24 kls Exp $
|
||||
* $Id: tools.c 2.4 2009/11/06 15:21:17 kls Exp $
|
||||
*/
|
||||
|
||||
#include "tools.h"
|
||||
@ -279,11 +279,11 @@ cString itoa(int n)
|
||||
|
||||
bool EntriesOnSameFileSystem(const char *File1, const char *File2)
|
||||
{
|
||||
struct statfs statFs;
|
||||
if (statfs(File1, &statFs) == 0) {
|
||||
fsid_t fsid1 = statFs.f_fsid;
|
||||
if (statfs(File2, &statFs) == 0)
|
||||
return memcmp(&statFs.f_fsid, &fsid1, sizeof(fsid1)) == 0;
|
||||
struct stat st;
|
||||
if (stat(File1, &st) == 0) {
|
||||
dev_t dev1 = st.st_dev;
|
||||
if (stat(File2, &st) == 0)
|
||||
return st.st_dev == dev1;
|
||||
else
|
||||
LOG_ERROR_STR(File2);
|
||||
}
|
||||
|
4
vdr.1
4
vdr.1
@ -8,7 +8,7 @@
|
||||
.\" License as specified in the file COPYING that comes with the
|
||||
.\" vdr distribution.
|
||||
.\"
|
||||
.\" $Id: vdr.1 2.2 2009/08/16 10:28:39 kls Exp $
|
||||
.\" $Id: vdr.1 2.3 2009/10/18 14:09:03 kls Exp $
|
||||
.\"
|
||||
.TH vdr 1 "10 Feb 2008" "1.6" "Video Disk Recorder"
|
||||
.SH NAME
|
||||
@ -239,7 +239,7 @@ be used to trigger an update of the list of recordings in the "Recordings" menu.
|
||||
Written by Klaus Schmidinger, with contributions from many others.
|
||||
See the file \fICONTRIBUTORS\fR in the \fBvdr\fR source distribution.
|
||||
.SH REPORTING BUGS
|
||||
Report bugs to <vdr\-bugs@cadsoft.de>.
|
||||
Report bugs to <vdr\-bugs@tvdr.de>.
|
||||
.SH COPYRIGHT
|
||||
Copyright \(co 2008 Klaus Schmidinger.
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user