Version 1.3.18

- Removed an unused variable from cTimer::GetWDayFromMDay() (thanks to Wayne Keer
  for reporting this one).
- Some more changes to the 'childTid' handling in cThread (based on suggestions by
  Stefan Huelswitt).
- Fixed the spelling of 'canceling' (thanks to Wayne Keer for reporting this one).
- Re-introduced a sleep to cDvbPlayer::Action() to avoid high CPU load in still
  picture mode (thanks to Reinhard Nissl for reporting this one).
- Fixed a possible race condition in generating the DVB device names (thanks to
  Rainer Zocholl for reporting this one).
- Changed the way PES packets are played to allow replay of AC3 sound over the
  full featured DVB cards (partially based on a patch from Werner Fink).
  + The new function cDevice::PlayPes() is now called with the complete PES data
    stream and calls PlayVideo() and PlayAudio() as necessary.
  + cDevice::PlayVideo() is now only called with actual video PES packets.
  + cDevice::PlayAudio() is now called with the actual audio PES packets, which
    can be either "normal" audio or AC3 data. You need at least firmware version
    0x261d to replay AC3 sound over a full featured DVB card. This function now
    has an 'int' return value.
  + PlayAudio() of derived cDevice classes shall no longer call the base class
    function. It shall just play the given data as audio.
  + cPlayer::PlayVideo() and cPlayer::PlayAudio() are now obsolete and have been
    replaced with cPlayer::PlayPes().
  + All StripAudioPackets() functions are now obsolete. The functionality has been
    moved into cDevice::PlayPes(), where only the video and audio packets that are
    actually required will be processed.
  + All audio track handling is now done by cDevice; cTransfer and cDvbPlayer no
    longer care about audio tracks. cPlayer, however, still has the virtual hooks
    for audio track handling in order to allow plugins to implement players that
    have their own idea about this.
  + cChannel::[AD]pid[12]() have been replaced with cChannel::[AD]pid(int i) to
    allow access to all available PIDs.
- Escaped the '-' and 'ö' characters in the man pages (thanks to Darren Salt for
  pointing this out).
- Completed the Italian OSD texts (thanks to Sean Carlos).
- Fixed setting 'synced' in cRemux when recording radio channels (thanks to
  Laurence Abbott).
- Removed the LOCK_THREAD from the LIRC thread (thanks to Ludwig Nussel).
- Fixed genfontfile.c (sometimes the character width was wrong, and the codes were
  shifted one too far to the left).
- Fixed the character width and shifted the codes one to the right in all font
  files.
- Renamed font???.c to font???-iso8859-1.c for symmetry.
- Switched the character set to iso8859-15 for English, German and Finnish (thanks
  to Andreas Brugger for reporting the missing Euro sign in iso8859-1).
- Added 'channels.conf.terr' entries for Lübeck (thanks to Stefan Hußfeldt).
- Fixed a race condition in starting a thread (thanks to Reinhard Nissl for
  reporting this one).
- Replaced non-threadsafe library functions with their threadsafe versions (thanks
  to Rainer Zocholl for pointing this out).
- Other non-threadsafe functions have been replaced by threadsafe classes that hide
  the actual buffering. In particular these are:
  readdir() -> cReadDir
  readline() -> cReadLine
- Several formerly non-threadsafe functions now have a return type of cString:
  cChannel::ToText()
  tChannelID::ToString()
  cEvent::GetDateString()
  cEvent::GetTimeString()
  cEvent::GetEndTimeString()
  cEvent::GetVpsString()
  cMark::ToText()
  cTimer::ToText()
  cSource::ToString()
  cTimer::PrintDay()
  cTimer::PrintFirstDay()
  PrefixVideoFileName()
  IndexToHMSF()
  ChannelString()
  strescape()
  AddDirectory()
  itoa()
  WeekDayName()
  DayDateTime()
  When using these functions in a 'const char *' context there is nothing special
  to consider, except that you can no longer have a pointer to the return value,
  as in
  const char *date = DayDateTime();
  Although this will compile without error message, the resulting 'date' will not
  be valid after this line. Use this instead:
  cString date = DayDateTime();
  In a 'const void *' context (as in printf() etc.) the result needs to be
  dereferenced with a '*', as in
  printf("%s", *DayDateTime());
  to make it a 'const char *'.
