summaryrefslogtreecommitdiff
path: root/libavformat/rmdec.c
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2012-03-17 08:48:57 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2012-03-19 18:46:34 +0100
commitb8560637d93b632bd6b318baea4dc68b79e2ef85 (patch)
tree88dfc2578a3ce88b0600d2d7adeb40e9f7d2f1b6 /libavformat/rmdec.c
parent316e724f18c7299958d7f77c85c7425d43e7e777 (diff)
RealAudio Lossless decoder
Diffstat (limited to 'libavformat/rmdec.c')
-rw-r--r--libavformat/rmdec.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index ae6cd0b482..c85208b3fb 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -310,6 +310,15 @@ ff_rm_read_mdpr_codecdata (AVFormatContext *s, AVIOContext *pb,
/* ra type header */
if (rm_read_audio_stream_info(s, pb, st, rst, 0))
return -1;
+ } else if (v == MKBETAG('L', 'S', 'D', ':')) {
+ avio_seek(pb, -4, SEEK_CUR);
+ if ((ret = rm_read_extradata(pb, st->codec, codec_data_size)) < 0)
+ return ret;
+
+ st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
+ st->codec->codec_tag = AV_RL32(st->codec->extradata);
+ st->codec->codec_id = ff_codec_get_id(ff_rm_codec_tags,
+ st->codec->codec_tag);
} else {
int fps;
if (avio_rl32(pb) != MKTAG('V', 'I', 'D', 'O')) {