Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/c9ee7633caacb548fd54c33c7c9df1be29b71d29
You should set ROOT_URL correctly, otherwise the web may not work correctly.
7 changed files with
67 additions and
2 deletions
@ -52,6 +52,18 @@ namespace Emby.Common.Implementations.Net
{
throw new SocketCreateException ( ex . SocketErrorCode . ToString ( ) , ex ) ;
}
catch ( ArgumentException ex )
{
if ( dualMode )
{
// Mono for BSD incorrectly throws ArgumentException instead of SocketException
throw new SocketCreateException ( "AddressFamilyNotSupported" , ex ) ;
}
else
{
throw ;
}
}
}
public ISocket CreateTcpSocket ( IpAddressInfo remoteAddress , int remotePort )
@ -110,8 +110,11 @@ namespace MediaBrowser.Api.Playback.Hls
throw ;
}
var waitForSegments = state . SegmentLength > = 10 ? 2 : 3 ;
await WaitForMinimumSegmentCount ( playlist , waitForSegments , cancellationTokenSource . Token ) . ConfigureAwait ( false ) ;
var minSegments = state . MinSegments ;
if ( minSegments > 0 )
{
await WaitForMinimumSegmentCount ( playlist , minSegments , cancellationTokenSource . Token ) . ConfigureAwait ( false ) ;
}
}
}
finally
@ -42,6 +42,9 @@ namespace MediaBrowser.Api.Playback
public string LiveStreamId { get ; set ; }
public string Tag { get ; set ; }
public string SegmentContainer { get ; set ; }
public int? SegmentLength { get ; set ; }
public int? MinSegments { get ; set ; }
}
public class VideoStreamRequest : StreamRequest
@ -60,6 +60,11 @@ namespace MediaBrowser.Api.Playback
{
get
{
if ( Request . SegmentLength . HasValue )
{
return Request . SegmentLength . Value ;
}
if ( string . Equals ( OutputVideoCodec , "copy" , StringComparison . OrdinalIgnoreCase ) )
{
var userAgent = UserAgent ? ? string . Empty ;
@ -86,6 +91,19 @@ namespace MediaBrowser.Api.Playback
}
}
public int MinSegments
{
get
{
if ( Request . MinSegments . HasValue )
{
return Request . MinSegments . Value ;
}
return SegmentLength > = 10 ? 2 : 3 ;
}
}
public bool IsSegmentedLiveStream
{
get
@ -484,6 +484,15 @@ namespace MediaBrowser.Model.Dlna
playlistItem . CopyTimestamps = transcodingProfile . CopyTimestamps ;
playlistItem . EnableSubtitlesInManifest = transcodingProfile . EnableSubtitlesInManifest ;
if ( transcodingProfile . MinSegments > 0 )
{
playlistItem . MinSegments = transcodingProfile . MinSegments ;
}
if ( transcodingProfile . SegmentLength > 0 )
{
playlistItem . SegmentLength = transcodingProfile . SegmentLength ;
}
if ( ! string . IsNullOrEmpty ( transcodingProfile . MaxAudioChannels ) )
{
int transcodingMaxAudioChannels ;
@ -6,6 +6,7 @@ using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Session ;
using System ;
using System.Collections.Generic ;
using System.Globalization ;
using System.Linq ;
namespace MediaBrowser.Model.Dlna
@ -37,6 +38,9 @@ namespace MediaBrowser.Model.Dlna
public string VideoProfile { get ; set ; }
public int? SegmentLength { get ; set ; }
public int? MinSegments { get ; set ; }
public bool RequireAvc { get ; set ; }
public bool DeInterlace { get ; set ; }
public bool RequireNonAnamorphic { get ; set ; }
@ -291,6 +295,16 @@ namespace MediaBrowser.Model.Dlna
if ( ! isDlna & & isHls )
{
list . Add ( new NameValuePair ( "SegmentContainer" , item . Container ? ? string . Empty ) ) ;
if ( item . SegmentLength . HasValue )
{
list . Add ( new NameValuePair ( "SegmentLength" , item . SegmentLength . Value . ToString ( CultureInfo . InvariantCulture ) ) ) ;
}
if ( item . MinSegments . HasValue )
{
list . Add ( new NameValuePair ( "MinSegments" , item . MinSegments . Value . ToString ( CultureInfo . InvariantCulture ) ) ) ;
}
}
return list ;
@ -42,6 +42,12 @@ namespace MediaBrowser.Model.Dlna
[XmlAttribute("maxAudioChannels")]
public string MaxAudioChannels { get ; set ; }
[XmlAttribute("minSegments")]
public int MinSegments { get ; set ; }
[XmlAttribute("segmentLength")]
public int SegmentLength { get ; set ; }
public List < string > GetAudioCodecs ( )
{
List < string > list = new List < string > ( ) ;