mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-23 23:21:06 +01:00
nutenc/write_index: warn if 2 consecutive keyframes have the same PTS and discard the 2nd
This fixes an assertion failure and regression and restores previous behaviour Fixes Ticket3197 An alternative would be to fail hard in this case and refuse to mux such data. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
64b98df389
commit
de2a2caf4d
1 changed files with 8 additions and 1 deletions
|
|
@ -586,8 +586,15 @@ static int write_index(NUTContext *nut, AVIOContext *bc) {
|
|||
int64_t last_pts= -1;
|
||||
int j, k;
|
||||
for (j=0; j<nut->sp_count; j++) {
|
||||
int flag = (nus->keyframe_pts[j] != AV_NOPTS_VALUE) ^ (j+1 == nut->sp_count);
|
||||
int flag;
|
||||
int n = 0;
|
||||
|
||||
if (j && nus->keyframe_pts[j] == nus->keyframe_pts[j-1]) {
|
||||
av_log(nut->avf, AV_LOG_WARNING, "Multiple keyframes with same PTS\n");
|
||||
nus->keyframe_pts[j] = AV_NOPTS_VALUE;
|
||||
}
|
||||
|
||||
flag = (nus->keyframe_pts[j] != AV_NOPTS_VALUE) ^ (j+1 == nut->sp_count);
|
||||
for (; j<nut->sp_count && (nus->keyframe_pts[j] != AV_NOPTS_VALUE) == flag; j++)
|
||||
n++;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue