summaryrefslogtreecommitdiff
path: root/transfer.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2006-01-29 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2006-01-29 18:00:00 +0100
commitc37734080c45ef7ba60d589df0d88fb9a6064c1b (patch)
tree65bfeeeb3b380356b2da98cc56403ebe5dea76f8 /transfer.c
parent446b0e8e0b94b997293aef2f63220c5f8a68bf0f (diff)
downloadvdr-patch-lnbsharing-c37734080c45ef7ba60d589df0d88fb9a6064c1b.tar.gz
vdr-patch-lnbsharing-c37734080c45ef7ba60d589df0d88fb9a6064c1b.tar.bz2
Version 1.3.41vdr-1.3.41
- EPG events from epg.data or SVDRP's PUTE command now have their Title set to "No Title" if none was set. - Fixed checking toFile in cCuttingThread::Action() (found in a larger patch from Artur Skawina). - Fixed a crash when pressing '0' in the "Schedule" menu on a channel that doesn't have any EPG data (reported ny Alexander Hans). - Updated the Danish OSD texts (thanks to Mogens Elneff). - Fixed a missing ',' in the Greek OSD texts (thanks to Arthur Konovalov). - Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Fixed handling the tfRecording flag when reading timers (bug reported by Andreas Mair). - Now checking whether the channel exists before setting the PMT filter in cPatFilter::Process() (thanks to Thomas Bergwinkl). - Now trying to reestablish the connection to the LIRC daemon in case it breaks (thanks to Ville Skyttä). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed channel switching with the Down (Up) key in case the current channel is already the first (last) in the list (reported by Frank Krömmelbein). - Removed the "buffer reserve" in Transfer Mode - it's no longer necessary with recent driver/firmware versions. - The epg.data file is now written when VDR exits (suggested by Daniel Karsubka). - Fixed cTimers::GetNextActiveTimer() so that it won't return an expired timer (reported by Rolf Ahrenberg). - Changed DVBS_TUNE_TIMEOUT and DVBC_TUNE_TIMEOUT to 9000ms to avoid problems with channels that have low symbol rates (reported by Suur Karu). - Fixed displaying the current audio track in the channel display. - When reading epg.data (or data from PUTE), the version number of events with table IDs smaller than 0x50 is now ignored because otherwise the current running status would not be set after a restart of VDR. - Implemented a timeout for remote controls that don't deliver "repeat" keypresses very fast (based on a suggestion by Luca Olivetti; problem with the new handling of k_Repeat keypresses in channel switching reported by Udo Richter). - When looking for the present or following EPG event, the running status is now always taken into account. - Now initializing the channels' schedule pointers when reading the epg.data file, so that the first WhatsOn menu will come up faster. - If a shutdown is requested, but the shutdown script doesn't actually halt the system, it is now tried again after 5 minutes (suggested by Helmut Auer). - Separated the 'install' target into several individual targets; renamed the 'plugins-install' target to 'install-plugins' (thanks to Helmut Auer).
Diffstat (limited to 'transfer.c')
-rw-r--r--transfer.c37
1 files changed, 1 insertions, 36 deletions
diff --git a/transfer.c b/transfer.c
index 8a0db4d..b8313df 100644
--- a/transfer.c
+++ b/transfer.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: transfer.c 1.31 2006/01/21 14:13:16 kls Exp $
+ * $Id: transfer.c 1.32 2006/01/28 14:23:38 kls Exp $
*/
#include "transfer.h"
@@ -49,41 +49,12 @@ void cTransfer::Receive(uchar *Data, int Length)
}
}
-#define FW_NEEDS_BUFFER_RESERVE_FOR_AC3
-#ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
-//XXX This is a very ugly hack to allow cDvbOsd to reduce the buffer
-//XXX requirements in cTransfer if it detects a 4MB full featured DVB card.
-bool DvbCardWith4MBofSDRAM = false;
-#endif
-
void cTransfer::Action(void)
{
int PollTimeouts = 0;
uchar *p = NULL;
int Result = 0;
-#ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
- bool GotBufferReserve = false;
- GotBufferReserve = true; //XXX remove this line if you absolutely need the buffer reserve
- int RequiredBufferReserve = KILOBYTE(DvbCardWith4MBofSDRAM ? 288 : 576);
-#endif
while (Running()) {
-#ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
- if (needsBufferReserve && !GotBufferReserve) {
- //XXX For dolby we've to fill the buffer because the firmware does
- //XXX not decode dolby but use a PCM stream for transport, therefore
- //XXX the firmware has not enough buffer for noiseless skipping early
- //XXX PCM samples (each dolby frame requires 6144 bytes in PCM and
- //XXX audio is mostly to early in comparison to video).
- //XXX To resolve this, the remuxer or PlayPes() should synchronize
- //XXX audio with the video frames. 2004/09/09 Werner
- if (ringBuffer->Available() < RequiredBufferReserve) { // used to be MAXFRAMESIZE, but the HDTV value of KILOBYTE(512) is way too much here
- cCondWait::SleepMs(20); // allow the buffer to collect some reserve
- continue;
- }
- else
- GotBufferReserve = true;
- }
-#endif
int Count;
uchar *b = ringBuffer->Get(Count);
if (b) {
@@ -98,9 +69,6 @@ void cTransfer::Action(void)
remux->Clear();
PlayPes(NULL, 0);
p = NULL;
-#ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
- GotBufferReserve = false;
-#endif
continue;
}
Count = remux->Put(b, Count);
@@ -133,9 +101,6 @@ void cTransfer::Action(void)
remux->Clear();
PlayPes(NULL, 0);
p = NULL;
-#ifdef FW_NEEDS_BUFFER_RESERVE_FOR_AC3
- GotBufferReserve = false;
-#endif
}
}
}