-
Notifications
You must be signed in to change notification settings - Fork 477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aac2mp4 / Ap4AdtsParser.FindFrame lost the latest frame. #31
Comments
Hi Alex, thanks for the bug report. On Thu, Oct 8, 2015 at 7:30 AM, Alex Buisson notifications@github.com
|
Cool, thank for your help ! |
Hi,
I use a simple AAC file of 1085 frames, if I use FFMPEG to Mux that track into a MP4 file and extract again the AAC with ffmpeg, I retrieve an AAC file of 1085 frame (same as the input).
But with the Bento4 App
aac2mp4
I get only 1084 frames.After some investigation I found that in
AP4_AdtsParser::FindFrame
at the end we run that test:In my case
adts_header.m_FrameLength
is equal to 'available'. The frame is really small (14 bytes) but as them_Bits.m_Flags
is always 0 (0 & 1 == 0 TRUE) the current implementation returnAP4_ERROR_NOT_ENOUGH_DATA
I don't see all the implications of a change where in the
if
statement||
become&&
or where(m_Bits.m_Flags & AP4_BITSTREAM_FLAG_EOS) == 0
become(m_Bits.m_Flags & AP4_BITSTREAM_FLAG_EOS) == 1
but at least I can say that by just changing that if statement I'm able to use aac2mp4 without losing a frame :)
The text was updated successfully, but these errors were encountered: