maybe builder
leveraging userstate to avoid backtracking in mp4 parser test