aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-06-14 16:09:25 +0200
committerAnton Khirnov <anton@khirnov.net>2023-06-19 09:48:55 +0200
commita45b9d35b9852fd2c5ecdc5b43f48c82e6afddc7 (patch)
tree275c8c31d6e9ad332f1c22f258c4f065fee69e52
parent01897c1788b887e42a69072fc6516a73521bdcd6 (diff)
downloadffmpeg-a45b9d35b9852fd2c5ecdc5b43f48c82e6afddc7.tar.gz
fftools/ffmpeg: move fix_sub_duration_heartbeat() to ffmpeg_dec
This way ffmpeg.c does not need to access InputStream.prev_sub and it can be made private.
-rw-r--r--fftools/ffmpeg.c18
-rw-r--r--fftools/ffmpeg.h2
-rw-r--r--fftools/ffmpeg_dec.c20
3 files changed, 20 insertions, 20 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 4e6205e3cb..435e12a37b 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -768,24 +768,6 @@ int subtitle_wrap_frame(AVFrame *frame, AVSubtitle *subtitle, int copy)
return 0;
}
-static int fix_sub_duration_heartbeat(InputStream *ist, int64_t signal_pts)
-{
- int ret = AVERROR_BUG;
- AVSubtitle *prev_subtitle = &ist->prev_sub.subtitle;
- AVSubtitle subtitle;
-
- if (!ist->fix_sub_duration || !prev_subtitle->num_rects ||
- signal_pts <= prev_subtitle->pts)
- return 0;
-
- if ((ret = copy_av_subtitle(&subtitle, prev_subtitle)) < 0)
- return ret;
-
- subtitle.pts = signal_pts;
-
- return process_subtitle(ist, &subtitle);
-}
-
int trigger_fix_sub_duration_heartbeat(OutputStream *ost, const AVPacket *pkt)
{
OutputFile *of = output_files[ost->file_index];
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index 5d60da085b..b4b55f5a73 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -879,7 +879,7 @@ OutputStream *ost_iter(OutputStream *prev);
void close_output_stream(OutputStream *ost);
int trigger_fix_sub_duration_heartbeat(OutputStream *ost, const AVPacket *pkt);
-int process_subtitle(InputStream *ist, AVSubtitle *subtitle);
+int fix_sub_duration_heartbeat(InputStream *ist, int64_t signal_pts);
void update_benchmark(const char *fmt, ...);
/**
diff --git a/fftools/ffmpeg_dec.c b/fftools/ffmpeg_dec.c
index d2505345b5..a425b701d4 100644
--- a/fftools/ffmpeg_dec.c
+++ b/fftools/ffmpeg_dec.c
@@ -376,7 +376,7 @@ static void sub2video_flush(InputStream *ist)
}
}
-int process_subtitle(InputStream *ist, AVSubtitle *subtitle)
+static int process_subtitle(InputStream *ist, AVSubtitle *subtitle)
{
int got_output = 1;
int ret = 0;
@@ -428,6 +428,24 @@ out:
return ret;
}
+int fix_sub_duration_heartbeat(InputStream *ist, int64_t signal_pts)
+{
+ int ret = AVERROR_BUG;
+ AVSubtitle *prev_subtitle = &ist->prev_sub.subtitle;
+ AVSubtitle subtitle;
+
+ if (!ist->fix_sub_duration || !prev_subtitle->num_rects ||
+ signal_pts <= prev_subtitle->pts)
+ return 0;
+
+ if ((ret = copy_av_subtitle(&subtitle, prev_subtitle)) < 0)
+ return ret;
+
+ subtitle.pts = signal_pts;
+
+ return process_subtitle(ist, &subtitle);
+}
+
static int transcode_subtitles(InputStream *ist, const AVPacket *pkt,
AVFrame *frame)
{