public void Pause() { lock (_lock) { if (!IsConnected()) { throw _notConnected; } CppAssembly.PlayerPause(_playerPointer); } }
private void HandleEvent(IntPtr wParam) { lock (_lock) { if (!IsConnected()) { return; } CppAssembly.PlayerHandleEvent(_playerPointer, wParam); } }
private void SurfaceSizeChanged(object sender, EventArgs e) { if (!IsConnected()) { return; } lock (_lock) { _surfaceNeedsRepaint = true; CppAssembly.PlayerResize(_playerPointer, Convert.ToUInt16(_surface.Width), Convert.ToUInt16(_surface.Height)); } }
public void Close() { lock (_lock) { if (!IsConnected()) { return; } _surface.Paint -= SurfacePaint; _surface.SizeChanged -= SurfaceSizeChanged; CppAssembly.PlayerShutDown(_playerPointer); DisposePointerToPlayer(); } }
public void Play() { lock (_lock) { if (!IsConnected()) { throw _notConnected; } CppAssembly.PlayerPlay(_playerPointer, out var invokeResult); if (invokeResult != 0) { throw new InvalidOperationException($"Failed to play #{invokeResult}."); } } }
private void OpenFile(string filePath, DateTime correlationStartTime) { filePath = filePath.Replace("\"", ""); if (!File.Exists(filePath)) { throw new FileNotFoundException(filePath); } SetInitialTime(filePath, correlationStartTime); var seek = MilSecondsToSeekNanoSeconds(_seekTime); CppAssembly.PlayerOpen(_playerPointer, filePath, seek, out var invokeResult); if (invokeResult != 0) { throw new InvalidOperationException($"Failed to open video #{invokeResult}."); } }
IAssembly IAssemblyReference.Resolve(ITypeResolveContext context) { if (context == null) { throw new ArgumentNullException("context"); } var cache = context.Compilation.CacheManager; IAssembly asm = (IAssembly)cache.GetShared(this); if (asm != null) { return(asm); } else { asm = new CppAssembly(context.Compilation, this); return((IAssembly)cache.GetOrAddShared(this, asm)); } }
public void Seek(double seekTimeMilSec) { var prevSeekTime = MilSecondsToSeekNanoSeconds(_seekTime); _seekTime = seekTimeMilSec; var seek = MilSecondsToSeekNanoSeconds(_seekTime); lock (_lock) { if (!IsConnected()) { throw _notConnected; } if (prevSeekTime > seek) { Debug.WriteLine($"seek time problem: {seek - prevSeekTime}"); } CppAssembly.PlayerSkipToPosition(_playerPointer, seek); } }