# HG changeset patch # User eugeni # Date 1200100485 0 # Node ID 706d6ecf3c7cd6bff18a8d849e0191f7e87fcc8c # Parent 0d0c48ecba906c0348119951cffd634d23d0e46c Add libass support to demux_lavf. diff -r 0d0c48ecba90 -r 706d6ecf3c7c libmpdemux/demux_lavf.c --- a/libmpdemux/demux_lavf.c Sat Jan 12 01:12:39 2008 +0000 +++ b/libmpdemux/demux_lavf.c Sat Jan 12 01:14:45 2008 +0000 @@ -393,16 +393,26 @@ } 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; }