On 11.09.2021 08:02, Soft Works wrote:
Signed-off-by: softworkz <softwo...@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);


In any case the new attribute should be added to the "subtitle" element type definition in doc/ffprobe.xsd.

Regards,
Tobias

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to