summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-10-29 19:23:17 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-11-02 04:14:44 +0200
commit7d17b5e2543f3c8c7c35d780bcfeefd165ee082b (patch)
treefff50530e30c5f748f61a81305a1b1c8f746aaea /libmpdemux
parent5b14a1b44fbd8904c56c70369655a23e948aaa7a (diff)
downloadmpv-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.c11
-rw-r--r--libmpdemux/stheader.h2
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);