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(); } }