mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-09-19 21:06:42 +00: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>
(cherry picked from commit de2a2caf4d
)
This commit is contained in:
parent
94c3f8165c
commit
b432043d55
@ -584,8 +584,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…
Reference in New Issue
Block a user