#! /bin/sh /usr/share/dpatch/dpatch-run ## 10_dd-record-option.dpatch by Thomas Schmidt ## ## Thomas Günther : ## - adapted to VDR-1.5.0 ## - fixed i18n texts for replay ## - adapted to VDR-1.5.7 ## http://toms-cafe.de/vdr/download/vdr-dd-record-option-1.5.7.diff ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Allowes to choose if to record and to replay Dolby Digital ## DP: independently (to work around some audio issues with the ## DP: dvd-plugin) @DPATCH@ --- vdr-1.5.7/config.c +++ vdr-1.5.7/config.c @@ -255,6 +255,7 @@ VideoDisplayFormat = 1; VideoFormat = 0; UpdateChannels = 5; + RecordDolbyDigital = 1; UseDolbyDigital = 1; ChannelInfoPos = 0; ChannelInfoTime = 5; @@ -425,6 +426,7 @@ else if (!strcasecmp(Name, "VideoDisplayFormat")) VideoDisplayFormat = 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, "ChannelInfoTime")) ChannelInfoTime = atoi(Value); @@ -502,6 +504,7 @@ Store("VideoDisplayFormat", VideoDisplayFormat); Store("VideoFormat", VideoFormat); Store("UpdateChannels", UpdateChannels); + Store("RecordDolbyDigital", RecordDolbyDigital); Store("UseDolbyDigital", UseDolbyDigital); Store("ChannelInfoPos", ChannelInfoPos); Store("ChannelInfoTime", ChannelInfoTime); --- vdr-1.5.7/config.h +++ vdr-1.5.7/config.h @@ -237,6 +237,7 @@ int VideoDisplayFormat; int VideoFormat; int UpdateChannels; + int RecordDolbyDigital; int UseDolbyDigital; int ChannelInfoPos; int ChannelInfoTime; --- vdr-1.5.7/menu.c +++ vdr-1.5.7/menu.c @@ -2437,7 +2437,8 @@ Add(new cMenuEditBoolItem(tr("Setup.DVB$Video format"), &data.VideoFormat, "4:3", "16:9")); if (data.VideoFormat == 0) Add(new cMenuEditStraItem(tr("Setup.DVB$Video display format"), &data.VideoDisplayFormat, 3, videoDisplayFormatTexts)); - Add(new cMenuEditBoolItem(tr("Setup.DVB$Use Dolby Digital"), &data.UseDolbyDigital)); + Add(new cMenuEditBoolItem(tr("Setup.DVB$Record Dolby Digital"), &data.RecordDolbyDigital)); + Add(new cMenuEditBoolItem(tr("Setup.DVB$Replay Dolby Digital"), &data.UseDolbyDigital)); Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 6, updateChannelsTexts)); Add(new cMenuEditIntItem( tr("Setup.DVB$Audio languages"), &numAudioLanguages, 0, I18nLanguages()->Size())); for (int i = 0; i < numAudioLanguages; i++) --- vdr-1.5.7/po/de_DE.po +++ vdr-1.5.7/po/de_DE.po @@ -803,2 +803,5 @@ -msgid "Setup.DVB$Use Dolby Digital" -msgstr "Dolby-Digital-Ton benutzen" +msgid "Setup.DVB$Record Dolby Digital" +msgstr "Dolby-Digital-Ton aufzeichnen" + +msgid "Setup.DVB$Replay Dolby Digital" +msgstr "Dolby-Digital-Ton wiedergeben" --- vdr-1.5.7/recorder.c +++ vdr-1.5.7/recorder.c @@ -127,7 +127,7 @@ // --- cRecorder ------------------------------------------------------------- cRecorder::cRecorder(const char *FileName, tChannelID ChannelID, int Priority, int VPid, const int *APids, const int *DPids, const int *SPids) -:cReceiver(ChannelID, Priority, VPid, APids, Setup.UseDolbyDigital ? DPids : NULL, SPids) +:cReceiver(ChannelID, Priority, VPid, APids, Setup.RecordDolbyDigital ? DPids : NULL, SPids) ,cThread("recording") { // Make sure the disk is up and running: @@ -136,7 +136,7 @@ ringBuffer = new cRingBufferLinear(RECORDERBUFSIZE, TS_SIZE * 2, true, "Recorder"); ringBuffer->SetTimeouts(0, 100); - remux = new cRemux(VPid, APids, Setup.UseDolbyDigital ? DPids : NULL, SPids, true); + remux = new cRemux(VPid, APids, Setup.RecordDolbyDigital ? DPids : NULL, SPids, true); writer = new cFileWriter(FileName, remux); }