Version 1.1.33

- Modified handling of audio packets in cDvbPlayer for better sync with external
  AC3 replay (thanks to Werner Fink).
- Fixed a memory leak in cNonBlockingFileReader (thanks to Stefan Huelswitt).
- Completed the French OSD texts (thanks to Gregoire Favre).
- Completed the Finnish OSD texts (thanks to Niko Tarnanen and Rolf Ahrenberg).
- Fixed I/O handling in case an explicit controlling terminal is given (thanks
  to Oliver Endriss).
- Fixed resume file handling in case the resume.vdr file can't be written
  (thanks to Gerhard Steiner).
- Fixed cutting a recording if there is only a single editing mark (thanks to
  Ralf Klueber for reporting this one).
- Fixed volume display in case a plugin has its own OSD open (thanks to Marcel
  Wiesweg).
- Fixed channel switching in the EPG scanner on single device systems.
- Completed the Swedish OSD texts (thanks to Tomas Prybil).
- Now switching to the channel used by the most recently started timer in case
  the original current channel becomes unavailable due to a recording on a
  different transponder. If this fails, a channel up/down switch is attempted as
  a fallback solution (thanks to Lauri Tischler for reporting this one, and to
  Hermann Gausterer for suggesting to switch to the recording channel).
- Fixed cReplayControl::Show() to avoid a compiler warning in g++ 3.2.3 (thanks
  to Jan Ekholm for reporting this one).
- Completed the Slovenian OSD texts (thanks to Matjaz Thaler).
- Changed the DEFAULTPRIORITY in device.c to -1, so that the primary device
  will be used for FTA recordings in case the CAM is connected to a non-primary
  device (thanks to Reinhard Walter Buchner for reporting this one).
- The cCiHandler now closes its file handle when it gets destroyed.
- Checking for duplicate recordings with the same file name and disabling the
  second timer (thanks to Peter Bieringer for reporting this one).
- Fixed handling newly created timers in case they are not confirmed with "Ok"
  (thanks to Gerhard Steiner for reporting this one).
- It is now possible to directly delete a timer that is currently recording
  (thanks to Alexander Damhuis for reporting this one).
This commit is contained in:
Klaus Schmidinger
2003-05-25 18:00:00 +02:00
parent 3bd9a7ccf3
commit 8ab980e1d9
17 changed files with 457 additions and 346 deletions

View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbplayer.c 1.20 2003/04/27 09:55:53 kls Exp $
* $Id: dvbplayer.c 1.22 2003/05/24 09:04:26 kls Exp $
*/
#include "dvbplayer.h"
@@ -114,6 +114,7 @@ void cNonBlockingFileReader::Clear(void)
{
cMutexLock MutexLock(&mutex);
f = -1;
free(buffer);
buffer = NULL;
wanted = length = 0;
hasData = false;
@@ -477,8 +478,8 @@ void cDvbPlayer::Action(void)
}
int r = nonBlockingFileReader->Read(replayFile, b, Length);
if (r > 0) {
if (AudioTrack >= 0)
StripAudioPackets(b, r, AudioTrack);
if (AudioTrack == 0)
StripAudioPackets(b, r);
readFrame = new cFrame(b, -r, ftUnknown, readIndex); // hands over b to the ringBuffer
b = NULL;
}
@@ -514,9 +515,13 @@ void cDvbPlayer::Action(void)
if (!p) {
p = playFrame->Data();
pc = playFrame->Count();
if (firstPacket) {
cRemux::SetBrokenLink(p, pc);
firstPacket = false;
if (p) {
if (firstPacket) {
cRemux::SetBrokenLink(p, pc);
firstPacket = false;
}
if (AudioTrack > 0)
StripAudioPackets(p, pc, AudioTrack);
}
}
if (p) {