Commit c8b27a0e authored by David Goldwich's avatar David Goldwich Committed by Anton Khirnov

oma: PCM support

Signed-off-by: 's avatarDavid Goldwich <david.goldwich@gmail.com>
Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent 8ae5eb75
...@@ -104,6 +104,7 @@ easier to use. The changes are: ...@@ -104,6 +104,7 @@ easier to use. The changes are:
- OS X Video Decoder Acceleration (VDA) support - OS X Video Decoder Acceleration (VDA) support
- CRI ADX audio format demuxer - CRI ADX audio format demuxer
- Playstation Portable PMP format demuxer - Playstation Portable PMP format demuxer
- PCM format support in OMA demuxer
version 0.7: version 0.7:
......
...@@ -61,9 +61,10 @@ enum { ...@@ -61,9 +61,10 @@ enum {
}; };
static const AVCodecTag codec_oma_tags[] = { static const AVCodecTag codec_oma_tags[] = {
{ CODEC_ID_ATRAC3, OMA_CODECID_ATRAC3 }, { CODEC_ID_ATRAC3, OMA_CODECID_ATRAC3 },
{ CODEC_ID_ATRAC3P, OMA_CODECID_ATRAC3P }, { CODEC_ID_ATRAC3P, OMA_CODECID_ATRAC3P },
{ CODEC_ID_MP3, OMA_CODECID_MP3 }, { CODEC_ID_MP3, OMA_CODECID_MP3 },
{ CODEC_ID_PCM_S16BE, OMA_CODECID_LPCM },
}; };
static const uint64_t leaf_table[] = { static const uint64_t leaf_table[] = {
...@@ -358,6 +359,16 @@ static int oma_read_header(AVFormatContext *s, ...@@ -358,6 +359,16 @@ static int oma_read_header(AVFormatContext *s,
st->need_parsing = AVSTREAM_PARSE_FULL; st->need_parsing = AVSTREAM_PARSE_FULL;
framesize = 1024; framesize = 1024;
break; break;
case OMA_CODECID_LPCM:
/* PCM 44.1 kHz 16 bit stereo big-endian */
st->codec->channels = 2;
st->codec->sample_rate = 44100;
framesize = 1024;
/* bit rate = sample rate x PCM block align (= 4) x 8 */
st->codec->bit_rate = st->codec->sample_rate * 32;
st->codec->bits_per_coded_sample = av_get_bits_per_sample(st->codec->codec_id);
avpriv_set_pts_info(st, 64, 1, st->codec->sample_rate);
break;
default: default:
av_log(s, AV_LOG_ERROR, "Unsupported codec %d!\n",buf[32]); av_log(s, AV_LOG_ERROR, "Unsupported codec %d!\n",buf[32]);
return -1; return -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment