public async Task CloseAsync() { TsMediaStreamSource mediaStreamSource = this._mediaStreamSource; TaskCompletionSource <object> pcs = this._playingCompletionSource; if (null == mediaStreamSource) { if (null != this._openCompletionSource) { this._openCompletionSource.TrySetCanceled(); } if (null != pcs) { pcs.TrySetResult((object)null); } } else { await mediaStreamSource.CloseAsync().ConfigureAwait(false); if (null != pcs) { object obj = await pcs.Task.ConfigureAwait(false); } } }
public void ValidateEvent(MediaStreamFsm.MediaEvent mediaEvent) { TsMediaStreamSource mediaStreamSource = this._mediaStreamSource; if (null == mediaStreamSource) { return; } mediaStreamSource.ValidateEvent(mediaEvent); }
public void CheckForSamples() { TsMediaStreamSource mediaStreamSource = this._mediaStreamSource; if (null == mediaStreamSource) { return; } mediaStreamSource.CheckForSamples(); }
private void CleanupMediaStreamSource() { TsMediaStreamSource mediaStreamSource = this._mediaStreamSource; if (null == mediaStreamSource) { return; } this._mediaStreamSource = (TsMediaStreamSource)null; DisposeExtensions.DisposeSafe((IDisposable)mediaStreamSource); }
public void ReportError(string message) { TsMediaStreamSource mediaStreamSource = this._mediaStreamSource; if (null == mediaStreamSource) { Debug.WriteLine("MediaStreamConfigurator.ReportError() null _mediaStreamSource"); } else { mediaStreamSource.ReportError(message); } }
public Task <TMediaStreamSource> CreateMediaStreamSourceAsync <TMediaStreamSource>(CancellationToken cancellationToken) where TMediaStreamSource : class { cancellationToken.ThrowIfCancellationRequested(); if (null != this._mediaStreamSource) { throw new InvalidOperationException("MediaStreamSource already exists"); } TsMediaStreamSource mediaStreamSource = this._mediaStreamSourceFactory(); TMediaStreamSource result = mediaStreamSource as TMediaStreamSource; if (null == (object)result) { mediaStreamSource.Dispose(); this._openCompletionSource.TrySetCanceled(); this._playingCompletionSource.TrySetResult((object)null); throw new InvalidCastException(string.Format("Cannot convert {0} to {1}", (object)mediaStreamSource.GetType().FullName, (object)typeof(TMediaStreamSource).FullName)); } this._mediaStreamSource = mediaStreamSource; return(TaskEx.FromResult <TMediaStreamSource>(result)); }