aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
AgeCommit message (Collapse)Author
2020-10-01Remove PlayableStreamFileNames as unusedStanislav Ionascu
Since ffmpeg can play and transcode ISO files and BDMV folders directly, there's no use of that property.
2020-10-01Add probe / direct-stream / transcoding support for BluRaysStanislav Ionascu
This commit (and ffmpeg built with libbluray support), adds support for playback of bluray images (bd-iso) and bluray folders.
2020-08-26Clean up json Converterscrobibero
2020-08-20Merge branch 'master' into warn24Bond-009
2020-08-20Merge branch 'master' into feature/ffmpeg-version-checkBond-009
2020-08-20Make MediaBrowser.MediaEncoding warnings freeBond_009
2020-08-19Fix warningsBond_009
2020-08-04Minor fixesBond-009
2020-08-04Add some analyzers to MediaBrowser.MediaEncodingBond-009
2020-08-04Enable TreatWarningsAsErrors for MediaBrowser.MediaEncodingBond-009
2020-07-02Merge branch 'master' into feature/ffmpeg-version-checkMax Git
2020-06-29User string.Empty instead of ""Neil Burrows
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2020-06-29Respect FFMpeg path passed via Environment VariableNeil Burrows
2020-06-23Merge branch 'master' into feature/ffmpeg-version-checkMax Git
2020-06-20fix some documentation periodstelans
2020-06-17Merge branch 'master' into feature/ffmpeg-version-checkMax Git
2020-06-16Merge pull request #3343 from telans/comment-stopsBond-009
Add full stop at end of comments (SA1629)
2020-06-16fix SA1513/SA1516telans
2020-06-16Add full stop at end of comments (SA1629)telans
2020-06-15Merge branch 'master' into hwacceldkanada
2020-06-15Merge from master & fix conflictMax Git
2020-06-15fix SA1508telans
2020-06-15fix SA1005telans
2020-06-05Use typed logger where possiblecrobibero
2020-06-01Try harder at detecting FFmpeg version and enable the validationMax Git
2020-05-26Fix missing commas and merge defectsVasily
2020-05-26Update MediaEncoder.csartiume
2020-05-26add more separate hw decoding togglesnyanmisaka
2020-04-27Try harder to find ffmpeg in app directory. While here do some cleanupMax Git
2020-04-22Remove unused usingsMark Monteiro
This addresses the new issues identified in SonarCloud analysis
2020-04-20Merge remote-tracking branch 'upstream/master' into register-services-correctlyMark Monteiro
2020-04-19Minor improvementsBond_009
2020-04-13Merge branch 'master' into register-services-correctlyMark Monteiro
2020-04-11Use a separate line for each property initializerMark Monteiro
2020-04-11Use ActivatorUtilities to construct MediaEncoder and update constructor to ↵Mark Monteiro
inject EncodingHelper correctly
2020-04-03Merge remote-tracking branch 'upstream/master' into remove-common-processMark Monteiro
2020-04-01Merge branch 'master' into usingsBond-009
2020-03-27Fix some more issues with disposing Process instancesMark Monteiro
2020-03-27Use a TimeSpan instead of ms and support providing a custom CancellationTokenMark Monteiro
2020-03-27Delete unnecessary ProcessFactory abstractionMark Monteiro
2020-03-27Remove unnecessary CommonProcess abstractionMark Monteiro
2020-03-24Remove unused usingsBond_009
2020-02-23Minor improvementsBond_009
2020-01-16Address commentsBond-009
2020-01-16Add back support for DVDs copied as foldersBond-009
2019-12-22Fix exceptions while scanningBond_009
Fixes these exceptions: ``` [2019-12-22 20:48:14.779 +01:00] [ERR] Error in WaitForExit System.InvalidOperationException: No process is associated with this object. at System.Diagnostics.Process.EnsureState(State state) at System.Diagnostics.Process.EnsureState(State state) at System.Diagnostics.Process.GetWaitState() at System.Diagnostics.Process.WaitForExitCore(Int32 milliseconds) at System.Diagnostics.Process.WaitForExit(Int32 milliseconds) at Emby.Server.Implementations.Diagnostics.CommonProcess.WaitForExit(Int32 timeMs) in /home/pi/dev/jellyfin/Emby.Server.Implementations/Diagnostics/CommonProcess.cs:line 100 at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.StopProcess(ProcessWrapper process, Int32 waitTimeMs) in /home/pi/dev/jellyfin/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs:line 785 [2019-12-22 20:48:14.790 +01:00] [INF] Killing ffmpeg process [2019-12-22 20:48:14.795 +01:00] [ERR] Error killing process System.InvalidOperationException: No process is associated with this object. at System.Diagnostics.Process.EnsureState(State state) at System.Diagnostics.Process.EnsureState(State state) at System.Diagnostics.Process.Kill() at Emby.Server.Implementations.Diagnostics.CommonProcess.Kill() in /home/pi/dev/jellyfin/Emby.Server.Implementations/Diagnostics/CommonProcess.cs:line 95 at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.StopProcess(ProcessWrapper process, Int32 waitTimeMs) in /home/pi/dev/jellyfin/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs:line 799 [2019-12-22 20:48:14.808 +01:00] [ERR] Error in "ffprobe" System.Text.Json.JsonException: The JSON value could not be converted to System.String. Path: $.streams[0].start_pts | LineNumber: 32 | BytePositionInLine: 26. ---> System.InvalidOperationException: Cannot get the value of a token type 'Number' as a string. at System.Text.Json.Utf8JsonReader.GetString() at System.Text.Json.Serialization.Converters.JsonConverterString.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) at System.Text.Json.JsonPropertyInfoNotNullable`4.OnRead(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.JsonSerializer.HandleValue(JsonTokenType tokenType, JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& state) at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& readStack, Utf8JsonReader& reader, Exception ex) at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) at System.Text.Json.JsonSerializer.ReadCore(JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& readStack) at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken) in /home/pi/dev/jellyfin/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs:line 399 at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken) in /home/pi/dev/jellyfin/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs:line 122 at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) in /home/pi/dev/jellyfin/MediaBrowser.Providers/Manager/MetadataService.cs:line 815 ```
2019-11-25Make probesize and analyzeduration configurable and simplify circularBond_009
dependencies Makes the probesize and analyzeduration configurable with env args. (`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
2019-09-28Add tests for EncoderValidatorBond_009
* Add support for ffmpeg 4.2 * Parse the complete ffmpeg version instead of only the first 2 digits * Make max and min version optional * Remove max limitation (for now) * Style improvements
2019-09-01Fix more warningsBond_009
2019-04-30Limit amount of ffmpeg processes extracting images at onceBond-009