On Fri, Sep 29, 2017 at 07:23:17PM +0200, Carl Eugen Hoyos wrote: > Hi! > > The G.729 bit auto-detection has never worked, patch attached. > > Please comment, Carl Eugen
> bit.c | 23 +++++++++++++---------- > 1 file changed, 13 insertions(+), 10 deletions(-) > 1eaabbb2e56d350949d0c8c439a2ba49513069f2 > 0001-lavf-bit-Fix-the-G.729-bit-probe-function.patch > From 2521a9bd86d807a3e18fe930b35039beb7674b3e Mon Sep 17 00:00:00 2001 > From: Carl Eugen Hoyos <ceffm...@gmail.com> > Date: Fri, 29 Sep 2017 19:10:46 +0200 > Subject: [PATCH] lavf/bit: Fix the G.729 bit auto-detection. > > --- > libavformat/bit.c | 23 +++++++++++++---------- > 1 file changed, 13 insertions(+), 10 deletions(-) > > diff --git a/libavformat/bit.c b/libavformat/bit.c > index d742a5b..f90e4a7 100644 > --- a/libavformat/bit.c > +++ b/libavformat/bit.c > @@ -32,20 +32,23 @@ > #if CONFIG_BIT_DEMUXER > static int probe(AVProbeData *p) > { > - int i, j; > + int i = 0, j, valid = 0; > > - if(p->buf_size < 0x40) > - return 0; > - > - for(i=0; i+3<p->buf_size && i< 10*0x50; ){ > - if(AV_RL16(&p->buf[0]) != SYNC_WORD) > + while (2 * i + 3 < p->buf_size){ > + if (AV_RL16(&p->buf[2 * i++]) != SYNC_WORD) > return 0; > - j=AV_RL16(&p->buf[2]); > - if(j!=0x40 && j!=0x50) > + j = AV_RL16(&p->buf[2 * i++]); > + if (j != 0 && j != 0x10 && j != 0x40 && j != 0x50) > return 0; > - i+=j; > + if (j) > + valid++; > + i += j; > } > - return AVPROBE_SCORE_EXTENSION; > + if (valid > 10) > + return AVPROBE_SCORE_MAX; this looks like a g729 stream encapsulated i another container could return AVPROBE_SCORE_MAX. This may be sub optimal no more comments from me thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel