-
-
Notifications
You must be signed in to change notification settings - Fork 85
WIP: Improve how PIDs are selected for descrambling #1304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
bde1066 to
94033a9
Compare
User may want to descramble other PIDs too
Fixes wrong CAID count on first stream
94033a9 to
5f71003
Compare
|
Needs more work still. We add a CA descriptor to the DDCI PMT based on |
5f71003 to
6aadbc7
Compare
|
@catalinii what do you think about the approach in the latest commit? It needs some cleanup to reduce deduplication but it seems to work. As far as I can tell, the only time the PMT itself contains a CA descriptor is when all elementary streams in it are scrambled. If a PMT contains e.g. subtitle elementary streams then the CA descriptor is placed on the individual elementary streams instead. The end results of this change is that we only send actually encrypted PIDs to the CAM without having to use heuristics like "is video or audio", which is ultimately needed by #1303 |
|
Bit harder to test the CA PID mapping now but let's see |
|
LGTM. Can u add some tests around process_pmt -> ddci_process_pmt to ensure everything happens as expected? Basically to capture different scenarios (most of them were on Astra 19) and at least we can improve the unit testing to reduce the risk on future changes. |
|
I'll clean this up and will try to add some more tests, then runtime test it for a while |
|
Thinking about this some more. Would be nice to not have to complicate things so much, especially since tested code needs to be changed and new tests made. |
|
The way it stands right now, no PIDs will get sent to DVBAPI if the whole PMT is marked as scrambled... Need to rethink how to handle this. I think we should mark both PMTs and stream PIDs as scrambled. |
|
Yeah, I'll refactor this so that both stream PIDs and PMTs have a list of descriptors and an |
Fixes two scenarios:
0x09). Due to a bug this particular descriptor was never stored in the stream PID, so when the PMT was reconstructed on a DDCI device the information was no longer there are filtering out scrambled PIDs would cause all PIDs to be left out.Before:
After:
Fixes #1304 incidentally