Browse Source

Autodetect Asterisk raw pcm with extension "sln".

tags/n2.3
Carl Eugen Hoyos 11 years ago
parent
commit
eff913c972
2 changed files with 27 additions and 0 deletions
  1. +1
    -0
      libavformat/allformats.c
  2. +26
    -0
      libavformat/pcmdec.c

+ 1
- 0
libavformat/allformats.c View File

@@ -265,6 +265,7 @@ void av_register_all(void)
REGISTER_MUXER (SEGMENT, stream_segment); REGISTER_MUXER (SEGMENT, stream_segment);
REGISTER_DEMUXER (SHORTEN, shorten); REGISTER_DEMUXER (SHORTEN, shorten);
REGISTER_DEMUXER (SIFF, siff); REGISTER_DEMUXER (SIFF, siff);
REGISTER_DEMUXER (SLN, sln);
REGISTER_DEMUXER (SMACKER, smacker); REGISTER_DEMUXER (SMACKER, smacker);
REGISTER_MUXDEMUX(SMJPEG, smjpeg); REGISTER_MUXDEMUX(SMJPEG, smjpeg);
REGISTER_MUXER (SMOOTHSTREAMING, smoothstreaming); REGISTER_MUXER (SMOOTHSTREAMING, smoothstreaming);


+ 26
- 0
libavformat/pcmdec.c View File

@@ -144,3 +144,29 @@ PCMDEF(alaw, "PCM A-law",


PCMDEF(mulaw, "PCM mu-law", PCMDEF(mulaw, "PCM mu-law",
"ul", AV_CODEC_ID_PCM_MULAW) "ul", AV_CODEC_ID_PCM_MULAW)

static const AVOption sln_options[] = {
{ "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};

static const AVClass sln_demuxer_class = {
.class_name = "sln demuxer",
.item_name = av_default_item_name,
.option = sln_options,
.version = LIBAVUTIL_VERSION_INT,
};

AVInputFormat ff_sln_demuxer = {
.name = "sln",
.long_name = NULL_IF_CONFIG_SMALL("Asterisk raw pcm"),
.priv_data_size = sizeof(PCMAudioDemuxerContext),
.read_header = pcm_read_header,
.read_packet = ff_pcm_read_packet,
.read_seek = ff_pcm_read_seek,
.flags = AVFMT_GENERIC_INDEX,
.extensions = "sln",
.raw_codec_id = AV_CODEC_ID_PCM_S16LE,
.priv_class = &sln_demuxer_class,
};

Loading…
Cancel
Save