[FFmpeg-cvslog] avcodec/aac_ac3_parser: account for data already in the parsing buffer

Hendrik Leppkes git at videolan.org
Sun Apr 15 11:31:14 EEST 2018


ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Thu Apr  5 17:09:35 2018 +0200| [8df8a9299364016027825a67534b93cd2b6af473] | committer: Hendrik Leppkes

avcodec/aac_ac3_parser: account for data already in the parsing buffer

If a frame starts very close to a packet boundary, the start code may
already have been added to the parsing buffer, indicated by a small
negative value of "i", while the header is still being tracked in the
"state" variable.

Reduce the remaining size accordingly, otherwise trying to find the next
frame could skip over the frame header and lump two frames together as
one.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8df8a9299364016027825a67534b93cd2b6af473
---

 libavcodec/aac_ac3_parser.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index 019074b0dd..54e459844f 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -60,6 +60,9 @@ get_next:
                     s->remaining_size += i;
                     goto get_next;
                 }
+                else if (i < 0) {
+                    s->remaining_size += i;
+                }
             }
         }
     }



More information about the ffmpeg-cvslog mailing list