Anders wrote: > After an upgrade to 1.3.34 all works just fine while viewing Eurosport and > Nickelodeon. > > But if I make a recording from Eurosport och Nickelodeon and replay that > recording I get audio channels "1" and "2" instead of the "nor+fin" and > "sve+dan" i get during wathcing live tv. > > Is this expected behaviour or have I overlooked somethins else? > > Regards, > Anders Having no language code at all during replay is a problem that I'll try to fix. However, I'm afraid the two different language codes for one PID are a fundamental problem. While in live tv the channel data can indicate that there are two different languages on one audio PID, the EPG data for stream components doesn't seem to have this capability (or at least I haven't found it, yet). In pat.c, cPatFilter::Process(), we have for (SI::Loop::Iterator it; ld->languageLoop.getNext(l, it); ) { if (*ld->languageCode != '-') { // some use "---" to indicate "none" if (n > 0) *s++ = '+'; strn0cpy(s, I18nNormalizeLanguageCode(l.languageCode), MAXLANGCODE1); s += strlen(s); if (n++ > 1) break; } } where for a single PID there can be two language codes. In eit.c, cEIT::cEIT(), on the other hand, there is case SI::ComponentDescriptorTag: { SI::ComponentDescriptor *cd = (SI::ComponentDescriptor *)d; uchar Stream = cd->getStreamContent(); uchar Type = cd->getComponentType(); if (1 <= Stream && Stream <= 2 && Type != 0) { if (!Components) Components = new cComponents; char buffer[256]; Components->SetComponent(Components->NumComponents(), cd->getStreamContent(), cd->getComponentType(), I18nNormalizeLanguageCode(cd->languageCode), cd->description.getText(buffer, sizeof(buffer))); } } where we get only _one_ language code for each component. Maybe it would be feasible to check the language codes of the stream components against those of the channel data at the moment the recording starts, and overwrite the stream component data with the PID data. This, though, would require the tComponent::language member to be changed to 8 byte length so that it can hold abc+def style language codes - but that's the least problem. Any comments? Klaus >>-----Ursprungligt meddelande----- >>Fr?n: anders@xxxxxxxxxxx [mailto:anders@xxxxxxxxxxx] >>Skickat: den 7 oktober 2005 21:32 >>Till: vdr@xxxxxxxxxxx >>?mne: Re: Different languaghes on right/left channel >> >> >>Quoting Antti Hartikainen <ami+vdr@xxxxx>: >> >> >>>>To clarify: >>>> >>>>After looking closer at the audio-menu: >>>> >>>>On Eurosport there are two audio PID's "sve" which has >> >>swedish on the >> >>>>left channel and danish on the right and "nor" which has >> >>finnish on >> >>>>the left channel and norwegian on the right channel. I have chosen >>>>Swedish as my preferred languaghe and VDR correctly select >> >>the audio >> >>>>PID labeled as "sve". >>>>That PID has >>>>two langughes, and i have to select right or left channel >> >>in the VDR >> >>>>audio menu to avoid audio in swedish AND norwegian at the >> >>same time. >> >>>>My problem is that VDR does not seem to save my choice which means >>>>that i have to go into the audio menu and select left channel >>>>everytime i want to see Eurosport. The same applies to Nickelodeon. >>> >>>Whats your vdr version? >>> >>> >>>>From 1.3.32 changelog: >>> >>>- Changed the audio PID language codes to hold up to two 3 letter >>>codes, separated >>> by '+', to store separate languages broadcast in two >> >>channel audio mode. >> >>>Works fine for me at Eurosport from 1W (chooses finnish >> >>audio as it is >> >>>preferred). >>> >> >>I am running 1.3.23 here, guess I have to upgrade then .... >> >>I completely missed that changelog, sorry.