diff --git a/HISTORY b/HISTORY index 3fd064bf..7b1e8ec8 100644 --- a/HISTORY +++ b/HISTORY @@ -3281,3 +3281,6 @@ Video Disk Recorder Revision History Dino Ravnic). - Implemented displaying mandatory subtitles in the SPU decoder (thanks to Marco Schlüßler). +- The setup option "Recording/Record Dobly Digital" has been renamed and moved to + "DVB/Use Dolby Digital". It now controls whether Dolby Digital is recorded and + whether an available DD audio track will appear in the "Audio" menu. diff --git a/MANUAL b/MANUAL index b4163ad8..7743241c 100644 --- a/MANUAL +++ b/MANUAL @@ -588,6 +588,13 @@ Version 1.2 Video format = 4:3 The video format (or aspect ratio) of the tv set in use (4:3 or 16:9). + Use Dolby Digital = yes + Turns recording of the Dolby Digital audio channels on + or off. This may be useful if you don't have the equipment + to replay Dolby Digital audio and want to save disk space. + If turned off, Dolby Digital tracks also don't appear in the + "Audio" menu. + Update channels = 4 Controls the automatic channel update function. '0' means no update, '1' will only update channel names, '2' will update channel names and PIDs, '3' will perform all @@ -690,11 +697,6 @@ Version 1.2 instant recording can be modified at any time by editing the respective timer in the "Timers" menu. - Record Dolby Digital = yes - Turns recording of the Dolby Digital audio channels on - or off. This may be useful if you don't have the equipment - to replay Dolby Digital audio and want to save disk space. - Max. video file size = 2000 The maximum size of a single recorded video file in MB. The valid range is 100...2000. Default is 2000, but diff --git a/config.c b/config.c index dff8f8e4..0e583941 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.130 2005/01/08 10:31:19 kls Exp $ + * $Id: config.c 1.131 2005/01/09 12:14:58 kls Exp $ */ #include "config.h" @@ -281,7 +281,7 @@ cSetup::cSetup(void) RecordingDirs = 1; VideoFormat = 0; UpdateChannels = 4; - RecordDolbyDigital = 1; + UseDolbyDigital = 1; ChannelInfoPos = 0; OSDLeft = 54; OSDTop = 45; @@ -436,7 +436,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "RecordingDirs")) RecordingDirs = atoi(Value); else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value); else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value); - else if (!strcasecmp(Name, "RecordDolbyDigital")) RecordDolbyDigital = atoi(Value); + else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value); else if (!strcasecmp(Name, "ChannelInfoPos")) ChannelInfoPos = atoi(Value); else if (!strcasecmp(Name, "OSDLeft")) OSDLeft = atoi(Value); else if (!strcasecmp(Name, "OSDTop")) OSDTop = atoi(Value); @@ -498,7 +498,7 @@ bool cSetup::Save(void) Store("RecordingDirs", RecordingDirs); Store("VideoFormat", VideoFormat); Store("UpdateChannels", UpdateChannels); - Store("RecordDolbyDigital", RecordDolbyDigital); + Store("UseDolbyDigital", UseDolbyDigital); Store("ChannelInfoPos", ChannelInfoPos); Store("OSDLeft", OSDLeft); Store("OSDTop", OSDTop); diff --git a/config.h b/config.h index 9a275154..d6759ccc 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.208 2005/01/08 10:30:40 kls Exp $ + * $Id: config.h 1.209 2005/01/09 12:14:33 kls Exp $ */ #ifndef __CONFIG_H @@ -239,7 +239,7 @@ public: int RecordingDirs; int VideoFormat; int UpdateChannels; - int RecordDolbyDigital; + int UseDolbyDigital; int ChannelInfoPos; int OSDLeft, OSDTop, OSDWidth, OSDHeight; int OSDMessageTime; diff --git a/device.c b/device.c index 442d3f0e..9e60b70b 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.72 2005/01/08 13:48:19 kls Exp $ + * $Id: device.c 1.73 2005/01/09 12:36:48 kls Exp $ */ #include "device.h" @@ -547,7 +547,8 @@ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView) currentAudioTrack = ttAudioFirst; for (int i = 0; i < MAXAPIDS; i++) { SetAvailableTrack(ttAudio, i, Channel->Apid(i), Channel->Alang(i)); - SetAvailableTrack(ttDolby, i, Channel->Dpid(i), Channel->Dlang(i)); + if (Setup.UseDolbyDigital) + SetAvailableTrack(ttDolby, i, Channel->Dpid(i), Channel->Dlang(i)); } // Select the preferred audio track: eTrackType PreferredTrack = ttAudioFirst; @@ -663,8 +664,8 @@ void cDevice::ClrAvailableTracks(bool DescriptionsOnly) bool cDevice::SetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const char *Language, const char *Description, uint32_t Flags) { eTrackType t = eTrackType(Type + Index); - if ((Type == ttAudio && IS_AUDIO_TRACK(t)) || - (Type == ttDolby && IS_DOLBY_TRACK(t))) { + if (Type == ttAudio && IS_AUDIO_TRACK(t) || + Type == ttDolby && IS_DOLBY_TRACK(t)) { if (Language) strn0cpy(availableTracks[t].language, Language, sizeof(availableTracks[t].language)); if (Description) @@ -834,11 +835,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly) w = PlayAudio(Start, d); break; case 0xBD: // dolby - SetAvailableTrack(ttDolby, 0, c); - if (!VideoOnly && c == availableTracks[currentAudioTrack].id) { - w = PlayAudio(Start, d); - if (FirstLoop) - Audios.PlayAudio(Data, Length); + if (Setup.UseDolbyDigital) { + SetAvailableTrack(ttDolby, 0, c); + if (!VideoOnly && c == availableTracks[currentAudioTrack].id) { + w = PlayAudio(Start, d); + if (FirstLoop) + Audios.PlayAudio(Data, Length); + } } break; default: diff --git a/i18n.c b/i18n.c index 05d1df57..911dd233 100644 --- a/i18n.c +++ b/i18n.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: i18n.c 1.168 2005/01/04 13:40:38 kls Exp $ + * $Id: i18n.c 1.169 2005/01/09 12:17:44 kls Exp $ * * Translations provided by: * @@ -3094,6 +3094,27 @@ const tI18nPhrase Phrases[] = { "TV külgsuhe", "Video format", }, + { "Setup.DVB$Use Dolby Digital", + "Dolby Digital Ton benutzen", + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + "",//TODO + }, { "Setup.DVB$Update channels", "Kanäle aktualisieren", "",// TODO @@ -3577,27 +3598,6 @@ const tI18nPhrase Phrases[] = { "Otsesalvestuse kestus (min)", "Længde af direkte optagelse (min)", }, - { "Setup.Recording$Record Dolby Digital", - "Dolby Digital Ton aufzeichnen", - "Posnemi dolby digital", - "Registra Dolby Digital", - "Dolby Digital geluid opnamen", - "Gravar em Dolby Digital", - "Enregistrer en Dolby Digital", - "Ta opp Dolby Digital lyd", - "Dolby Digital tallennus", - "Nagrywac Dolby Digital", - "Grabar sonido Dolby Digital", - "ÅããñáöÞ ôïõ Dolby Digital Þ÷ïõ", - "Spela in ljudet med Dolby Digital", - "Înregistreazã Dolby Digital", - "Dolby Digitál felvétel", - "Gravar el so en Dolby Digital", - "·ÐßØáëÒÐâì ×ÒãÚ Dolby Digital", - "Snimi 'Dolby digital' ton", - "Dolby Digital salvestamine", - "Optag Dolby Digital lyd", - }, { "Setup.Recording$Max. video file size (MB)", "Max. Video Dateigröße (MB)", "Najvecja velikost datoteke (MB)", diff --git a/menu.c b/menu.c index 6c2f643a..c4ed75da 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.332 2005/01/09 11:55:12 kls Exp $ + * $Id: menu.c 1.333 2005/01/09 12:16:17 kls Exp $ */ #include "menu.h" @@ -1943,6 +1943,7 @@ void cMenuSetupDVB::Setup(void) Add(new cMenuEditIntItem( tr("Setup.DVB$Primary DVB interface"), &data.PrimaryDVB, 1, cDevice::NumDevices())); Add(new cMenuEditBoolItem(tr("Setup.DVB$Video format"), &data.VideoFormat, "4:3", "16:9")); + Add(new cMenuEditBoolItem(tr("Setup.DVB$Use Dolby Digital"), &data.UseDolbyDigital)); Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 5, updateChannelsTexts)); Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nNumLanguages)); for (int i = 0; i < numAudioLanguages; i++) @@ -2153,7 +2154,6 @@ cMenuSetupRecord::cMenuSetupRecord(void) Add(new cMenuEditBoolItem(tr("Setup.Recording$Mark instant recording"), &data.MarkInstantRecord)); Add(new cMenuEditStrItem( tr("Setup.Recording$Name instant recording"), data.NameInstantRecord, sizeof(data.NameInstantRecord), tr(FileNameChars))); Add(new cMenuEditIntItem( tr("Setup.Recording$Instant rec. time (min)"), &data.InstantRecordTime, 1, MAXINSTANTRECTIME)); - Add(new cMenuEditBoolItem(tr("Setup.Recording$Record Dolby Digital"), &data.RecordDolbyDigital)); Add(new cMenuEditIntItem( tr("Setup.Recording$Max. video file size (MB)"), &data.MaxVideoFileSize, MINVIDEOFILESIZE, MAXVIDEOFILESIZE)); Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles)); } diff --git a/recorder.c b/recorder.c index 3508b0ae..ded60e8c 100644 --- a/recorder.c +++ b/recorder.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recorder.c 1.11 2004/10/16 09:23:01 kls Exp $ + * $Id: recorder.c 1.12 2005/01/09 12:16:36 kls Exp $ */ #include @@ -128,7 +128,7 @@ void cFileWriter::Action(void) } cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid, int APid1, int APid2, int DPid1, int DPid2) -:cReceiver(Ca, Priority, Setup.RecordDolbyDigital ? 5 : 3, VPid, APid1, APid2, DPid1, DPid2) +:cReceiver(Ca, Priority, Setup.UseDolbyDigital ? 5 : 3, VPid, APid1, APid2, DPid1, DPid2) ,cThread("recording") { active = false;