diff mpcommon.c @ 26090:c585e2ad8ebf

Select audio stream in mplayer and mencoder, overriding demuxer decision.
author eugeni
date Fri, 29 Feb 2008 17:25:50 +0000
parents 4e593b5b4300
children 65ad20416dd7
line wrap: on
line diff
--- a/mpcommon.c	Fri Feb 29 17:25:48 2008 +0000
+++ b/mpcommon.c	Fri Feb 29 17:25:50 2008 +0000
@@ -190,3 +190,16 @@
     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;
+}