VDR constantly tries to change transponder frequency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anssi Hannula wrote:
> I've now had time to debug this bug more, too.
> 
> Klaus Schmidinger wrote:
>> Anssi Hannula wrote:
>>
>>> Anssi Hannula wrote:
>>>
>>>> Hi!
>>>>
>>>> VDR constantly changes the frequency of one multiplex in DVB-T.
>>>>
>>>> Here's an example:
>>>> Correct:
>>>> Urheilukanava;Suomen Urheilutelevisio
>>>> Oy:770000000:C23D23M64B8T8G8Y0:T:27500:417+130:673=fin:929:0:113:8438:12289:0
>>>>
>>>>
>>>> But then VDR decides to change it:
>>>>
>>>> Dec 29 18:32:48 delta vdr[18069]: changing transponder data of channel
>>>> 22 from T:770000000:0:3:0:2:2:2:1 to T:674000000:0:3:0:2:2:2:1
>>>>
>>>> And then of course the channels stop being watchable.
>>>>
>>>> I took a dvbsnoop on PID 16 to grab the NIT tables (or whatever they're
>>>> called).
>>>> The two SECT-packets which are looped in the PID 16 are both in:
>>>> http://anssi.hopto.org/dvbsnoop-MUX3-pid16
>>>>
>>>> BTW, I put a debug output entry in nit.c line 173 to grab the frequency
>>>> returned by getFrequency(), and I get these kind of results:
>>>> FREQUENCY, 562000000
>>>> FREQUENCY, 658000000
>>>> FREQUENCY, 674000000
>>>>
>>>> However the correct frequencies of the muxes are 490000, 578000, and
>>>> 770000. However I've no idea why mux3 is the only one of which frequency
>>>> VDR tries to change.
> 
> The NIT data (pid 16) of Finnish DVB-T operated by Digita apparently
> confuses VDR:
> 
> The center frequency advertised in the
> terrestrial_delivery_system_descriptor is not necessarily the real
> frequency, but other_frequency_flag is set to "1" and there is provided
> a frequency_list_descriptor which contains all the possible frequencies
> of this mux (probably nation-wide), and the correct frequency is one of
> those.
> 
> Digita also sends NITs of all muxes in all muxes, and as VDR relies on
> frequencies to detect which on of those is the correct one, the
> detection fails and VDR always selects the NIT of mux 3, explaining why
> it that mux is the only one affected by the frequency-changing.
> 
> 
> For the NIT selection problem I can think of these possible fixes:
> 
> 1. Fix the NIT selection in cNitFilter::Process() so that it would
> search the frequency_list_descriptor too.
> 
> 2. Change the NIT selection in cNitFilter::Process() to use TID instead
> of frequency to select the correct NIT.
> 
> 
> And for the channel frequency update:
> 
> 1. When considering frequency update for a channel, check first if the
> previous frequency is one of the frequencies in frequency_list_descriptor.
> 
> 2. Ignore frequency when updating channels if other_frequency_flag is
> set to "1" in terrestrial_delivery_system_descriptor.
> 
> 
> After a quick look it seems that libsi has support for
> frequency_list_descriptor.
> 
> If you want to see the actual NIT data, it's there:
> http://stuff.onse.fi/digita-nit/
> 
> Note that the other_frequency_flag is DVB-T-specific.
> 
>>>
>>> @Klaus, are you going to investigate this?
>>
>> Well, it's certainly easier to debug if one can actually
>> receive these channels and run tests with live data.
>> Since I don't have DVB-T (and certainly can't receive these
>> channels) I'd appreciate if somebody else could look into
>> this.
> 
> It would be nice if you had time to implement fixes for the above
> problems. If you don't, please indicate what kind of fixes would you
> prefer, maybe I'll find time to implement them someday.

Well, I guess it would be best if you give it a shot, since you
have the data stream necessary for testing this.

Klaus


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux