[FFmpeg-devel] [PATCH v3 07/18] fftools/play, probe: Adjust for subtitle format type change

Soft Works softworkz at hotmail.com
Mon Sep 13 11:07:06 EEST 2021



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Tobias Rapp
> Sent: Monday, 13 September 2021 09:41
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v3 07/18] fftools/play, probe:
> Adjust for subtitle format type change
> 
> On 11.09.2021 08:02, Soft Works wrote:
> > 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);
> >
> 
> In any case the new attribute should be added to the "subtitle"
> element
> type definition in doc/ffprobe.xsd.

Yea, that's the easy side. The question is for what to do about the 
'format' attribute values - whether to keep the numbers compatible
(like the patch currently does), change the meaning of the numbers
being output or add an additional attribute with the "new" numbers.

softworkz


More information about the ffmpeg-devel mailing list