public static SpeexPacket create(OggPacket packet) {
       // Special header types detection
       if(isSpeexSpecial(packet)) {
           return new SpeexInfo(packet);
       }
       if (packet.getSequenceNumber() == 1 && packet.getGranulePosition() == 0) {
           return new SpeexTags(packet);
       }

       return new SpeexAudioData(packet);
   }