mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat: support shorten in nistshpere demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
b7a776aa7b
commit
0c9490609d
@ -387,6 +387,9 @@ static int read_header(ShortenContext *s)
|
|||||||
if (s->version > 1)
|
if (s->version > 1)
|
||||||
s->lpcqoffset = V2LPCQOFFSET;
|
s->lpcqoffset = V2LPCQOFFSET;
|
||||||
|
|
||||||
|
if (s->avctx->extradata_size > 0)
|
||||||
|
goto end;
|
||||||
|
|
||||||
if (get_ur_golomb_shorten(&s->gb, FNSIZE) != FN_VERBATIM) {
|
if (get_ur_golomb_shorten(&s->gb, FNSIZE) != FN_VERBATIM) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR,
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
"missing verbatim section at beginning of stream\n");
|
"missing verbatim section at beginning of stream\n");
|
||||||
@ -407,6 +410,7 @@ static int read_header(ShortenContext *s)
|
|||||||
if ((ret = decode_wave_header(s->avctx, s->header, s->header_size)) < 0)
|
if ((ret = decode_wave_header(s->avctx, s->header, s->header_size)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
end:
|
||||||
s->cur_chan = 0;
|
s->cur_chan = 0;
|
||||||
s->bitshift = 0;
|
s->bitshift = 0;
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ static int nist_probe(AVProbeData *p)
|
|||||||
|
|
||||||
static int nist_read_header(AVFormatContext *s)
|
static int nist_read_header(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
char buffer[32], coding[32] = "pcm", format[32] = "01";
|
char buffer[256], coding[32] = "pcm", format[32] = "01";
|
||||||
int bps = 0, be = 0;
|
int bps = 0, be = 0;
|
||||||
int32_t header_size = -1;
|
int32_t header_size = -1;
|
||||||
AVStream *st;
|
AVStream *st;
|
||||||
@ -69,6 +69,10 @@ static int nist_read_header(AVFormatContext *s)
|
|||||||
} else if (!av_strcasecmp(coding, "ulaw") ||
|
} else if (!av_strcasecmp(coding, "ulaw") ||
|
||||||
!av_strcasecmp(coding, "mu-law")) {
|
!av_strcasecmp(coding, "mu-law")) {
|
||||||
st->codec->codec_id = AV_CODEC_ID_PCM_MULAW;
|
st->codec->codec_id = AV_CODEC_ID_PCM_MULAW;
|
||||||
|
} else if (!av_strncasecmp(coding, "pcm,embedded-shorten", 20)) {
|
||||||
|
st->codec->codec_id = AV_CODEC_ID_SHORTEN;
|
||||||
|
if (ff_alloc_extradata(st->codec, 1))
|
||||||
|
st->codec->extradata[0] = 1;
|
||||||
} else {
|
} else {
|
||||||
avpriv_request_sample(s, "coding %s", coding);
|
avpriv_request_sample(s, "coding %s", coding);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user