protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         IPlaybackController playbackController = null;
         IPlaybackSession    playbackSession    = null;
         lock (syn) {
             playbackSession         = this.playbackSession;
             playbackController      = this.playbackController;
             this.playbackController = null;
             this.playbackSession    = null;
         }
         if (playbackController != null)
         {
             playbackController.Shutdown();
         }
         if (playbackSession != null)
         {
             try {
                 playbackSession.Close();
             } catch (Exception err) {
                 dbg.Error(err);
             }
         }
     }
 }
            bool IPlaybackController.Initialized(IPlaybackSession playbackSession)
            {
                IPlaybackController playbackController = null;

                lock (syn) {
                    if (this.playbackController == null)
                    {
                        return(false);
                    }
                    playbackController = this.playbackController;

                    dbg.Assert(this.playbackSession == null);
                }
                var result = playbackController.Initialized(playbackSession);

                lock (syn) {
                    if (this.playbackController == null)
                    {
                        return(false);
                    }
                    dbg.Assert(this.playbackSession == null);
                    if (result)
                    {
                        this.playbackSession = playbackSession;
                    }
                    return(result);
                }
            }
 public void disposeOnvifPlayer()
 {
     player.Dispose();
     videoBuff.Dispose();
     playbackSession = null;
     disposables.Dispose();
     playerDisposables.Dispose();
     playerDisposables.Clear();
     disp = null;
     img.Dispose();
     Console.WriteLine("~OnvifPlayer");
 }
			bool IPlaybackController.Initialized(IPlaybackSession playbackSession) {
				IPlaybackController playbackController = null;
				lock (syn) {
					if (this.playbackController == null) {
						return false;
					}
					playbackController = this.playbackController;

					dbg.Assert(this.playbackSession == null);
				}
				var result = playbackController.Initialized(playbackSession);
				lock (syn) {
					if (this.playbackController == null) {
						return false;
					}
					dbg.Assert(this.playbackSession == null);
					if (result) {
						this.playbackSession = playbackSession;
					}
					return result;
				}
			}
		public new bool Initialized(IPlaybackSession playbackSession) {
			this.playbackSession = playbackSession;
			return true;
		}
 public new bool Initialized(IPlaybackSession playbackSession)
 {
     this.playbackSession = playbackSession;
     return(true);
 }
			protected virtual void Dispose(bool disposing) {
				if (disposing) {
					IPlaybackController playbackController = null;
					IPlaybackSession playbackSession = null;
					lock (syn) {
						playbackSession = this.playbackSession;
						playbackController = this.playbackController;
						this.playbackController = null;
						this.playbackSession = null;
					}
					if (playbackController != null) {
						playbackController.Shutdown();
					}
					if (playbackSession != null) {
						try {
							playbackSession.Close();
						} catch (Exception err) {
							dbg.Error(err);
						}
					}
				}

			}