CA PVR - APDU definitions

CA PVR - APDU definitions

Postby hb-dk » Tue Jun 30, 2009 3:44 pm

The definition of ca_pvr_pmt_reply(), table 15.5 specification 1.2, is quite confusing:

My understanding is that such reply works for a single program (program_number) and a predefined set of PIDs for record (Number_of_PID_to_record).

See inline noted as <<<<<
ca_pvr_pmt_reply() {
ca_pvr_pmt_reply_tag
length_field()
program_number
reserved
version_number
current_next_indicator
CA_enable_flag
if (CA_enable_flag == 1) {
CA_enable /* at programme level */
Number_of_PID_to_record <<<<< SHOULDN'T THIS BE OUTSIDE THE SCOPE OF CA_enable_flag==1? bracket

for (i=0; i<n; i++) { /*list of elementary stream PID to record */
reserved
elementary_PID
reserved
ECM_PID /* associated ECM PID of the selected elementary PID */

} else if (CA_enable_flag == 0) { <<<<< THIS DOES NOT CLOSE THE for() bracket
Reserved <<<<< SHOULDN'T the for() loop of ES level CA be inserted in this case instead of the Reserved for alignment ?
}

for (i=0; i<n; i++) { <<<< SHOULDN'T THIS n VALUE BE SET TO Number_of_PID_to_record ?
reserved
elementary_PID /* elementary stream PID to record */
CA_enable_flag
if (CA_enable_flag == 1) {
CA_enable /* at elementary stream level */
reserved
ECM_PID /* ECM PID of the selected elementary PID */

} else if (CA_enable_flag == 0) {

reserved
}
}
}
}
hb-dk
 
Posts: 10
Joined: Mon Mar 09, 2009 2:31 pm

Re: CA PVR - APDU definitions

Postby dademvi » Thu Jul 23, 2009 1:20 am

:shock: You know where braket is closed implicitly... (before ECM_PID)
dademvi
 
Posts: 2
Joined: Wed Jul 22, 2009 2:23 am

Re: CA PVR - APDU definitions

Postby moderator1 » Thu Jul 30, 2009 7:57 am

We saw a problem on the braket, please find the CA_PVR_PMT reply definition with the good position.

ca_pvr_pmt_reply() {
ca_pvr_pmt_reply_tag
length_field()
program_number
reserved
version_number
current_next_indicator
CA_enable_flag
if (CA_enable_flag == 1)
{
CA_enable /* at programme level */
Number_of_PID_to_record
for (i=0; i<n; i++)
{ /*list of elementary stream PID to record */
reserved
elementary_PID
reserved
ECM_PID /* associated ECM PID of the selected elementary PID */
}
} >>ADDED braket here<<

else if (CA_enable_flag == 0)
{
Reserved
}

for (i=0; i<n; i++)
{
reserved
elementary_PID /* elementary stream PID to record */
CA_enable_flag
if (CA_enable_flag == 1)
{
CA_enable /* at elementary stream level */
reserved
ECM_PID /* ECM PID of the selected elementary PID */
}
else if (CA_enable_flag == 0)
{
reserved
}
>>removed braket here<<
}
}
moderator1
 
Posts: 2
Joined: Mon Jan 12, 2009 4:24 pm

Re: CA PVR - APDU definitions

Postby moderator1 » Thu Jul 30, 2009 8:01 am

Regarding the folowing question:
"My understanding is that such reply works for a single program (program_number) and a predefined set of PIDs for record (Number_of_PID_to_record)."


the answer is no, for each program to record a CA_PVR_PMT APDU needs to be send to the CICAM and the CICAM reply will reply a CA_PVR_PMT_reply with the good parameters in according with its capacities.
moderator1
 
Posts: 2
Joined: Mon Jan 12, 2009 4:24 pm

Re: CA PVR - APDU definitions

Postby hb-dk » Mon Aug 17, 2009 11:11 am

Thank you very much for the reply. Makes perfect sense.
Should we expect a v1.3 anytime soon ?
hb-dk
 
Posts: 10
Joined: Mon Mar 09, 2009 2:31 pm


Return to Ci Plus Specification

Who is online

Users browsing this forum: No registered users and 1 guest

cron