Merge pull request #6639 from 1337joe/mp4-track-title-fallback

Add mp4 track title fallback
This commit is contained in:
Claus Vium 2021-10-01 08:15:34 +02:00 committed by GitHub
commit 531efc345a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -688,6 +688,16 @@ namespace MediaBrowser.MediaEncoding.Probing
{ {
stream.BitDepth = streamInfo.BitsPerRawSample; stream.BitDepth = streamInfo.BitsPerRawSample;
} }
if (string.IsNullOrEmpty(stream.Title))
{
// mp4 missing track title workaround: fall back to handler_name if populated
string handlerName = GetDictionaryValue(streamInfo.Tags, "handler_name");
if (!string.IsNullOrEmpty(handlerName))
{
stream.Title = handlerName;
}
}
} }
else if (string.Equals(streamInfo.CodecType, "subtitle", StringComparison.OrdinalIgnoreCase)) else if (string.Equals(streamInfo.CodecType, "subtitle", StringComparison.OrdinalIgnoreCase))
{ {
@ -696,6 +706,16 @@ namespace MediaBrowser.MediaEncoding.Probing
stream.LocalizedUndefined = _localization.GetLocalizedString("Undefined"); stream.LocalizedUndefined = _localization.GetLocalizedString("Undefined");
stream.LocalizedDefault = _localization.GetLocalizedString("Default"); stream.LocalizedDefault = _localization.GetLocalizedString("Default");
stream.LocalizedForced = _localization.GetLocalizedString("Forced"); stream.LocalizedForced = _localization.GetLocalizedString("Forced");
if (string.IsNullOrEmpty(stream.Title))
{
// mp4 missing track title workaround: fall back to handler_name if populated and not the default "SubtitleHandler"
string handlerName = GetDictionaryValue(streamInfo.Tags, "handler_name");
if (!string.IsNullOrEmpty(handlerName) && !string.Equals(handlerName, "SubtitleHandler", StringComparison.OrdinalIgnoreCase))
{
stream.Title = handlerName;
}
}
} }
else if (string.Equals(streamInfo.CodecType, "video", StringComparison.OrdinalIgnoreCase)) else if (string.Equals(streamInfo.CodecType, "video", StringComparison.OrdinalIgnoreCase))
{ {