public void SetOption(int index)
{
Log.Debug("SetOption {0}", index);
List<SubtitleOption> options = CollectOptions();
if (index >= options.Count)
{
//Log.Error("SetOption with too large index!");
return;
}
SubtitleOption option = options[index];
lastSubtitleIndex = index;
currentOption = option;
if (option.isAuto)
{
Log.Debug("SubtitleSelector : Set autoselect mode");
SubtitleOption prefered = CheckForPreferedLanguage();
if (prefered != null)
{
option.bitmapIndex = prefered.bitmapIndex;
option.entry = prefered.entry;
option.language = prefered.language;
option.type = prefered.type;
Log.Debug("Auto-selection of " + option);
}
else
{
option.type = SubtitleType.None;
currentOption.language = "None";
if (subRender != null)
{
subRender.SetSubtitleOption(option);
}
}
}
if (option.type == SubtitleType.Bitmap)
{
dvbStreams.SetSubtitleStream(option.bitmapIndex);
}
Log.Debug("Subtitle is now " + currentOption.ToString());
if (subRender != null)
{
subRender.SetSubtitleOption(option);
}
}