*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
/*****************************************************************************
int i_sub;
/* es to select */
- int i_audio_last;
- int i_sub_last;
+ int i_audio_last, i_audio_id;
+ int i_sub_last, i_sub_id;
char **ppsz_audio_language;
char **ppsz_sub_language;
}
if( val.psz_string ) free( val.psz_string );
+ var_Get( p_input, "audio-track-id", &val );
+ p_sys->i_audio_id = val.i_int;
+
+ var_Get( p_input, "sub-track-id", &val );
+ p_sys->i_sub_id = val.i_int;
+
p_sys->p_es_audio = NULL;
p_sys->p_es_video = NULL;
p_sys->p_es_sub = NULL;
return;
}
}
+ if( es->fmt.i_cat == SPU_ES )
+ {
+ var_Get( p_input, "spu", &val );
+ if( !var_GetBool( p_input, "spu" ) ||
+ ( p_input->p_sout && !var_GetBool( p_input, "sout-spu" ) ) )
+ {
+ msg_Dbg( p_input, "spu is disabled, not selecting ES 0x%x",
+ es->i_id );
+ return;
+ }
+ }
es->i_preroll_end = -1;
es->p_dec = input_DecoderNew( p_input, &es->fmt, VLC_FALSE );
if( p_sys->i_audio_last >= 0 )
i_wanted = p_sys->i_audio_last;
+
+ if( p_sys->i_audio_id >= 0 )
+ {
+ if( es->i_id == p_sys->i_audio_id )
+ i_wanted = es->i_channel;
+ else
+ return;
+ }
}
else if( i_cat == SPU_ES )
{
}
if( p_sys->i_sub_last >= 0 )
i_wanted = p_sys->i_sub_last;
+
+ if( p_sys->i_sub_id >= 0 )
+ {
+ if( es->i_id == p_sys->i_sub_id )
+ i_wanted = es->i_channel;
+ else
+ return;
+ }
}
else if( i_cat == VIDEO_ES )
{