public override void Execute()
        {
            StartStep();



            // Select a subtitle language from action menu
            res = CL.EA.SubtitlesLanguageChange(subtitleLanguage_2, subtitletype_2);
            if (!res.CommandSucceeded)
            {
                FailStep(CL, res, "Failed to change subtitle language in action bar from OFF to " + subtitleLanguage_1.ToString());
            }



            // Check that prefered subtitle language is displayed
            EnumLanguage subtitleLanguage = EnumLanguage.Off;

            CL.EA.GetCurrentSubtitleLanguage(ref subtitleLanguage);
            if (subtitleLanguage != subtitleLanguage_2)
            {
                FailStep(CL, res, "Failed to check current subtitle language. Expected: " + subtitleLanguage_2.ToString() + ", Received: " + subtitleLanguage.ToString());
            }

            // Check subtitles type  is correct
            EnumSubtitleType subtitleType = EnumSubtitleType.NORMAL;

            CL.EA.GetCurrentSubtitleType(ref subtitleType);
            if (subtitleType != subtitletype_2)
            {
                FailStep(CL, res, "Failed to check current subtitle Type. Expected: " + subtitleLanguage_2.ToString() + ", Received: " + subtitleType.ToString());
            }
            PassStep();
        }
        public override void Execute()
        {
            StartStep();


            // Play an asset with with teletxt subtitle
            res = CL.EA.VOD.PlayAsset(vodAsset);
            if (!res.CommandSucceeded)
            {
                FailStep(CL, res, "Failed to play the asset with  teletext subtitle ");
            }

            // Select a subtitle language from action menu
            res = CL.EA.SubtitlesLanguageChange(subtitleLanguage_1, subtitletype_1);
            if (!res.CommandSucceeded)
            {
                FailStep(CL, res, "Failed to change subtitle language in action bar from OFF to " + subtitleLanguage_1.ToString());
            }



            // Check subtitles are displayed
            EnumLanguage subtitleLanguage = EnumLanguage.Off;

            CL.EA.GetCurrentSubtitleLanguage(ref subtitleLanguage);
            if (subtitleLanguage != subtitleLanguage_1)
            {
                FailStep(CL, res, "Failed to check current subtitle language. Expected: " + subtitleLanguage_1.ToString() + ", Received: " + subtitleLanguage.ToString());
            }

            // Check subtitles type  is correct
            EnumSubtitleType subtitleType = EnumSubtitleType.NORMAL;

            CL.EA.GetCurrentSubtitleType(ref subtitleType);
            if (subtitleType != subtitletype_1)
            {
                FailStep(CL, res, "Failed to check current subtitle Type. Expected: " + subtitleLanguage_1.ToString() + ", Received: " + subtitleType.ToString());
            }

            PassStep();
        }
        /// <summary>
        ///  EA Execution
        /// </summary>
        protected override void Execute()
        {
            EnumSubtitleType subtitletype = EnumSubtitleType.NORMAL;
            string           tmp          = "";

            // navigate to AUDIO settings in channel bar
            EPG.Utils.EPG_Milestones_NavigateByName("STATE:SUBTITLES ON PLAYBACK");

            // get the current selection
            EPG.Utils.GetEpgInfo("title", ref tmp);

            // validate current selection to go back to playback state
            string selectKey = EPG.Utils.GetValueFromProject("KEY_MAPPING", "SELECT_KEY");

            EPG.Utils.SendIR(selectKey, 5000);

            if (tmp.IndexOf("-") >= 0)
            {
                subtitletype = EnumSubtitleType.HARD_OF_HEARING;
            }


            SetReturnValues(new Object[] { subtitletype });
        }