Remove the spurious EOF test from parseFrames(). #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I bumped in a bug where you read the
APIC
type from thebr
reader and return the final error which happens to be anEOF
.You correctly ignore the
EOF
just after the call to theAPIC
function, however, later on you would check that error again and ifEOF
you would return early on. The result being that you miss all the data after theAPIC
frame. I have a test which generates random ID3 tags to make sure my application works as expected and I bumped in thisEOF
problem because of this bug. The 10 frames after theAPIC
that I have in that file would be ignored by your reader.The
EOF
test you have at the beginning of the loop are enough to make sure you exit onEOF
. And the loop should otherwise be exited only once you read the number of bytes available in the ID3 and that's done very well with thefor framesSize > 0 {
line.