mirror of https://git.ffmpeg.org/ffmpeg.git
lavf/mxfdec: fix seeking before the first keyframe
Regression since 53f2ef2c4a
.
Fixes ticket #5017.
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
dd1d9b80c9
commit
97795ba6c3
|
@ -3193,6 +3193,16 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti
|
|||
sample_time = FFMAX(sample_time, 0);
|
||||
|
||||
if (t->fake_index) {
|
||||
/* The first frames may not be keyframes in presentation order, so
|
||||
* we have to advance the target to be able to find the first
|
||||
* keyframe backwards... */
|
||||
if (!(flags & AVSEEK_FLAG_ANY) &&
|
||||
(flags & AVSEEK_FLAG_BACKWARD) &&
|
||||
t->ptses[0] != AV_NOPTS_VALUE &&
|
||||
sample_time < t->ptses[0] &&
|
||||
(t->fake_index[t->ptses[0]].flags & AVINDEX_KEYFRAME))
|
||||
sample_time = t->ptses[0];
|
||||
|
||||
/* behave as if we have a proper index */
|
||||
if ((sample_time = ff_index_search_timestamp(t->fake_index, t->nb_ptses, sample_time, flags)) < 0)
|
||||
return sample_time;
|
||||
|
|
Loading…
Reference in New Issue