Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#1375 closed patch (fixed)

Fix elementary CA descriptors in new siparser.cpp

Reported by: phil.vid@… Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Inside the HandlePMT function the new code for the elementary level CA descriptors will only insert the first found by the 'Find'. Foxtel Australia has 3 supported conditional access systems which requires all 3 to be inserted.

This patch implements the same list search functionality as exists at program level.

Attachments (1)

siparser.patch (1.1 KB) - added by phil.vid@… 14 years ago.

Download all attachments as: .zip

Change History (3)

Changed 14 years ago by phil.vid@…

Attachment: siparser.patch added

comment:1 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

(In [9118]) Fixes #1375, References #1035. Allow each A/V stream to use multiple Conditional Access methods.

Apparently this is used in Australia. I'm not sure if they use different methods for the video, audio, and data streams, or if they just list all the supported methods and hope one is sticks. Multiple CA methods per PMT was already supported.

comment:2 Changed 14 years ago by phil.vid@…

Just for more information this is a PMT decode of one of these channels:

2006-02-24 09:54:23.899 Program Map Table ver(21) pid(0x441) pnum(1008) len(283)

Smoothing Buffer Descriptor (0x10) length(6) System Clock Descriptor (0xb) length(2)

Stream #0 pid(0x439) type(video-mpeg2 0x2)

Conditional Access: sid(0x90b) pid(0x1394) data_size(0) Conditional Access: sid(0x624) pid(0x13c6) data_size(0) Conditional Access: sid(0x604) pid(0x13c6) data_size(0)

Stream #1 pid(0x43a) type(audio-mp2-layer[1,2,3] 0x4)

ISO-639 Language: code(eng) canonical(eng) eng(English) Conditional Access: sid(0x90b) pid(0x1394) data_size(0) Conditional Access: sid(0x624) pid(0x13c6) data_size(0) Conditional Access: sid(0x604) pid(0x13c6) data_size(0)

Stream #2 pid(0x43e) type(private-data 0x6)

Conditional Access: sid(0x90b) pid(0x1394) data_size(0) Conditional Access: sid(0x624) pid(0x13c6) data_size(0) Conditional Access: sid(0x604) pid(0x13c6) data_size(0) Teletext Descriptor (0x56) length(5)

Stream #3 pid(0x43d) type(private-sec 0x5)

Private Data Specifier Descriptor (0x5f) length(4) Unknown(144) Descriptor (0x90) length(1) Private Data Specifier Descriptor (0x5f) length(4) Unknown(254) Descriptor (0xfe) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(253) Descriptor (0xfd) length(1)

Stream #4 pid(0x1b63) type(private-sec 0x5)

Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(144) Descriptor (0x90) length(1) Private Data Specifier Descriptor (0x5f) length(4) Unknown(254) Descriptor (0xfe) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(253) Descriptor (0xfd) length(1)

Stream #5 pid(0x1b64) type(private-sec 0x5)

Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(144) Descriptor (0x90) length(1) Private Data Specifier Descriptor (0x5f) length(4) Unknown(254) Descriptor (0xfe) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(253) Descriptor (0xfd) length(1)

Stream #6 pid(0x43f) type(private-sec 0x5)

Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(144) Descriptor (0x90) length(1) Private Data Specifier Descriptor (0x5f) length(4) Unknown(254) Descriptor (0xfe) length(4) Private Data Specifier Descriptor (0x5f) length(4) Unknown(253) Descriptor (0xfd) length(1)

Note: See TracTickets for help on using tickets.