- Removed delay_ms(), using cCondWait::SleepMs() instead.
- Replaced time_ms() with a threadsafe and non-overflowing cTimeMs (thanks to Rainer
  Zocholl for pointing out this problem).
- Added cDevice::mutexReceiver to avoid a race condition when attaching/detaching
  receivers from different threads.
- The new remote control button "Audio" can be used to switch between different
  audio tracks. The "Green" button in the "Main" menu has been changed from "Language"
  to "Audio", since it now also controls switching between normal and Dolby Digital
  audio tracks (see MANUAL for details).
- The description of the audio tracks is now taken from the "component descriptors"
  that are broadcast in the EPG data. However (as no big surprise), not all channels
  actually provide useful data here, so there are now some additional EPG bugfixes,
  which can be activated by setting the "EPG bugfix level" to 3.
- The format of the 'epg.data' files has been extended by the new tag 'X', which
  contains the stream components of an event (see man vdr(5) for details).
- The cStatus class now has the new member function SetAudioTrack(), which can be
  used to get notified when the audio track has been switched, and the new member
  function SetAudioChannel() which is called when the audio channel is changed.
- Skins need to implement the new cSkinDisplayTrack class to display the audio
  track menu.
- The ST:TNG skin now displays the current audio track description (if any) at the
  botton left side.
- The new setup option "DVB/Audio languages" can be used to control which audio
  language shall be selected in case a channel broadcasts in different languages
  (see MANUAL for details).
- The "Left" and "Right" keys in the "Audio" menu can be used to switch between
  the left and right stereo channels in case there are different audio tracks
  in these channels (see MANUAL for details).
- Fixed a possible race condition in cDevice::Action() (thanks to Mattias Grönlund).
- Fixed the default quality value when grabbing a JPEG image (thanks to Patrick
  Gleichmann).
- Fixed deleting a menu item in case the next item is not selectable (thanks to
  Dino Ravnic).
- Implemented displaying mandatory subtitles in the SPU decoder (thanks to Marco
  Schlüßler).
- The setup option "Recording/Record Dolby Digital" has been renamed and moved to
  "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and
  whether an available DD audio track will appear in the "Audio" menu.
- Added support for circular polarization (thanks to Jonan Santiago).
- Thanks to Werner Fink, Reinhard Nissl, Sascha Volkenandt and Bjørnar Nilsen for
  their support in testing and fine tuning this version.
This commit is contained in:
Klaus Schmidinger
2005-01-09 18:00:00 +01:00
parent 630ba21dc1
commit fb5cccb2df
88 changed files with 42119 additions and 40661 deletions

View File

