Hi @barbibulle again so soon!

I found a regression introduced by this recent commit (at least I think so)

This audio won't play correctly ([audio.zip](https://github.com/axiomatic-systems/Bento4/files/9692318/audio.zip)), it fails on the second iteration of the loop containing/at this line here: https://github.com/axiomatic-systems/Bento4/blob/6ab668d60a897291644b7e184b1b8a47204cec9e/Source/C%2B%2B/Core/Ap4LinearReader.cpp#L350



Anyway with a little trial and error I think the problem is the new early exit here:
https://github.com/axiomatic-systems/Bento4/blob/6ab668d60a897291644b7e184b1b8a47204cec9e/Source/C%2B%2B/Core/Ap4TrunAtom.cpp#L145-L152

If I rearrange to move the `SetItemCount` before the return to look like this:
```
m_Entries.SetItemCount(sample_count);
int record_fields_count = (int)ComputeRecordFieldsCount(flags);
if (record_fields_count == 0) {
    return;
}
if (bytes_left / (record_fields_count*4) < sample_count) {
    return;
}
```

Then all is good and playback is restored.

Not sure if this line should move all the way up before any of the introduced return statements?
Thoughts?
'Stricter Parsing' commit causing issue in playback
This is a GitHub Issue
repo:Bento4
owner:axiomatic-systems
Title : 'Stricter Parsing' commit causing issue in playback
Issue date:

--- start body ---
Hi @barbibulle again so soon!

I found a regression introduced by this recent commit (at least I think so)

This audio won't play correctly ([audio.zip](https://github.com/axiomatic-systems/Bento4/files/9692318/audio.zip)), it fails on the second iteration of the loop containing/at this line here: https://github.com/axiomatic-systems/Bento4/blob/6ab668d60a897291644b7e184b1b8a47204cec9e/Source/C%2B%2B/Core/Ap4LinearReader.cpp#L350



Anyway with a little trial and error I think the problem is the new early exit here:
https://github.com/axiomatic-systems/Bento4/blob/6ab668d60a897291644b7e184b1b8a47204cec9e/Source/C%2B%2B/Core/Ap4TrunAtom.cpp#L145-L152

If I rearrange to move the `SetItemCount` before the return to look like this:
```
m_Entries.SetItemCount(sample_count);
int record_fields_count = (int)ComputeRecordFieldsCount(flags);
if (record_fields_count == 0) {
    return;
}
if (bytes_left / (record_fields_count*4) < sample_count) {
    return;
}
```

Then all is good and playback is restored.

Not sure if this line should move all the way up before any of the introduced return statements?
Thoughts?
--- end body ---
