Also use demux_internal type for the refresh_track in style of other internal functions.
Unified · Split
| @@ -3965,14 +3965,12 @@ static void initiate_refresh_seek(struct demux_internal *in, · 3964 unmodified lines | ||
| 3965 | 3965 | } |
| 3966 | 3966 | |
| 3967 | 3967 | // Called locked. |
| 3968 | −static void refresh_track(struct demuxer *demuxer, struct sh_stream *stream, | |
| 3968 | +static void refresh_track(struct demux_internal *in, struct sh_stream *stream, | |
| 3969 | 3969 | double ref_pts) |
| 3970 | 3970 | { |
| 3971 | − struct demux_internal *in = demuxer->in; | |
| 3972 | 3971 | struct demux_stream *ds = stream->ds; |
| 3973 | 3972 | ref_pts = MP_ADD_PTS(ref_pts, -in->ts_offset); |
| 3974 | 3973 | |
| 3975 | − MP_VERBOSE(in, "refresh track %d\n", stream->index); | |
| 3976 | 3974 | if (in->back_demuxing) |
| 3977 | 3975 | ds->back_seek_pos = ref_pts; |
| 3978 | 3976 | // Allow refresh seek for non-video streams, even if no packets have |
| @@ -3982,8 +3980,11 @@ static void refresh_track(struct demuxer *demuxer, struct sh_stream *stream, · 3 unmodified lines | ||
| 3982 | 3980 | // - If cache is enabled and a seek causes some new data to be cached, the demuxer |
| 3983 | 3981 | // is sought to the end of cache after cache joining. Switching track immediately |
| 3984 | 3982 | // after this also causes the same problem. |
| 3985 | − if (!in->after_seek || ds->type != STREAM_VIDEO) | |
| 3983 | + if (!in->after_seek || ds->type != STREAM_VIDEO) { | |
| 3984 | + MP_VERBOSE(in, "refresh track %d (%s)\n", stream->index, | |
| 3985 | + stream_type_name(ds->type)); | |
| 3986 | 3986 | initiate_refresh_seek(in, ds, ref_pts); |
| 3987 | + } | |
| 3987 | 3988 | } |
| 3988 | 3989 | |
| 3989 | 3990 | // Set whether the given stream should return packets. |
| @@ -4002,7 +4003,7 @@ void demuxer_select_track(struct demuxer *demuxer, struct sh_stream *stream, · 12 unmodified lines | ||
| 4002 | 4003 | update_stream_selection_state(in, ds); |
| 4003 | 4004 | in->tracks_switched = true; |
| 4004 | 4005 | if (ds->selected) |
| 4005 | − refresh_track(demuxer, stream, ref_pts); | |
| 4006 | + refresh_track(in, stream, ref_pts); | |
| 4006 | 4007 | if (in->threading) { |
| 4007 | 4008 | mp_cond_signal(&in->wakeup); |
| 4008 | 4009 | } else { |
| @@ -4022,7 +4023,7 @@ void demuxer_refresh_track(struct demuxer *demuxer, struct sh_stream *stream, · 13 unmodified lines | ||
| 4022 | 4023 | mp_mutex_lock(&in->lock); |
| 4023 | 4024 | if (ds->selected) { |
| 4024 | 4025 | update_stream_selection_state(in, ds); |
| 4025 | − refresh_track(demuxer, stream, ref_pts); | |
| 4026 | + refresh_track(in, stream, ref_pts); | |
| 4026 | 4027 | } |
| 4027 | 4028 | mp_mutex_unlock(&in->lock); |
| 4028 | 4029 | } |