diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-13 23:45:17 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-13 23:45:17 -0400 |
| commit | 5fe9b054c8c1c87261009f3aba997c4d594fcd6d (patch) | |
| tree | c5bb9f34e55ec97a54a42b43b0ea0f4fe9d985ba /MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | |
| parent | 1fdaee1bb9935092e15cff3bbb8a976c811b0e4a (diff) | |
3.0.5582.0
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 846d54a5f..df7351ad1 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -280,7 +280,7 @@ namespace MediaBrowser.MediaEncoding.Encoder private async Task<List<int>> GetKeyFrames(string inputPath, int videoStreamIndex, CancellationToken cancellationToken) { - const string args = "-i {0} -select_streams v:{1} -show_frames -print_format compact"; + const string args = "-i {0} -select_streams v:{1} -show_frames -show_entries frame=pkt_dts,key_frame -print_format compact"; var process = new Process { @@ -310,15 +310,12 @@ namespace MediaBrowser.MediaEncoding.Encoder StartProcess(processWrapper); var lines = new List<int>(); - var outputCancellationSource = new CancellationTokenSource(4000); try { process.BeginErrorReadLine(); - var linkedCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(outputCancellationSource.Token, cancellationToken); - - await StartReadingOutput(process.StandardOutput.BaseStream, lines, 120000, outputCancellationSource, linkedCancellationTokenSource.Token).ConfigureAwait(false); + await StartReadingOutput(process.StandardOutput.BaseStream, lines, 120000, cancellationToken).ConfigureAwait(false); } catch (OperationCanceledException) { @@ -335,7 +332,7 @@ namespace MediaBrowser.MediaEncoding.Encoder return lines; } - private async Task StartReadingOutput(Stream source, List<int> lines, int timeoutMs, CancellationTokenSource cancellationTokenSource, CancellationToken cancellationToken) + private async Task StartReadingOutput(Stream source, List<int> lines, int timeoutMs, CancellationToken cancellationToken) { try { @@ -362,11 +359,6 @@ namespace MediaBrowser.MediaEncoding.Encoder { lines.Add(frameMs); } - - if (frameMs > timeoutMs) - { - cancellationTokenSource.Cancel(); - } } } } |
