mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
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.
This commit is contained in:
parent
01897c1788
commit
a45b9d35b9
@ -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];
|
||||
|
@ -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, ...);
|
||||
|
||||
/**
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user