[FFmpeg-devel] [PATCH] Revert "avutil/timecode: fix sscanf format string with garbage at the end"
lance.lmwang at gmail.com
lance.lmwang at gmail.com
Sun Jan 17 13:27:43 EET 2021
On Sun, Jan 17, 2021 at 03:30:15AM +0100, Marton Balint wrote:
>
> On Sun, 17 Jan 2021, lance.lmwang at gmail.com wrote:
>
> > On Sat, Jan 16, 2021 at 09:49:42AM +0100, Marton Balint wrote:
> > > This reverts commit 6696a07ac62bfec49dd488510a719367918b9f7a.
> > >
> > > It is wrong to restrict timecodes to always contain leading zeros or for hours
> > > or frames to be 2 chars only.
> > Sorry, I think I was misunderstood by the following syntax description:
> > syntax: hh:mm:ss[:;.]ff
> >
> > maybe it's better to change it to hour:minute:second[:;.]frame?
>
> That would better reflect on what the code did before the patch.
>
> >
> > After revisiting the code, I think we may support more valid syntax for the timecode
> > string:
> > ss
> > ss[:;.]ff
> > mm:ss
> > mm:ss[:;.]ff
> > hh:mm:ss
> > hh:mm:ss[:;.]ff
>
> I don't like this idea much, it is good if we are strict about the timecode
> format (e.g request all components to be present and no garbage after the
> parsed string), the main reasons I suggested the revert are because timecode
> has to support > 100 fps and >= 100 hours because our timecode API also has
> support for such timecodes.
Sure, please revert it anyway.
>
> Regards,
> Marton
>
> >
> >
> > >
> > > Signed-off-by: Marton Balint <cus at passwd.hu>
> > > ---
> > > libavutil/timecode.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/libavutil/timecode.c b/libavutil/timecode.c
> > > index 5106f642b9..c1fa445d31 100644
> > > --- a/libavutil/timecode.c
> > > +++ b/libavutil/timecode.c
> > > @@ -252,7 +252,7 @@ int av_timecode_init_from_string(AVTimecode *tc, AVRational rate, const char *st
> > > char c;
> > > int hh, mm, ss, ff, flags;
> > >
> > > - if (sscanf(str, "%02u:%02u:%02u%c%02u", &hh, &mm, &ss, &c, &ff) != 5) {
> > > + if (sscanf(str, "%d:%d:%d%c%d", &hh, &mm, &ss, &c, &ff) != 5) {
> > > av_log(log_ctx, AV_LOG_ERROR, "Unable to parse timecode, "
> > > "syntax: hh:mm:ss[:;.]ff\n");
> > > return AVERROR_INVALIDDATA;
> > > --
> > > 2.26.2
> > >
> > > _______________________________________________
> > > ffmpeg-devel mailing list
> > > ffmpeg-devel at ffmpeg.org
> > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >
> > > To unsubscribe, visit link above, or email
> > > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> >
> > --
> > Thanks,
> > Limin Wang
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
--
Thanks,
Limin Wang
More information about the ffmpeg-devel
mailing list