public PlatformPlayer(AvService avService, SharpDX.Direct2D1.Device d2DDevice, SharpDX.WIC.ImagingFactory factory) { underlyingPlayer = avService.GetStreamPlayer(gpu: true); Playback = underlyingPlayer.Duration .Select(duration => new StreamPlayback(d2DDevice, factory, underlyingPlayer, duration)) .DisposeCurrentOnNext(); }
public PlatformFramebufferPlayer(AvService avService) { underlyingPlayer = avService.GetStreamPlayer(gpu: false); Playback = underlyingPlayer.Duration .Select(duration => new FramebufferStreamPlayback(underlyingPlayer, duration)); Playback.Subscribe(playback => { currentPlayback?.Dispose(); currentPlayback = playback; }); }