diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-12 01:14:45 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-12 01:14:45 +0000 |
commit | 46c4f6ae9fa020db770a5e96ffd7c1e946aae625 (patch) | |
tree | 502d2834d64c4630226b8cb9783d98d58f2a0d48 /libmpdemux | |
parent | 55b1facb6c67a30bf26563138ab5101713a04cb6 (diff) | |
download | mpv-46c4f6ae9fa020db770a5e96ffd7c1e946aae625.tar.bz2 mpv-46c4f6ae9fa020db770a5e96ffd7c1e946aae625.tar.xz |
Add libass support to demux_lavf.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25687 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_lavf.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 894b951e34..05b1f146a5 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -393,16 +393,26 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) { } case CODEC_TYPE_SUBTITLE:{ sh_sub_t* sh_sub; + char type; if(priv->sub_streams >= MAX_S_STREAMS) break; /* only support text subtitles for now */ - if(codec->codec_id != CODEC_ID_TEXT) + if(codec->codec_id == CODEC_ID_TEXT) + type = 't'; + else if(codec->codec_id == CODEC_ID_SSA) + type = 'a'; + else break; sh_sub = new_sh_sub_sid(demuxer, i, priv->sub_streams); mp_msg(MSGT_DEMUX, MSGL_INFO, MSGTR_SubtitleID, "lavf", priv->sub_streams); if(!sh_sub) break; priv->sstreams[priv->sub_streams] = i; - sh_sub->type = 't'; + sh_sub->type = type; + if (codec->extradata_size) { + sh_sub->extradata = malloc(codec->extradata_size); + memcpy(sh_sub->extradata, codec->extradata, codec->extradata_size); + sh_sub->extradata_len = codec->extradata_size; + } demuxer->sub->sh = demuxer->s_streams[priv->sub_streams++]; break; } |