From 8bc6bcf86e8c526bddd1a5d870c879c552fa82f6 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 12 Oct 2013 13:48:32 +0200 Subject: [PATCH] The function cRecordings::MBperMinute() now only takes into account recordings with less than 5 seconds per megabyte --- CONTRIBUTORS | 4 ++++ HISTORY | 4 ++++ recording.c | 10 +++++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 8a52c93f..a31bb849 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3193,3 +3193,7 @@ Martin Prochnow Eike Edener for reporting a bug in writing group separators to channels.conf that contain a comma + +Harald Koenig + for making the function cRecordings::MBperMinute() only take into account recordings + with less than 5 seconds per megabyte, to filter out radio recordings diff --git a/HISTORY b/HISTORY index 98005285..70f19a58 100644 --- a/HISTORY +++ b/HISTORY @@ -7997,3 +7997,7 @@ Video Disk Recorder Revision History avoid the impression that there actually is a default remote.conf file, and to not use any alphabetic keys for special functions, so that they remain available for textual input. +- The function cRecordings::MBperMinute() now only takes into account recordings with + less than 5 seconds per megabyte, in an attempt to filter out radio recordings + (thanks to Harald Koenig). The result of this function was way off any realistic + value in case there are many radio recordings in the video directory. diff --git a/recording.c b/recording.c index 31eb25b5..90910108 100644 --- a/recording.c +++ b/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 3.4 2013/10/09 11:53:37 kls Exp $ + * $Id: recording.c 3.5 2013/10/12 13:48:32 kls Exp $ */ #include "recording.h" @@ -68,6 +68,8 @@ #define MAX_LINK_LEVEL 6 +#define LIMIT_SECS_PER_MB_RADIO 5 // radio recordings typically have more than this + int DirectoryPathMax = PATH_MAX - 1; int DirectoryNameMax = NAME_MAX; bool DirectoryEncoding = false; @@ -1528,8 +1530,10 @@ double cRecordings::MBperMinute(void) if (FileSizeMB > 0) { int LengthInSeconds = recording->LengthInSeconds(); if (LengthInSeconds > 0) { - size += FileSizeMB; - length += LengthInSeconds; + if (LengthInSeconds / FileSizeMB < LIMIT_SECS_PER_MB_RADIO) { // don't count radio recordings + size += FileSizeMB; + length += LengthInSeconds; + } } } }