using Netflix.Silverlight.CBPApp.Configuration; using Netflix.Silverlight.CBPApp.ViewModels; using Netflix.Silverlight.SLPlayer; using Netflix.Silverlight.SLPlayer.Configuration; using Netflix.Silverlight.Windows.Browser; using Netflix.Silverlight.Windows.Data; using System; using System.Linq.Expressions; using System.Runtime.CompilerServices; using System.Threading; using System.Windows; using System.Windows.Browser; namespace Netflix.Silverlight.CBPApp.HostedPlayer { public class HostedPlayerScriptInterface : ab5 { public class HostedScanSpeedChangedEventArgs : EventArgs { [CompilerGenerated] private int a; [CompilerGenerated] private int b; [ScriptableMember(ScriptAlias = "new_speed")] public int NewSpeed { get; private set; } [ScriptableMember(ScriptAlias = "old_speed")] public int OldSpeed { get; private set; } public HostedScanSpeedChangedEventArgs(int newSpeed, int oldSpeed) { this.NewSpeed = newSpeed; this.OldSpeed = oldSpeed; } } public class HostedPlayTimeChangedEventArgs : EventArgs { [CompilerGenerated] private int a; [ScriptableMember(ScriptAlias = "new_time")] public int NewTime { get; private set; } public HostedPlayTimeChangedEventArgs(int newTime) { this.NewTime = newTime; } } public class HostedUserOpsChangedEventArgs : EventArgs { [CompilerGenerated] private HostedPlayerScriptInterface.UserOperations a; [ScriptableMember(ScriptAlias = "new_user_ops")] public HostedPlayerScriptInterface.UserOperations NewUserOps { get; private set; } [ScriptableMember(ScriptAlias = "new_user_ops_string")] public string NewUserOpsString { get { return this.NewUserOps.ToString(); } } public HostedUserOpsChangedEventArgs(HostedPlayerScriptInterface.UserOperations uops) { this.NewUserOps = uops; } } public class HostedTransportControlClickedArgs : EventArgs { [CompilerGenerated] private string a; [CompilerGenerated] private bool b; [ScriptableMember(ScriptAlias = "button_clicked")] public string ButtonClickedName { get; private set; } [ScriptableMember(ScriptAlias = "handled")] public bool IsHandled { get; set; } public HostedTransportControlClickedArgs(string buttonClickedName, bool isHandled) { this.ButtonClickedName = buttonClickedName; this.IsHandled = this.IsHandled; } } public class HostedPlayStateChangedEventArgs : EventArgs { private HostedPlayerScriptInterface.HostedPlayerPlayState a; [ScriptableMember(ScriptAlias = "new_state")] public HostedPlayerScriptInterface.HostedPlayerPlayState NewState { get { return this.a; } } [ScriptableMember(ScriptAlias = "new_state_string")] public string NewStateString { get { return this.a.ToString(); } } public HostedPlayStateChangedEventArgs(HostedPlayerScriptInterface.HostedPlayerPlayState playState) { this.a = playState; } } public class HostedVolumeChangedEventArgs : EventArgs { [CompilerGenerated] private int a; [ScriptableMember(ScriptAlias = "new_volume")] public int NewVolume { get; private set; } public HostedVolumeChangedEventArgs(int newVal) { this.NewVolume = newVal; } } public class HostedVolumeMuteChangedEventArgs : EventArgs { [CompilerGenerated] private bool a; [ScriptableMember(ScriptAlias = "new_mute")] public bool NewMute { get; private set; } public HostedVolumeMuteChangedEventArgs(bool newMute) { this.NewMute = newMute; } } public class HostedMovieDimensionsKnownEventArgs : EventArgs { [CompilerGenerated] private int a; [CompilerGenerated] private int b; [CompilerGenerated] private int c; [CompilerGenerated] private int d; [CompilerGenerated] private int e; [CompilerGenerated] private int f; [ScriptableMember(ScriptAlias = "width")] public int Width { get; private set; } [ScriptableMember(ScriptAlias = "height")] public int Height { get; private set; } [ScriptableMember(ScriptAlias = "chrome_width")] public int ChromeWidth { get; private set; } [ScriptableMember(ScriptAlias = "chrome_height")] public int ChromeHeight { get; private set; } [ScriptableMember(ScriptAlias = "min_width")] public int MinWidth { get; private set; } [ScriptableMember(ScriptAlias = "min_height")] public int MinHeight { get; private set; } public HostedMovieDimensionsKnownEventArgs(int width, int height, int chromeWidth, int chromeHeight, int minWidth, int minHeight) { this.Width = width; this.Height = height; this.ChromeWidth = chromeWidth; this.ChromeHeight = chromeHeight; this.MinWidth = minWidth; this.MinHeight = minHeight; } } public class HostedMovieBackToBrowserEventArgs : EventArgs { [CompilerGenerated] private bool a; [ScriptableMember(ScriptAlias = "handled")] public bool Handled { get; set; } } [Flags] public enum UserOperations { None = 0, Play = 1, Pause = 2, Seek = 4, TrickModeEnter = 8, TrickModeLeave = 16, TrickModeNext = 32, TrickModePrevious = 64, TrickModeSeek = 128, Volume = 256 } public enum HostedPlayerPlayState { Indeterminate = -1, Idle, Initializing, Closing, Closed, Buffering = 100, Playing, Paused, TrickMode, MediaEnded, Error = 999 } [CompilerGenerated] private new sealed class a { public ApplicationConfiguration a; public void e(bool A_0) { this.a.PlayerConfiguration.IgnoreBookmark = A_0; } public void b(uint A_0) { this.a.PlayerConfiguration.LinkDisplayMode = (LinkDisplayMode)A_0; } public void c(bool A_0) { this.a.ShowPlayerPanel = A_0; } public void b(bool A_0) { this.a.ShowBackToBrowsing = A_0; } public void d(bool A_0) { this.a.ShowNavigationPanel = A_0; } } private new readonly i3 a; private new BindingListener b; private readonly string c; private HostedPlayerControlsViewModel d; private VideoPlayer e; private aa6 f; private zr g; private HostedPlayerScriptInterface.HostedPlayerPlayState h; private new HostedPlayerScriptInterface.UserOperations i; private bool j; private bool k; private bool l; private EventHandler m; private EventHandler n; private EventHandler o; private EventHandler p; private EventHandler q; private EventHandler r; private EventHandler s; private EventHandler t; private EventHandler u; private EventHandler v; [ScriptableMember(ScriptAlias = "movie_dimensions_known")] public event EventHandler MovieDimensionsKnown { add { EventHandler eventHandler = this.m; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.m, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.m; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.m, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "back_to_browsing")] public event EventHandler BackToBrowsing { add { EventHandler eventHandler = this.n; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.n, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.n; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.n, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "play_time_changed")] public event EventHandler PlayTimeChanged { add { EventHandler eventHandler = this.o; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.o, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.o; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.o, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "scan_speed_changed")] public event EventHandler ScanSpeedChanged { add { EventHandler eventHandler = this.p; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.p, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.p; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.p, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "trick_play_time_changed")] public event EventHandler TrickPlayTimeChanged { add { EventHandler eventHandler = this.q; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.q, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.q; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.q, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "play_state_changed")] public event EventHandler PlayStateChanged { add { EventHandler eventHandler = this.r; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.r, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.r; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.r, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "user_ops_changed")] public event EventHandler UserOpsChanged { add { EventHandler eventHandler = this.s; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.s, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.s; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.s, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "volume_changed")] public event EventHandler VolumeChanged { add { EventHandler eventHandler = this.t; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.t, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.t; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.t, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "volume_mute_changed")] public event EventHandler VolumeMuteChanged { add { EventHandler eventHandler = this.u; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.u, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.u; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.u, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } [ScriptableMember(ScriptAlias = "transport_control_clicked")] public event EventHandler TransportControlClicked { add { EventHandler eventHandler = this.v; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Combine(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.v, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } remove { EventHandler eventHandler = this.v; EventHandler eventHandler2; do { eventHandler2 = eventHandler; EventHandler eventHandler3 = (EventHandler)Delegate.Remove(eventHandler2, value); eventHandler = Interlocked.CompareExchange>(ref this.v, eventHandler3, eventHandler2); } while (eventHandler != eventHandler2); } } public HostedPlayerControlsViewModel HostedPlayerControls { get { return this.d; } set { if (base.a(ref this.d, value, () => this.HostedPlayerControls)) { this.Player = this.d.VideoPlayer; this.Transport = this.Player.Transport; this.Scrubber = this.d.Scrubber; } } } public VideoPlayer Player { get { return this.e; } private set { base.a(ref this.e, value, () => this.Player); } } public aa6 Transport { get { return this.f; } private set { base.a(ref this.f, value, () => this.Transport); } } public zr Scrubber { get { return this.g; } private set { base.a(ref this.g, value, () => this.Scrubber); } } [ScriptableMember(ScriptAlias = "volume_min")] public int VolumeMin { get { return 0; } } [ScriptableMember(ScriptAlias = "volume_max")] public int VolumeMax { get { return 100; } } [ScriptableMember(ScriptAlias = "volume")] public int Volume { get { if (this.f == null) { return 0; } return (int)(this.f.Volume * 100.0); } set { if (this.f != null) { this.f.Volume = (double)value / 100.0; } } } [ScriptableMember(ScriptAlias = "volume_mute")] public bool VolumeMute { get { return this.d != null && this.d.IsMuted; } set { if (this.d != null) { this.d.IsMuted = value; } } } [ScriptableMember(ScriptAlias = "play_duration")] public int PlayDuration { get { if (this.f == null) { return 0; } return (int)this.f.Runtime.get_TotalMilliseconds(); } } [ScriptableMember(ScriptAlias = "trick_play_interval")] public int TrickPlayInterval { get { if (this.e != null) { if (this.e.TrickPlay != null) { return (int)this.e.TrickPlay.Interval.get_TotalMilliseconds(); } } return 0; } } [ScriptableMember(ScriptAlias = "trick_play_position")] public int TrickPlayPosition { get { if (this.g == null) { return 0; } return (int)this.g.Position.get_TotalMilliseconds(); } set { if (this.g != null) { this.g.Position = TimeSpan.FromMilliseconds((double)value); } } } [ScriptableMember(ScriptAlias = "play_position")] public int PlayPosition { get { return (int)this.f.Position.get_TotalMilliseconds(); } set { if (this.f != null) { this.f.e(TimeSpan.FromMilliseconds((double)value)); } } } [ScriptableMember(ScriptAlias = "user_ops")] public uint UserOps { get { return (uint)this.i; } } [ScriptableMember(ScriptAlias = "play_state")] public int PlayState { get { return (int)this.h; } } [ScriptableMember(ScriptAlias = "scan_speed")] public int ScanSpeed { get { if (this.g == null) { return 0; } return this.g.ScanSpeed; } set { if (this.g != null) { this.g.ScanSpeed = value; } } } internal HostedPlayerScriptInterface() { EventHandler> eventHandler = null; EventHandler> eventHandler2 = null; EventHandler> eventHandler3 = null; EventHandler> eventHandler4 = null; EventHandler> eventHandler5 = null; EventHandler> eventHandler6 = null; EventHandler eventHandler7 = null; this.a = new jj(global::o.a, typeof(HostedPlayerScriptInterface)); this.c = "Exception thrown attempting to fire {0} on the hosted player script interface: {1}"; base..ctor(); this.b = new BindingListener(this); BindingListener.PropertyListener arg_6D_0 = this.b.GetPropertyListener("Player.NaturalSize"); if (eventHandler == null) { eventHandler = new EventHandler>(this.a); } arg_6D_0.Changed += eventHandler; BindingListener.PropertyListener arg_97_0 = this.b.GetPropertyListener("Transport.Position"); if (eventHandler2 == null) { eventHandler2 = new EventHandler>(this.b); } arg_97_0.Changed += eventHandler2; BindingListener.PropertyListener arg_C1_0 = this.b.GetPropertyListener("Transport.Volume"); if (eventHandler3 == null) { eventHandler3 = new EventHandler>(this.a); } arg_C1_0.Changed += eventHandler3; BindingListener.PropertyListener arg_EB_0 = this.b.GetPropertyListener("HostedPlayerControls.IsMuted"); if (eventHandler4 == null) { eventHandler4 = new EventHandler>(this.a); } arg_EB_0.Changed += eventHandler4; BindingListener.PropertyListener arg_118_0 = this.b.GetPropertyListener("Scrubber.ScanSpeed"); if (eventHandler5 == null) { eventHandler5 = new EventHandler>(this.a); } arg_118_0.Changed += eventHandler5; BindingListener.PropertyListener arg_145_0 = this.b.GetPropertyListener("Scrubber.Position"); if (eventHandler6 == null) { eventHandler6 = new EventHandler>(this.a); } arg_145_0.Changed += eventHandler6; this.b.GetPropertyListener("Player.Closed").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Player.Error").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Player.Status.Initializing").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Player.Status.Busy").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Scrubber.Active").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Transport.MediaEnded").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Transport.Paused").Changed += new EventHandler>(this.b); this.b.GetPropertyListener("Transport.Playing").Changed += new EventHandler>(this.b); App arg_26F_0 = App.Current; if (eventHandler7 == null) { eventHandler7 = new EventHandler(this.a); } arg_26F_0.OnBackToBrowsing += eventHandler7; } internal bool c() { HostedPlayerScriptInterface.HostedMovieBackToBrowserEventArgs hostedMovieBackToBrowserEventArgs = new HostedPlayerScriptInterface.HostedMovieBackToBrowserEventArgs(); this.a(() => this.n, hostedMovieBackToBrowserEventArgs); return hostedMovieBackToBrowserEventArgs.Handled; } internal void d() { this.k = true; this.b(null, null); } internal bool a(string A_0) { HostedPlayerScriptInterface.HostedTransportControlClickedArgs hostedTransportControlClickedArgs = new HostedPlayerScriptInterface.HostedTransportControlClickedArgs(A_0, false); this.a(() => this.v, hostedTransportControlClickedArgs); return hostedTransportControlClickedArgs.IsHandled; } private void b(object A_0, EventArgs A_1) { HostedPlayerScriptInterface.HostedPlayerPlayState hostedPlayerPlayState = this.b(); if (this.h != hostedPlayerPlayState) { this.h = hostedPlayerPlayState; this.a(() => this.r, new HostedPlayerScriptInterface.HostedPlayStateChangedEventArgs(this.h)); HostedPlayerScriptInterface.UserOperations userOperations = this.a(); if (this.i != userOperations) { this.i = userOperations; this.a(() => this.s, new HostedPlayerScriptInterface.HostedUserOpsChangedEventArgs(this.i)); } } } private HostedPlayerScriptInterface.HostedPlayerPlayState b() { if (this.Player.Closed) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Closed; } if (this.l) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Closing; } if (!this.j) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Idle; } if (this.k) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Error; } if (this.Player.Error != null) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Error; } if (this.Player.Status.Initializing) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Initializing; } if (this.Player.Status.Busy) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Buffering; } if (this.Scrubber.Active) { return HostedPlayerScriptInterface.HostedPlayerPlayState.TrickMode; } if (this.Transport.MediaEnded) { return HostedPlayerScriptInterface.HostedPlayerPlayState.MediaEnded; } if (this.Transport.Paused) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Paused; } if (this.Transport.Playing) { return HostedPlayerScriptInterface.HostedPlayerPlayState.Playing; } return HostedPlayerScriptInterface.HostedPlayerPlayState.Indeterminate; } private HostedPlayerScriptInterface.UserOperations a() { switch (this.h) { case HostedPlayerScriptInterface.HostedPlayerPlayState.Buffering: return HostedPlayerScriptInterface.UserOperations.Volume; case HostedPlayerScriptInterface.HostedPlayerPlayState.Playing: return HostedPlayerScriptInterface.UserOperations.Pause | HostedPlayerScriptInterface.UserOperations.Seek | HostedPlayerScriptInterface.UserOperations.TrickModeEnter | HostedPlayerScriptInterface.UserOperations.Volume; case HostedPlayerScriptInterface.HostedPlayerPlayState.Paused: return HostedPlayerScriptInterface.UserOperations.Play | HostedPlayerScriptInterface.UserOperations.Seek | HostedPlayerScriptInterface.UserOperations.TrickModeEnter | HostedPlayerScriptInterface.UserOperations.Volume; case HostedPlayerScriptInterface.HostedPlayerPlayState.TrickMode: return HostedPlayerScriptInterface.UserOperations.Play | HostedPlayerScriptInterface.UserOperations.Seek | HostedPlayerScriptInterface.UserOperations.TrickModeLeave | HostedPlayerScriptInterface.UserOperations.TrickModeNext | HostedPlayerScriptInterface.UserOperations.TrickModePrevious | HostedPlayerScriptInterface.UserOperations.TrickModeSeek | HostedPlayerScriptInterface.UserOperations.Volume; case HostedPlayerScriptInterface.HostedPlayerPlayState.MediaEnded: return HostedPlayerScriptInterface.UserOperations.Seek | HostedPlayerScriptInterface.UserOperations.TrickModeEnter | HostedPlayerScriptInterface.UserOperations.Volume; default: return HostedPlayerScriptInterface.UserOperations.None; } } [ScriptableMember(ScriptAlias = "open")] public void Open() { this.Open(null); } [ScriptableMember(ScriptAlias = "open")] public void Open(ScriptObject initParams) { Action action = null; Action action2 = null; Action action3 = null; Action action4 = null; Action action5 = null; HostedPlayerScriptInterface.a a = new HostedPlayerScriptInterface.a(); a.a = IoC.Get(); if (initParams != null) { bool? arg_48_0 = initParams.GetBoolProperty("ignore_bookmark", false); if (action == null) { action = new Action(a.e); } arg_48_0.a(action); uint? arg_6F_0 = initParams.GetUInt32Property("link_display_mode", false); if (action2 == null) { action2 = new Action(a.b); } arg_6F_0.a(action2); bool? arg_96_0 = initParams.GetBoolProperty("show_player_panel", false); if (action3 == null) { action3 = new Action(a.c); } arg_96_0.a(action3); bool? arg_BD_0 = initParams.GetBoolProperty("show_back_to_browsing", false); if (action4 == null) { action4 = new Action(a.b); } arg_BD_0.a(action4); bool? arg_E7_0 = initParams.GetBoolProperty("show_navigation_panel", false); if (action5 == null) { action5 = new Action(a.d); } arg_E7_0.a(action5); } this.j = true; App.Current.VideoManager.Play(a.a.MovieId, a.a.EpisodeMovieId, a.a.TrackId, null, false, null, false); this.b(null, null); } [ScriptableMember(ScriptAlias = "close")] public void Close() { this.l = true; this.b(null, null); App.Current.r(); } [ScriptableMember(ScriptAlias = "play")] public void Play() { if (this.Transport != null) { this.Transport.Paused = false; } } [ScriptableMember(ScriptAlias = "pause")] public void Pause() { if (this.Transport != null) { this.Transport.Paused = true; } } [ScriptableMember(ScriptAlias = "scan_speed_increase")] public void ScanSpeedIncrease() { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingSpeedIncreaseCommand.Execute(null); } } [ScriptableMember(ScriptAlias = "scan_speed_decrease")] public void ScanSpeedDecrease() { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingSpeedDecreaseCommand.Execute(null); } } [ScriptableMember(ScriptAlias = "trick_play_enter")] public void TrickPlayEnter() { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingEnterCommand.Execute(null); } } [ScriptableMember(ScriptAlias = "trick_play_next")] public void TrickPlayNext() { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingNextCommand.Execute(null); } } [ScriptableMember(ScriptAlias = "trick_play_previous")] public void TrickPlayPrevious() { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingPreviousCommand.Execute(null); } } [ScriptableMember(ScriptAlias = "trick_play_leave")] public void TrickPlayLeave(bool commit) { if (this.HostedPlayerControls != null) { this.HostedPlayerControls.ScrubbingLeaveCommand.Execute(commit); } } private void a(Expression>> A_0, a A_1) where a : EventArgs { try { A_0.Compile().Invoke().a(this, A_1); } catch (Exception ex) { this.a.b(this.c, new object[] { ((MemberExpression)A_0.get_Body()).get_Member().get_Name(), ex }); } } [CompilerGenerated] private void a(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.m, new HostedPlayerScriptInterface.HostedMovieDimensionsKnownEventArgs((int)this.e.NaturalSize.get_Width(), (int)this.e.NaturalSize.get_Height(), 0, 0, 0, 0)); } [CompilerGenerated] private void b(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.o, new HostedPlayerScriptInterface.HostedPlayTimeChangedEventArgs(this.PlayPosition)); } [CompilerGenerated] private void a(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.t, new HostedPlayerScriptInterface.HostedVolumeChangedEventArgs(this.Volume)); } [CompilerGenerated] private void a(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.u, new HostedPlayerScriptInterface.HostedVolumeMuteChangedEventArgs(this.VolumeMute)); } [CompilerGenerated] private void a(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.p, new HostedPlayerScriptInterface.HostedScanSpeedChangedEventArgs(A_1.OldValue, A_1.NewValue)); } [CompilerGenerated] private void a(object A_0, BindingListener.PropertyChangedEventArgs A_1) { this.a(() => this.q, new HostedPlayerScriptInterface.HostedPlayTimeChangedEventArgs(this.TrickPlayPosition)); } [CompilerGenerated] private void a(object A_0, EventArgs A_1) { this.c(); } } }