[linux-dvb] How to descramble?
Henrik Sjoberg
henke at epact.se
Sat Oct 15 11:00:08 CEST 2005
Hi,
I managed to fix a few more bugs last night and can now descramble on
stream level too. (Which means I have currently no need to moving of CA
descriptors.)
However, what I have done for now is to implement the move of CA
descriptors in the way Manu describes below. Although, this is done _only_
if a new flag (-m) is given to ca_zap.
So, if this new flag is give to ca_zap, it checks that the move criterias
are fulfilled. If they are, the CA descriptors are moved from stream to
programme level.
Hence, the user of ca_zap have an option of moving the descriptors if
he/she sees fit.
Does this sound reasonable?
/Henrik
> Dominique Dumont wrote:
>
>>Manu Abraham <abraham.manu at gmail.com> writes:
>>
>>
>>
>>>The first one that i had seen was with TPS, and this was the only way it
>>>could be worked. In fact stream level decryption according to TPS wasn't
>>>probably stream level decryption but only program level decryption. I
>>>might be wrong here though, but that was the only thing that got it to
>>>descramble.
>>>
>>>
>>
>>You statement related to "program level decryption" is misleading. In
>>all cases only the elementary streams are encrypted. Sending CA
>>descriptors at program level is only a mean of saying "this
>>descriptor is valid for *all* elementary streams of this program"
>>
>>Here's the section 8.4.3.4 of EN50221 that specifies this behavior:
>>
>> The CA_descriptor after the current_next_indicator is at the
>> programme level and is valid for all elementary components of the
>> programme. The CA_descriptor(s) at elementary_stream level is (are)
>> valid for the elementary_stream only. If, for one
>> elementary_stream, CA_descriptor(s) exist at programme level and at
>> elementary_stream level, only the CA_descriptor(s) at
>> elementary_stream level are taken into account.
>>
>>
>
> from a module point of view, the rule is the following
>
> rule 1) check for each component the elementary stream level,
> if there are any, use it and IGNORE the one from the program level.
>
> rule 2) if there is no ca_descriptor on the ES level (and only in this
> case),
>
> use the one at the program level.
>
>
>
> so , clearly, if you see that all the ca_desc at ES level are the same,
> you can remove them from es level, and put them only once at program
> level.
>
> then, rule 1 will no more be applied, but rule2 will be use instead...
> and the result will be 100%
> the same, since the ca_descriptor at program level
> will be used for each ES.
>
>
> So what is the reason to send a longer message which does exactly the
> same thing in that context ?
>
> HTH
>
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
More information about the linux-dvb
mailing list