diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index 97b6698a..916b2077 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -720,7 +720,7 @@ int FFStream::seek(int64_t no, double rate)
 	AVRational time_base = st->time_base;
 	int64_t tstmp = time_base.num > 0 ? secs * time_base.den/time_base.num : 0;
 	if( !tstmp ) {
-		if( st->nb_index_entries > 0 ) tstmp = st->index_entries[0].timestamp;
+		if( st->internal->nb_index_entries > 0 ) tstmp = st->internal->index_entries[0].timestamp;
 		else if( st->start_time != AV_NOPTS_VALUE ) tstmp = st->start_time;
 		else if( st->first_dts != AV_NOPTS_VALUE ) tstmp = st->first_dts;
 		else tstmp = INT64_MIN+1;
@@ -3943,10 +3943,10 @@ void FFStream::load_markers(IndexMarks &marks, double rate)
 	int in = 0;
 	int64_t sz = marks.size();
 	int max_entries = fmt_ctx->max_index_size / sizeof(AVIndexEntry) - 1;
-	int nb_ent = st->nb_index_entries;
+	int nb_ent = st->internal->nb_index_entries;
 // some formats already have an index
 	if( nb_ent > 0 ) {
-		AVIndexEntry *ep = &st->index_entries[nb_ent-1];
+		AVIndexEntry *ep = &st->internal->index_entries[nb_ent-1];
 		int64_t tstmp = ep->timestamp;
 		if( nudge != AV_NOPTS_VALUE ) tstmp -= nudge;
 		double secs = ffmpeg->to_secs(tstmp, st->time_base);
diff --git a/cinelerra-5.1/cinelerra/ffmpeg.h b/cinelerra-5.1/cinelerra/ffmpeg.h
index 2e1f201f..46749802 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.h
+++ b/cinelerra-5.1/cinelerra/ffmpeg.h
@@ -26,6 +26,7 @@
 
 extern "C" {
 #include "libavformat/avformat.h"
+#include "libavformat/internal.h"
 #include "libavformat/avio.h"
 #include "libavcodec/avcodec.h"
 #include "libavfilter/avfilter.h"
