Exemple #1
0
        /// <summary>
        /// Core method for finishing pending operations, closing the loaded script,
        /// releasing resources and resetting the runtime context.
        /// </summary>
        protected virtual void CloseScriptCore()
        {
            NewSourceRenderSurface?.Invoke(this, new NewRenderSurfaceEventArgs(IntPtr.Zero));
            NewPreviewRenderSurface?.Invoke(this, new NewRenderSurfaceEventArgs(IntPtr.Zero));

            var internalContext = InternalContext;

            internalContext.IsVideoPlaying          = false;
            internalContext.HasVideo                = false;
            internalContext.VideoFrameSize          = Size.Empty;
            internalContext.VideoFrameCount         = 0;
            internalContext.SeekableVideoFrameCount = 0;
            internalContext.VideoDuration           = TimeSpan.Zero;
            internalContext.VideoFramerate          = new Fraction(1, 1);
            internalContext.SetFrameNumberInternal(0);
            internalContext.SetVideoPositionInternal(TimeSpan.Zero);
            internalContext.AspectRatio = new Ratio(1, 1, false);

            internalContext.SetOutputPreviewSizeInternal(
                new VideoSizeOptions()
            {
                ResizeMode  = VideoResizeMode.None,
                PixelWidth  = 0,
                PixelHeight = 0
            }
                );
        }
Exemple #2
0
 /// <summary>
 /// Raises the <see cref="NewSourceRenderSurface"/> event
 /// with arguments containing a <see cref="IntPtr">pointer</see> to the unmanaged Direct3D source render surface.
 /// </summary>
 /// <param name="sourceRenderSurfacePtr">A <see cref="IntPtr">pointer</see> to the unmanaged Direct3D source render surface.</param>
 protected void OnNewSourceRenderSurface(IntPtr sourceRenderSurfacePtr)
 {
     NewSourceRenderSurface?.Invoke(this, new NewRenderSurfaceEventArgs(sourceRenderSurfacePtr));
 }