- Document when read, seek, tell callbacks are used. - Add an automated testsuite. - Test (and fix, if necessary) support for unknown sizes. - Test (and fix, if necessary) support for large files. - Read past unknown elements rather than seeking. - Try to handle unknown elements with unknown sizes. - Formalize handling of default element values. - Try to resynchronize stream when read_block fails so that failure to parse a single block can be treated as non-fatal. - Make logging more useful to API users. - Avoid reparsing Cues and ignore any SeekHead at end of file. - Optionally build a Cue index as Clusters are parsed. - Support seeking without Cues. - Avoid building a list of Clusters as they are parsed and retain only the last one parsed. - Add an asynchronous error code to struct nestegg and ensure that API calls continue to fail safely one a fatal error has been returned. - Modify parser/data structures to provide a clean separation. Perhaps the parser should return a generic tree of nodes that a second pass uses to initialize the main data structures. - Use pool allocator for all allocations.