lavf/bit: Fix the G.729 bit auto-detection.
This commit is contained in:
parent
67057aaeb2
commit
e9f9175db6
@ -32,20 +32,23 @@
|
|||||||
#if CONFIG_BIT_DEMUXER
|
#if CONFIG_BIT_DEMUXER
|
||||||
static int probe(AVProbeData *p)
|
static int probe(AVProbeData *p)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i = 0, j, valid = 0;
|
||||||
|
|
||||||
if(p->buf_size < 0x40)
|
while (2 * i + 3 < p->buf_size){
|
||||||
return 0;
|
if (AV_RL16(&p->buf[2 * i++]) != SYNC_WORD)
|
||||||
|
|
||||||
for(i=0; i+3<p->buf_size && i< 10*0x50; ){
|
|
||||||
if(AV_RL16(&p->buf[0]) != SYNC_WORD)
|
|
||||||
return 0;
|
return 0;
|
||||||
j=AV_RL16(&p->buf[2]);
|
j = AV_RL16(&p->buf[2 * i++]);
|
||||||
if(j!=0x40 && j!=0x50)
|
if (j != 0 && j != 0x10 && j != 0x40 && j != 0x50 && j != 0x76)
|
||||||
return 0;
|
return 0;
|
||||||
i+=j;
|
if (j)
|
||||||
|
valid++;
|
||||||
|
i += j;
|
||||||
}
|
}
|
||||||
return AVPROBE_SCORE_EXTENSION;
|
if (valid > 10)
|
||||||
|
return AVPROBE_SCORE_MAX;
|
||||||
|
if (valid > 2)
|
||||||
|
return AVPROBE_SCORE_EXTENSION - 1;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int read_header(AVFormatContext *s)
|
static int read_header(AVFormatContext *s)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user