public object Get(GetDynamicHlsVideoSegment request) { if (string.Equals("baseline", request.PlaylistId, StringComparison.OrdinalIgnoreCase)) { return GetDynamicSegment(request, false).Result; } return GetDynamicSegment(request, true).Result; }
public object Get(GetDynamicHlsVideoSegment request) { if (string.Equals("baseline", request.PlaylistId, StringComparison.OrdinalIgnoreCase)) { return(GetDynamicSegment(request, false).Result); } return(GetDynamicSegment(request, true).Result); }
private async Task <object> GetDynamicSegment(GetDynamicHlsVideoSegment request, bool isMain) { var index = int.Parse(request.SegmentId, NumberStyles.Integer, UsCulture); var state = await GetState(request, CancellationToken.None).ConfigureAwait(false); var playlistPath = Path.ChangeExtension(state.OutputFilePath, ".m3u8"); var path = GetSegmentPath(playlistPath, index); if (File.Exists(path)) { return(GetSegementResult(path)); } if (!File.Exists(playlistPath)) { await StartFfMpeg(state, playlistPath, new CancellationTokenSource()).ConfigureAwait(false); await WaitForMinimumSegmentCount(playlistPath, GetSegmentWait(), CancellationToken.None).ConfigureAwait(false); } return(GetSegementResult(path)); }
public object Get(GetDynamicHlsVideoSegment request) { return GetDynamicSegment(request, request.SegmentId).Result; }
public Task <object> Get(GetDynamicHlsVideoSegment request) { return(GetDynamicSegment(request, request.SegmentId)); }
private async Task<object> GetDynamicSegment(GetDynamicHlsVideoSegment request, bool isMain) { var index = int.Parse(request.SegmentId, NumberStyles.Integer, UsCulture); var state = await GetState(request, CancellationToken.None).ConfigureAwait(false); var playlistPath = Path.ChangeExtension(GetOutputFilePath(state), ".m3u8"); var path = GetSegmentPath(playlistPath, index); if (File.Exists(path)) { return GetSegementResult(path); } if (!File.Exists(playlistPath)) { await StartFfMpeg(state, playlistPath).ConfigureAwait(false); await WaitForMinimumSegmentCount(playlistPath, GetSegmentWait()).ConfigureAwait(false); } return GetSegementResult(path); }
public object Get(GetDynamicHlsVideoSegment request) { return(GetDynamicSegment(request, request.SegmentId).Result); }