def parse_buf
			ret=[]
			bs=BitStream.new(@buf)
			table_id                        =bs.read 8 #uimsbf
			section_syntax_indicator        =bs.read 1 #bslbf
			reserved_future_use             =bs.read 1 #bslbf
			reserved                        =bs.read 2 #bslbf
			section_length                  =bs.read 12 #uimsbf
			network_id                      =bs.read 16 #uimsbf
			reserved                        =bs.read 2 #bslbf
			version_number                  =bs.read 5 #uimsbf
			current_next_indicator          =bs.read 1 #bslbf
			section_number                  =bs.read 8 #uimsbf
			last_section_number             =bs.read 8 #uimsbf
			reserved_future_use             =bs.read 4 #bslbf
			network_descriptors_length      =bs.read 12 #uimsbf
			desc=descriptor(bs,network_descriptors_length)
			ret << [:NIT,table_id,desc]
			reserved_future_use             =bs.read 4 #bslbf
			transport_stream_loop_length    =bs.read 12 #uimsbf
			
			len=bs.pos+transport_stream_loop_length*8
			while bs.pos < len
				transport_stream_id           =bs.read 16 #uimsbf
				original_network_id           =bs.read 16 #uimsbf
				reserved_future_use           =bs.read 4 #bslbf
				transport_descriptors_length  =bs.read 12 #uimsbf
				desc=descriptor(bs,transport_descriptors_length)
				ret << [transport_stream_id,original_network_id,desc]
			end
			cCRC_32                         =bs.read 32 #rpchof
			ret
		end
def parse_buf
			ret=[]
			bs=BitStream.new(@buf)
			table_id                        =bs.read 8 #uimsbf
			section_syntax_indicator        =bs.read 1 #bslbf
			reserved_future_use             =bs.read 1 #bslbf
			reserved                        =bs.read 2 #bslbf
			section_length                  =bs.read 12 #uimsbf
			network_id                      =bs.read 16 #uimsbf
			reserved                        =bs.read 2 #bslbf
			version_number                  =bs.read 5 #uimsbf
			current_next_indicator          =bs.read 1 #bslbf
			section_number                  =bs.read 8 #uimsbf
			last_section_number             =bs.read 8 #uimsbf
			reserved_future_use             =bs.read 4 #bslbf
			network_descriptors_length      =bs.read 12 #uimsbf
			desc=descriptor(bs,network_descriptors_length)
			ret << [:NIT,table_id,desc]
			reserved_future_use             =bs.read 4 #bslbf
			transport_stream_loop_length    =bs.read 12 #uimsbf
			
			len=bs.pos+transport_stream_loop_length*8
			while bs.pos < len
				transport_stream_id           =bs.read 16 #uimsbf
				original_network_id           =bs.read 16 #uimsbf
				reserved_future_use           =bs.read 4 #bslbf
				transport_descriptors_length  =bs.read 12 #uimsbf
				desc=descriptor(bs,transport_descriptors_length)
				ret << [transport_stream_id,original_network_id,desc]
			end
			cCRC_32                         =bs.read 32 #rpchof
			ret
		end
< 1Kbyte