diff options
Diffstat (limited to 'mpcommon.c')
-rw-r--r-- | mpcommon.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mpcommon.c b/mpcommon.c index b9e9296d2a..332d8e1cf4 100644 --- a/mpcommon.c +++ b/mpcommon.c @@ -190,3 +190,16 @@ void update_teletext(sh_video_t *sh_video, demuxer_t *demuxer, int reset) tvh->functions->control(tvh->priv,TV_VBI_CONTROL_MARK_UNCHANGED,NULL); #endif } + +int select_audio(demuxer_t* demuxer, int audio_id, char* audio_lang) +{ + if (audio_id == -1 && audio_lang) + audio_id = demuxer_audio_track_by_lang(demuxer, audio_lang); + if (audio_id != -1) // -1 (automatic) is the default behaviour of demuxers + demuxer_switch_audio(demuxer, audio_id); + if (audio_id == -2) { // some demuxers don't yet know how to switch to no sound + demuxer->audio->id = -2; + demuxer->audio->sh = NULL; + } + return demuxer->audio->id; +} |