Ejemplo n.º 1
0
void TsPacket::input_bitstream(Bitstream & bitstream)
{
	//bitstream.print_packet();

    data_packet_start_byte_offset = bitstream.get_in_byte_offset();
    ts_packet_size = bitstream.get_ts_packet_size();

//    level1_timer->start();
    tsheader->input_bitstream(bitstream);
//    level1_timer->stop();

    pid = tsheader->get_PID();
    payload_unit_start_indicator = tsheader->get_PUSI();
    adaptation_field_control = tsheader->get_adapation_flag();

    if(adaptation_field_control == 0x2 || adaptation_field_control == 0x3)
    {
//    	level2_timer->start();
		int start_offset = bitstream.get_in_byte_offset();
		adaptation_header->input_bitstream(bitstream);
		int length = adaptation_header->get_length();
		bitstream.skip_bytes(start_offset, length + LENGTH_VAR_BYTES);
//		level2_timer->stop();
	}
}