public BufferingManager(IBufferingPolicy bufferingPolicy, ITsPesPacketPool packetPool) { if (null == bufferingPolicy) throw new ArgumentNullException(nameof(bufferingPolicy)); if (null == packetPool) throw new ArgumentNullException(nameof(packetPool)); _bufferingPolicy = bufferingPolicy; _packetPool = packetPool; _refreshTask = new SignalTask(() => { RefreshHandler(); return TplTaskExtensions.CompletedTask; }, _disposeCancellationTokenSource.Token); }
public BufferingManager(IBufferingPolicy bufferingPolicy, ITsPesPacketPool packetPool) { if (null == bufferingPolicy) { throw new ArgumentNullException("bufferingPolicy"); } if (null == packetPool) { throw new ArgumentNullException("packetPool"); } this._bufferingPolicy = bufferingPolicy; this._packetPool = packetPool; this._refreshTask = new SignalTask((Func <Task>)(() => { this.RefreshHandler(); return(TplTaskExtensions.CompletedTask); }), this._disposeCancellationTokenSource.Token); }
public static void SetParameter(this IMediaStreamFacadeBase mediaStreamFacade, IBufferingPolicy policy) { mediaStreamFacade.Builder.RegisterSingleton <IBufferingPolicy>(policy); }
public static void SetParameter(this IMediaStreamFascade mediaStreamFascade, IBufferingPolicy policy);
public AudioTrackStreamer() { Debug.WriteLine("AudioTrackStreamer ctor"); _mediaManagerParameters = new MediaManagerParameters { ProgramStreamsHandler = streams => { var firstAudio = streams.Streams.FirstOrDefault(x => x.StreamType.Contents == TsStreamType.StreamContents.Audio); var others = null == firstAudio ? streams.Streams : streams.Streams.Where(x => x.Pid != firstAudio.Pid); foreach ( var programStream in others) programStream.BlockStream = true; } }; MediaStreamFacadeSettings.Parameters.UseHttpConnection = true; //MediaStreamFacadeSettings.Parameters.UseSingleStreamMediaManager = true; _bufferingPolicy = new DefaultBufferingPolicy { BytesMinimumStarting = 24 * 1024, BytesMinimum = 64 * 1024 }; _metadataHandler = new AudioMetadataHandler(_cancellationTokenSource.Token); }