anchor.diff:        (read-page-header reader))
   
       (if (and previous-page-num
  -             (= (- (ogg-page-number reader)
  -                   previous-page-num) 1)
  -             (ogg-is-continued reader))
  +             (or
  +              (/= (- (ogg-page-number reader)
  +                     previous-page-num) 1)
  +              (not (ogg-is-continued reader))))
           (error 'ogg-error :message "Lost sync"))
   
       (let ((packet (make-array (nth position segment-table) :element-type '(ub 8))))
  
positive.code:         (let ((packet (make-array (reduce #'+ (mapcar #'length segments))
                                    :element-type '(ub 8))))
            (loop with start = 0
                  for segment in segments do
                  (setq packet (replace packet segment :start1 start)
                        start (+ start (length segment))))
            packet))))
  
negative.code:       (if (and (= position (length segment-table))
                 (/= (ogg-page-crc reader) (get-crc reader)))
            (error 'ogg-error :message "CRC mismatch"))
        (if (and (ogg-will-be-continued reader)
                 (= position (length segment-table)))
            (read-packet-pages reader
                               (ogg-page-number reader)
                               (cons packet pages))
            (cons packet pages)))))
  
  (defun read-packet (reader)
    "Reads a packet from OGG stream"
  