diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-10-29 19:23:17 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-11-02 04:14:44 +0200 |
commit | 7d17b5e2543f3c8c7c35d780bcfeefd165ee082b (patch) | |
tree | fff50530e30c5f748f61a81305a1b1c8f746aaea /libmpdemux | |
parent | 5b14a1b44fbd8904c56c70369655a23e948aaa7a (diff) | |
download | mpv-7d17b5e2543f3c8c7c35d780bcfeefd165ee082b.tar.bz2 mpv-7d17b5e2543f3c8c7c35d780bcfeefd165ee082b.tar.xz |
demuxer.c: add new_sh_sub_sid_lang
Allocates a new sh_sub and specifies language at the same time. I
don't think this is a particularly good API but add it for easier
compatibility with some svn changes.
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demuxer.c | 11 | ||||
-rw-r--r-- | libmpdemux/stheader.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 767542b250..fb4ea3cd76 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -271,6 +271,17 @@ sh_sub_t *new_sh_sub_sid(demuxer_t *demuxer, int id, int sid) return demuxer->s_streams[id]; } +struct sh_sub *new_sh_sub_sid_lang(struct demuxer *demuxer, int id, int sid, + const char *lang) +{ + struct sh_sub *sh = new_sh_sub_sid(demuxer, id, sid); + if (lang && lang[0] && strcmp(lang, "und")) { + sh->lang = strdup(lang); + mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_SID_%d_LANG=%s\n", sid, lang); + } + return sh; +} + static void free_sh_sub(sh_sub_t *sh) { mp_msg(MSGT_DEMUXER, MSGL_DBG2, "DEMUXER: freeing sh_sub at %p\n", sh); diff --git a/libmpdemux/stheader.h b/libmpdemux/stheader.h index 08db01f025..f59741a92a 100644 --- a/libmpdemux/stheader.h +++ b/libmpdemux/stheader.h @@ -146,6 +146,8 @@ sh_audio_t* new_sh_audio_aid(struct demuxer *demuxer,int id,int aid); sh_video_t* new_sh_video_vid(struct demuxer *demuxer,int id,int vid); #define new_sh_sub(d, i) new_sh_sub_sid(d, i, i) sh_sub_t *new_sh_sub_sid(struct demuxer *demuxer, int id, int sid); +struct sh_sub *new_sh_sub_sid_lang(struct demuxer *demuxer, int id, int sid, + const char *lang); void free_sh_audio(struct demuxer *demuxer, int id); void free_sh_video(sh_video_t *sh); |