diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 9d53ae4135..35cf4dc294 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -255,6 +255,7 @@ void free_sh_sub(sh_sub_t *sh) { #ifdef USE_ASS if (sh->ass_track) ass_free_track(sh->ass_track); #endif + free(sh->lang); free(sh); } @@ -289,6 +290,7 @@ void free_sh_audio(demuxer_t *demuxer, int id) { mp_msg(MSGT_DEMUXER,MSGL_DBG2,"DEMUXER: freeing sh_audio at %p\n",sh); if(sh->wf) free(sh->wf); if(sh->codecdata) free(sh->codecdata); + free(sh->lang); free(sh); } diff --git a/libmpdemux/stheader.h b/libmpdemux/stheader.h index 7ebeefb07f..60bd34c005 100644 --- a/libmpdemux/stheader.h +++ b/libmpdemux/stheader.h @@ -49,6 +49,7 @@ typedef struct { int codecdata_len; double pts; // last known pts value in output from decoder int pts_bytes; // bytes output by decoder after last known pts + char* lang; // track language } sh_audio_t; typedef struct { @@ -105,6 +106,7 @@ typedef struct { #ifdef USE_ASS ass_track_t* ass_track; // for SSA/ASS streams (type == 'a') #endif + char* lang; // track language } sh_sub_t; // demuxer.c: