func (r *Reader) sendCluster(elmts *ebml.Element, tbase time.Duration) { var err error for err == nil && len(r.seek) == 0 { var e *ebml.Element e, err = elmts.Next() var blk []byte if err == nil { switch e.Id { case 0xa3: if err == nil { blk, err = e.ReadData() } if err != nil && err != io.EOF { log.Println(err) } case 0xa0: var bg BlockGroup err = e.Unmarshal(&bg) if err == nil { blk = bg.Block } if err != nil && err != io.EOF { log.Println(err) } default: log.Printf("Unexpected packet %x", e.Id) } if err == nil && blk != nil && len(blk) > 4 { r.sendBlock(blk, tbase) } } } }