diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-05-25 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-05-25 18:00:00 +0200 |
commit | 8ab980e1d9be404a8842fad54aa9c2e34fa6f4ea (patch) | |
tree | 0c0d1f31848a7aa5ed21a2426f65dd65b94e6d80 /dvbplayer.c | |
parent | 3bd9a7ccf355e445685ff115464a4e684a8c4211 (diff) | |
download | vdr-patch-lnbsharing-8ab980e1d9be404a8842fad54aa9c2e34fa6f4ea.tar.gz vdr-patch-lnbsharing-8ab980e1d9be404a8842fad54aa9c2e34fa6f4ea.tar.bz2 |
Version 1.1.33vdr-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).
Diffstat (limited to 'dvbplayer.c')
-rw-r--r-- | dvbplayer.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/dvbplayer.c b/dvbplayer.c index afd4278..6b7fe07 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -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) { |