code: def _iter_avro_records(fo, header, codec, writer_schema, reader_schema):
      
      sync_marker = header['sync']
  
      read_block = BLOCK_READERS.get(codec)
      if not read_block:
          raise ValueError('Unrecognized codec: %r' % codec)
  
      block_count = 0
      while True:
          try:
              block_count = read_long(fo)
          except StopIteration:
              return
  
          block_fo = read_block(fo)
  
          for i in xrange(block_count):
              yield read_data(block_fo, writer_schema, reader_schema)
  
          skip_sync(fo, sync_marker)
docs: Return iterator over avro records.