Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/232a148d3f300a3ac3afc593d65ade7ae1267d92
You should set ROOT_URL correctly, otherwise the web may not work correctly.
2 changed files with
29 additions and
11 deletions
@ -1027,27 +1027,32 @@ namespace MediaBrowser.MediaEncoding.Probing
/// </summary>
/// <param name="value">The value.</param>
/// <returns>System.Nullable{System.Single}.</returns>
private float? GetFrameRate ( string value )
internal static float? GetFrameRate ( ReadOnlySpan < char > value )
{
if ( string . IsNullOrEmpty ( value ) )
if ( value . IsEmpty )
{
return null ;
}
var parts = value . Split ( '/' ) ;
float result ;
if ( parts . Length = = 2 )
int index = value . IndexOf ( '/' ) ;
if ( index = = - 1 )
{
result = float . Parse ( parts [ 0 ] , CultureInfo . InvariantCulture ) / float . Parse ( parts [ 1 ] , CultureInfo . InvariantCulture ) ;
// REVIEW: is this branch actually required? (i.e. does ffprobe ever output something other than a fraction?)
if ( float . TryParse ( value , NumberStyles . AllowThousands | NumberStyles . Float , CultureInfo . InvariantCulture , out var result ) )
{
return result ;
}
return null ;
}
else
if ( ! float . TryParse ( value [ . . index ] , NumberStyles . Integer , CultureInfo . InvariantCulture , out var dividend )
| | ! float . TryParse ( value [ ( index + 1 ) . . ] , NumberStyles . Integer , CultureInfo . InvariantCulture , out var divisor ) )
{
result = float . Parse ( parts [ 0 ] , CultureInfo . InvariantCulture ) ;
return null ;
}
return float . IsNaN ( result ) ? null : result ;
return divisor = = 0f ? null : dividend / divisor ;
}
private void SetAudioRuntimeTicks ( InternalMediaInfoResult result , MediaInfo data )
@ -18,6 +18,19 @@ namespace Jellyfin.MediaEncoding.Tests.Probing
private readonly JsonSerializerOptions _jsonOptions = JsonDefaults . Options ;
private readonly ProbeResultNormalizer _probeResultNormalizer = new ProbeResultNormalizer ( new NullLogger < EncoderValidatorTests > ( ) , null ) ;
[Theory]
[InlineData("2997/125", 23.976f)]
[InlineData("1/50", 0.02f)]
[InlineData("25/1", 25f)]
[InlineData("120/1", 120f)]
[InlineData("1704753000/71073479", 23.98578237601117f)]
[InlineData("0/0", null)]
[InlineData("1/1000", 0.001f)]
[InlineData("1/90000", 1.1111111E-05f)]
[InlineData("1/48000", 2.0833333E-05f)]
public void GetFrameRate_Success ( string value , float? expected )
= > Assert . Equal ( expected , ProbeResultNormalizer . GetFrameRate ( value ) ) ;
[Fact]
public void GetMediaInfo_MetaData_Success ( )
{