comparison libmpdemux/demux_lavf.c @ 26084:ec5749eb6f5f

Fill sh_sub_t.lang in lavf, mkv and ogg demuxers. Use it for printing subtitle track language.
author eugeni
date Fri, 29 Feb 2008 17:25:39 +0000
parents 19fa7a56ed04
children 12904c37c798
comparison
equal deleted inserted replaced
26083:19fa7a56ed04 26084:ec5749eb6f5f
429 if (codec->extradata_size) { 429 if (codec->extradata_size) {
430 sh_sub->extradata = malloc(codec->extradata_size); 430 sh_sub->extradata = malloc(codec->extradata_size);
431 memcpy(sh_sub->extradata, codec->extradata, codec->extradata_size); 431 memcpy(sh_sub->extradata, codec->extradata, codec->extradata_size);
432 sh_sub->extradata_len = codec->extradata_size; 432 sh_sub->extradata_len = codec->extradata_size;
433 } 433 }
434 if (st->language)
435 sh_sub->lang = strdup(st->language);
434 if (demuxer->sub->id == -1 436 if (demuxer->sub->id == -1
435 || (demuxer->sub->id == -2 && (dvdsub_lang && st->language[0] && !strncmp(dvdsub_lang, st->language, 3))) 437 || (demuxer->sub->id == -2 && (dvdsub_lang && st->language[0] && !strncmp(dvdsub_lang, st->language, 3)))
436 || demuxer->sub->id == priv->sub_streams) { 438 || demuxer->sub->id == priv->sub_streams) {
437 dvdsub_id = priv->sub_streams; 439 dvdsub_id = priv->sub_streams;
438 demuxer->sub->id = priv->sub_streams; 440 demuxer->sub->id = priv->sub_streams;
789 default: 791 default:
790 return DEMUXER_CTRL_NOTIMPL; 792 return DEMUXER_CTRL_NOTIMPL;
791 } 793 }
792 } 794 }
793 795
794 /** \brief Get the language code for a subtitle track.
795
796 Retrieves the language code for a subtitle track.
797
798 \param demuxer The demuxer to work on
799 \param track_num The subtitle track number to get the language from
800 */
801 char *demux_lavf_sub_lang(demuxer_t *demuxer, int track_num)
802 {
803 lavf_priv_t *priv = demuxer->priv;
804 return priv->avfc->streams[priv->sstreams[track_num]]->language;
805 }
806
807 static void demux_close_lavf(demuxer_t *demuxer) 796 static void demux_close_lavf(demuxer_t *demuxer)
808 { 797 {
809 lavf_priv_t* priv = demuxer->priv; 798 lavf_priv_t* priv = demuxer->priv;
810 if (priv){ 799 if (priv){
811 if(priv->avfc) 800 if(priv->avfc)