@@ -263,6 +263,8 @@ Werner Fink <werner@suse.de>
for suggesting to add more checks and polling when getting frontend events
for setting the VPID before the APID in live mode to avoid unnecessary
overhead in the firmware
for a patch that was used as a base for implementing a modified PES packet
handling in order to play AC3 audio over full featured DVB cards
Rolf Hakenes <hakenes@hippomi.de>
for providing 'libdtv' and adapting the EIT mechanisms to it
@@ -345,6 +347,10 @@ Rainer Zocholl <vdrcontrib@zocki.toppoint.de>
replaying in time shift mode
for suggesting that VDR should stop if one of the configuration files can't be
read correctly at program startup
for reporting a possible race condition in generating the DVB device names
for pointing out that non-threadsafe functions should be replaced with their
threadsafe versions
for pointing out a threadsafe and overflow problem with time_ms()
Oleg Assovski <assen@bitcom.msk.ru>
for adding EPG scanning for another 4 days
@@ -755,8 +761,9 @@ Ludwig Nussel <ludwig.nussel@web.de>
for reporting a problem on systems that have UTF-8 enabled
for pointing out a flaw in the the description of cRingBufferLinear
for reporting a bug in cRingBufferLinear::Get() in case the buffer wraps around
for adding some checks when cancelling a thread and removing the usleep() in
for adding some checks when canceling a thread and removing the usleep() in
cThread::Start()
for removing the LOCK_THREAD from the LIRC thread
Thomas Koch <tom@harhar.net>
for his support in keeping the Premiere World channels up to date in 'channels.conf'
@@ -764,6 +771,7 @@ Thomas Koch <tom@harhar.net>
Stefan Hu<48>feldt <vdr@marvin.on-luebeck.de>
for his help in keeping 'channels.conf.cable' up to date
for adding 'channels.conf.terr' entries for L<>beck
Christoph Friederich <christoph.friederich@gmx.de>
for reporting a bug in deleting the last recording in the "Recordings" menu, which
@@ -804,6 +812,7 @@ Wolfgang Goeller <wgoeller@heraklit.ch>
Jonan Santiago <jonan-lists-vdr@callisia.com>
for fixing handling EPG data where the "extended event descriptor" comes before the
"short event" or a "time shifted event"
for adding support for circular polarization
Juri Haberland <juri@koschikode.com>
for his help in keeping 'channels.conf.terr' up to date
@@ -857,7 +866,7 @@ Jon Burgess <mplayer@jburgess.uklinux.net>
for fixing a memory leak in thread handling when using NPTL
Thomas Schmidt <thomas.schmidt@in.stud.tu-ilmenau.de>
for reporting a crash when cancelling a newly created timer
for reporting a crash when canceling a newly created timer
for making 'diseqc.conf' a required file only if Setup.DiSEqC is activated
Michael Walle <michael.walle@web.de>
@@ -890,6 +899,9 @@ Reinhard Nissl <rnissl@gmx.de>
for reporting a a crash in the time search mechanism
for taking the complete size of available data into account when deciding whether
to clear the transfer buffer to avoid overflows
for reporting a high CPU load in still picture mode after removing the usleep()
call from cDvbPlayer::Action()
for reporting a race condition in starting a thread
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
@@ -1059,6 +1071,8 @@ Wayne Keer <syphir@syphir.sytes.net>
cDvbDevice::cDvbDevice() in case a patch references them
for suggesting to make the "Channel not available!" message and mtInfo instead of
mtError
for reporting an unused variable from cTimer::GetWDayFromMDay()
for reporting a spelling error in 'canceling'
Marco Schl<68><6C>ler <marco@lordzodiac.de>
for fixing handling colors in cDvbSpuPalette::yuv2rgb()
@@ -1088,6 +1102,7 @@ Marco Schl
the end of the given buffer, which has caused some unjustified "unknown picture
type errors"
for some improvements to cPoller
for implementing displaying mandatory subtitles in the SPU decoder
J<EFBFBD>rgen Schmitz <j.schmitz@web.de>
for reporting a bug in displaying the current channel when switching via the SVDRP
@@ -1146,6 +1161,7 @@ Lucian Muresan <lucianm@users.sourceforge.net>
Mattias Gr<47>nlund <Mattias@Gronlund.net>
for pointing out a missing cleanup at program exit in case there is a problem
with a plugin
for fixing possible race condition in cDevice::Action()
Uwe Hanke <uhanke@gmx.de>
for fixing some typos in the Makefile's 'font' target
@@ -1162,10 +1178,25 @@ Sascha Klek <sklek@gmx.de>
Andreas Brugger <brougs78@gmx.net>
for reporting a possible crash when pausing live video and the recording was
unable to start, maybe because there was no lock on the device
for reporting the missing Euro sign in iso8859-1
Dino Ravnic <dino.ravnic@fer.hr>
for fixing some characters in the iso8859-2 font file
for fixing some errors in the Croatian language texts
for fixing deleting a menu item in case the next item is not selectable
Olaf Titz <olaf@bigred.inka.de>
for fixing some typos in the Makefile's 'font' target
Darren Salt <linux@youmustbejoking.demon.co.uk>
for pointing out that the '-' and '<27>' characters need to be escaped in the man
pages
Sean Carlos <seanc@libero.it>
for translating OSD texts to the Italian language
Laurence Abbott <laz@club-burniston.co.uk>
for fixing setting 'synced' in cRemux when recording radio channels
Patrick Gleichmann <patrick@feedface.com>
for fixing the default quality value when grabbing a JPEG image