- //if( pmt_pid == sec_it->first) {
- if( save_pid.find( pmt->PCR_PID) == save_pid.end()) {
- save_pid.insert( pmt->PCR_PID);
- fprintf( stderr, "new pid 0x%04X, PCR, cur pid 0x%04X\n", pmt->PCR_PID, sec_it->first);
- }
-
- for( d = pmt->program_info_descriptors.begin(); d != pmt->program_info_descriptors.end(); d++) {
- if( (*d)->descriptor_tag == ConditionalAccess::TAG) {
- ConditionalAccess *ca = (ConditionalAccess *)*d;
- if( save_pid.find( ca->CA_PID) == save_pid.end()) {
- //secs[ ca->CA_PID] = new CAT( &des_parser);
- if( ca->CA_PID != 0x1FFF) {
- save_pid.insert( ca->CA_PID);
- fprintf( stderr, "new pid 0x%04X, CA ID %u, cur pid 0x%04X\n", ca->CA_PID, ca->CA_system_ID, sec_it->first);
- }
- }
- }
- }
-
- pmt->eraseElement( 0x0D);
-
- for( e = pmt->elements.begin(); e != pmt->elements.end(); e++) {
- if( save_pid.find( e->elementary_PID) == save_pid.end()) {
- save_pid.insert( e->elementary_PID);
- fprintf( stderr, "new pid 0x%04X, stream_type 0x%02X, cur pid 0x%04X\n", e->elementary_PID, e->stream_type, sec_it->first);
- }
-
- for( d = e->descriptors.begin(); d != e->descriptors.end(); d++) {
- if( (*d)->descriptor_tag == ConditionalAccess::TAG) {
- ConditionalAccess *ca = (ConditionalAccess *)*d;
- if( save_pid.find( ca->CA_PID) == save_pid.end()) {
- //secs[ ca->CA_PID] = new CAT( &des_parser);
- if( ca->CA_PID != 0x1FFF) {
- save_pid.insert( ca->CA_PID);
- fprintf( stderr, "new pid 0x%04X, CA ID %u, cur pid 0x%04X\n", ca->CA_PID, ca->CA_system_ID, sec_it->first);
- }
- }
- }
- }
- }
- save_flag = true;
- //}