mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Limiting Subtitle length when creating a recording file name from EPG data
This commit is contained in:
parent
4b1440737a
commit
bcb0aca954
3
HISTORY
3
HISTORY
@ -1913,3 +1913,6 @@ Video Disk Recorder Revision History
|
|||||||
2002-01-06 or higher (with the new firmware supporting the "Link Layer" protocol).
|
2002-01-06 or higher (with the new firmware supporting the "Link Layer" protocol).
|
||||||
- Added an EPG bugfix that moves the Subtitle data to the Extended Description in
|
- Added an EPG bugfix that moves the Subtitle data to the Extended Description in
|
||||||
case the latter is empty and the Subtitle exceeds some useful length.
|
case the latter is empty and the Subtitle exceeds some useful length.
|
||||||
|
- Since several channels put very long strings into the Subtitle part of their
|
||||||
|
EPG data, that string is now limited in length when used in a recording's
|
||||||
|
file name.
|
||||||
|
12
recording.c
12
recording.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: recording.c 1.71 2002/12/23 12:41:20 kls Exp $
|
* $Id: recording.c 1.72 2003/01/06 15:36:12 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -58,6 +58,8 @@
|
|||||||
#define TIMERMACRO_TITLE "TITLE"
|
#define TIMERMACRO_TITLE "TITLE"
|
||||||
#define TIMERMACRO_EPISODE "EPISODE"
|
#define TIMERMACRO_EPISODE "EPISODE"
|
||||||
|
|
||||||
|
#define MAX_SUBTITLE_LENGTH 40
|
||||||
|
|
||||||
void RemoveDeletedRecordings(void)
|
void RemoveDeletedRecordings(void)
|
||||||
{
|
{
|
||||||
static time_t LastRemoveCheck = 0;
|
static time_t LastRemoveCheck = 0;
|
||||||
@ -306,10 +308,17 @@ cRecording::cRecording(cTimer *Timer, const char *Title, const char *Subtitle, c
|
|||||||
fileName = NULL;
|
fileName = NULL;
|
||||||
name = NULL;
|
name = NULL;
|
||||||
// set up the actual name:
|
// set up the actual name:
|
||||||
|
const char *OriginalSubtitle = Subtitle;
|
||||||
|
char SubtitleBuffer[MAX_SUBTITLE_LENGTH];
|
||||||
if (isempty(Title))
|
if (isempty(Title))
|
||||||
Title = Timer->Channel()->Name();
|
Title = Timer->Channel()->Name();
|
||||||
if (isempty(Subtitle))
|
if (isempty(Subtitle))
|
||||||
Subtitle = " ";
|
Subtitle = " ";
|
||||||
|
else if (strlen(Subtitle) > MAX_SUBTITLE_LENGTH) {
|
||||||
|
// let's make sure the Subtitle doesn't produce too long a file name:
|
||||||
|
strn0cpy(SubtitleBuffer, Subtitle, MAX_SUBTITLE_LENGTH);
|
||||||
|
Subtitle = SubtitleBuffer;
|
||||||
|
}
|
||||||
char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
|
char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
|
||||||
char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
|
char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
|
||||||
if (macroTITLE || macroEPISODE) {
|
if (macroTITLE || macroEPISODE) {
|
||||||
@ -333,6 +342,7 @@ cRecording::cRecording(cTimer *Timer, const char *Title, const char *Subtitle, c
|
|||||||
// handle summary:
|
// handle summary:
|
||||||
summary = !isempty(Timer->Summary()) ? strdup(Timer->Summary()) : NULL;
|
summary = !isempty(Timer->Summary()) ? strdup(Timer->Summary()) : NULL;
|
||||||
if (!summary) {
|
if (!summary) {
|
||||||
|
Subtitle = OriginalSubtitle;
|
||||||
if (isempty(Subtitle))
|
if (isempty(Subtitle))
|
||||||
Subtitle = "";
|
Subtitle = "";
|
||||||
if (isempty(Summary))
|
if (isempty(Summary))
|
||||||
|
Loading…
Reference in New Issue
Block a user