mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-01 18:21:04 +00:00
Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master: Autodetect idcin only if audio properties allow decoding. Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
37baeccef4
@ -93,7 +93,7 @@ typedef struct IdcinDemuxContext {
|
|||||||
|
|
||||||
static int idcin_probe(AVProbeData *p)
|
static int idcin_probe(AVProbeData *p)
|
||||||
{
|
{
|
||||||
unsigned int number;
|
unsigned int number, sample_rate;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is what you could call a "probabilistic" file check: id CIN
|
* This is what you could call a "probabilistic" file check: id CIN
|
||||||
@ -122,18 +122,18 @@ static int idcin_probe(AVProbeData *p)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* check the audio sample rate */
|
/* check the audio sample rate */
|
||||||
number = AV_RL32(&p->buf[8]);
|
sample_rate = AV_RL32(&p->buf[8]);
|
||||||
if ((number != 0) && ((number < 8000) | (number > 48000)))
|
if (sample_rate && (sample_rate < 8000 || sample_rate > 48000))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* check the audio bytes/sample */
|
/* check the audio bytes/sample */
|
||||||
number = AV_RL32(&p->buf[12]);
|
number = AV_RL32(&p->buf[12]);
|
||||||
if (number > 2)
|
if (number > 2 || sample_rate && !number)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* check the audio channels */
|
/* check the audio channels */
|
||||||
number = AV_RL32(&p->buf[16]);
|
number = AV_RL32(&p->buf[16]);
|
||||||
if (number > 2)
|
if (number > 2 || sample_rate && !number)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* return half certainty since this check is a bit sketchy */
|
/* return half certainty since this check is a bit sketchy */
|
||||||
|
Loading…
Reference in New Issue
Block a user