def write_packets(granule_pos, *packets)
written_pages_count = 1
page = Page.new(@bitstream_serial_no, granule_pos)
packets.each do |packet|
io = StringIO.new(packet)
while !io.eof? do
page.segments << io.read(255)
if (page.segments.length == 255)
page.granule_pos = -1
write_page(page)
page = Page.new(@bitstream_serial_no, granule_pos)
written_pages_count += 1
end
end
if (page.segments.length == 0 || page.segments.last.length == 255)
page.segments << ""
end
end
write_page(page)
written_pages_count
end