[FFmpeg-devel] [PATCH v3 07/18] fftools/play, probe: Adjust for subtitle format type change
Soft Works
softworkz at hotmail.com
Sat Sep 11 09:02:50 EEST 2021
Signed-off-by: softworkz <softworkz at hotmail.com>
---
fftools/ffplay.c | 2 +-
fftools/ffprobe.c | 23 ++++++++++++++++++++++-
2 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index 46758b9f55..f6a4d242c3 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -2250,7 +2250,7 @@ static int subtitle_thread(void *arg)
pts = 0;
- if (got_subtitle && sp->sub.format == 0) {
+ if (got_subtitle && sp->sub.format == AV_SUBTITLE_FMT_BITMAP) {
if (sp->sub.pts != AV_NOPTS_VALUE)
pts = sp->sub.pts / (double)AV_TIME_BASE;
sp->pts = pts;
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index acfec09656..fb55f3b292 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2212,6 +2212,7 @@ static void show_subtitle(WriterContext *w, AVSubtitle *sub, AVStream *stream,
AVFormatContext *fmt_ctx)
{
AVBPrint pbuf;
+ const char *s;
av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
@@ -2220,7 +2221,27 @@ static void show_subtitle(WriterContext *w, AVSubtitle *sub, AVStream *stream,
print_str ("media_type", "subtitle");
print_ts ("pts", sub->pts);
print_time("pts_time", sub->pts, &AV_TIME_BASE_Q);
- print_int ("format", sub->format);
+
+ // Remain compatible with previous outputs?
+ switch (sub->format) {
+ case AV_SUBTITLE_FMT_BITMAP:
+ print_int ("format", 0);
+ break;
+ case AV_SUBTITLE_FMT_TEXT:
+ print_int ("format", 1);
+ break;
+ case AV_SUBTITLE_FMT_ASS:
+ print_int ("format", 1);
+ break;
+ default:
+ print_int ("format", -1);
+ break;
+ }
+
+ s = av_get_subtitle_fmt_name(sub->format);
+ if (s) print_str ("format_str", s);
+ else print_str_opt("format_str", "unknown");
+
print_int ("start_display_time", sub->start_display_time);
print_int ("end_display_time", sub->end_display_time);
print_int ("num_rects", sub->num_rects);
--
2.30.2.windows.1
More information about the ffmpeg-devel
mailing list