Anssi Hannula schrieb:
> peter.dittmann@freenet.de wrote:
>
>>> CAC> <Sergei.Haller@math.uni-giessen.de>:
>>> CAC> CAC> > if you set 'use Dolby Digital', your recordings will
>>> contain DD.
>>> CAC> > If you don't want to hear DD, just select a non-DD track in the
>>> audio
>>> CAC> Hm, I will give it a try, but as far as I know it wont work vor
>>> DVD-Audio
>>> CAC> thenm as it is 'downsampled' within the DVB-Card. Right?
>>>
>>> I never tried it with DVD. If it doesn't work as expected, it should
>>> not use 'use Dolby Digital' setup option for playback.
>>
>>
>>
>> Yes, the DVD plugin is broken as it uses 'useDolbyDigital'
>>
>> However I would also like to have seperate settings for use/record DD.
>> Please consider a novice user (WAF ;-) ) and a system were DD schould be
>> recorded (for DVD) but has no DD capable receiver attached. It's easy
>> with
>> audio button to switch to DD and end up with no audio.
>>
>> I personal belive the 'use DD' should be used to control the output
>> capability.
>> So on a box without DD output being used, the audio menu will not
>> allow to
>> switch to DD (or alternatively decode DD and downmix to stereo on
>> analoge out).
>> However the recording to disc should be able to contain DD.
>>
>
> I would also like to be able to record DD streams. But if I enable the
> useDolbyDigital, the VDR might try to use DD for playing also and I do
> not have the DD equipment. Yes, I could change the audio stream with the
> audio button, but I don't like that I would have to change audio of
> every channel. Also, when the DVD plugin implements correct
> "useDolbyDigital" usage (correct me if I'm wrong, but that means to
> offer the audio tracks in the VDR Audio menu), I would have to switch
> every DVD to non-DD track also.
>
> I'd like a separate option for playing and recording.
>
>> P.S. Sorry if webmail client break thread ;-)
>
>
> It did not :)
>
You can try this patch.
Cheers
S.
@@ -283,6 +283,7 @@
VideoFormat = 0;
UpdateChannels = 4;
UseDolbyDigital = 1;
+ UseDolbyInRecordings = 1;
ChannelInfoPos = 0;
ChannelInfoTime = 5;
OSDLeft = 54;
@@ -440,6 +441,7 @@
else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value);
else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value);
else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value);
+ else if (!strcasecmp(Name, "UseDolbyInRecordings")) UseDolbyInRecordings = atoi(Value);
else if (!strcasecmp(Name, "ChannelInfoPos")) ChannelInfoPos = atoi(Value);
else if (!strcasecmp(Name, "ChannelInfoTime")) ChannelInfoTime = atoi(Value);
else if (!strcasecmp(Name, "OSDLeft")) OSDLeft = atoi(Value);
@@ -504,6 +506,7 @@
Store("VideoFormat", VideoFormat);
Store("UpdateChannels", UpdateChannels);
Store("UseDolbyDigital", UseDolbyDigital);
+ Store("UseDolbyInRecordings", UseDolbyInRecordings);
Store("ChannelInfoPos", ChannelInfoPos);
Store("ChannelInfoTime", ChannelInfoTime);
Store("OSDLeft", OSDLeft);
@@ -241,6 +241,7 @@
int VideoFormat;
int UpdateChannels;
int UseDolbyDigital;
+ int UseDolbyInRecordings;
int ChannelInfoPos;
int ChannelInfoTime;
int OSDLeft, OSDTop, OSDWidth, OSDHeight;
@@ -2168,6 +2168,7 @@
cMenuSetupRecord::cMenuSetupRecord(void)
{
SetSection(tr("Recording"));
+ Add(new cMenuEditBoolItem( tr("Setup.Recording$Record Dolby"), &data.UseDolbyInRecordings));
Add(new cMenuEditIntItem( tr("Setup.Recording$Margin at start (min)"), &data.MarginStart));
Add(new cMenuEditIntItem( tr("Setup.Recording$Margin at stop (min)"), &data.MarginStop));
Add(new cMenuEditIntItem( tr("Setup.Recording$Primary limit"), &data.PrimaryLimit, 0, MAXPRIORITY));
@@ -128,7 +128,7 @@
}
cRecorder::cRecorder(const char *FileName, int Ca, int Priority, int VPid, const int *APids, const int *DPids, const int *SPids)
-:cReceiver(Ca, Priority, VPid, APids, Setup.UseDolbyDigital ? DPids : NULL, SPids)
+:cReceiver(Ca, Priority, VPid, APids, Setup.UseDolbyInRecordings ? DPids : NULL, SPids)
,cThread("recording")
{
active = false;
@@ -139,7 +139,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.UseDolbyInRecordings ? DPids : NULL, SPids, true);
writer = new cFileWriter(FileName, remux);
}