Merge pull request #248 from jellyfin/develop

Master 3.5.2-4
pull/1154/head
Andrew Rabert 6 years ago committed by GitHub
commit e163fea9d9

@ -9,10 +9,10 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
COPY --from=builder /jellyfin /jellyfin
RUN apt update \
&& apt install -y ffmpeg gosu
EXPOSE 8096
RUN apt update \
&& apt install -y ffmpeg
VOLUME /config /media
ENV PUID=1000 PGID=1000
ENTRYPOINT chown $PUID:$PGID /config /media \
&& gosu $PUID:$PGID dotnet /jellyfin/jellyfin.dll -programdata /config
ENTRYPOINT if [ -n "$PUID$PGUID" ]; \
then echo "PUID/PGID are deprecated. Use Docker user param." >&2; exit 1; \
else dotnet /jellyfin/jellyfin.dll -programdata /config; fi

@ -0,0 +1,17 @@
ARG DOTNET_VERSION=3.0
FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder
WORKDIR /repo
COPY . .
RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
&& find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; \
&& dotnet clean \
&& dotnet publish --configuration release --output /jellyfin
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
COPY --from=builder /jellyfin /jellyfin
EXPOSE 8096
RUN apt update \
&& apt install -y ffmpeg
VOLUME /config /media
ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config

@ -35,7 +35,6 @@ namespace DvdLib.Ifo
private ushort _goupProgramNumber;
public readonly ProgramChain Goup; // ?? maybe Group
private byte _playbackMode;
public ProgramPlaybackMode PlaybackMode { get; private set; }
public uint ProgramCount { get; private set; }

@ -144,24 +144,17 @@ namespace IsoMounter
return Task.FromResult(false);
}
public async Task<IIsoMount> Mount(string isoPath, CancellationToken cancellationToken)
public Task<IIsoMount> Mount(string isoPath, CancellationToken cancellationToken)
{
LinuxMount mountedISO;
if (MountISO(isoPath, out mountedISO)) {
return mountedISO;
}else{
if (MountISO(isoPath, out LinuxMount mountedISO)) {
return Task.FromResult<IIsoMount>(mountedISO);
}
else {
throw new IOException(String.Format(
"An error occurred trying to mount image [$0].",
isoPath
));
}
}
#endregion

@ -1,8 +1,5 @@
using System;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
namespace IsoMounter
{

@ -3179,4 +3179,4 @@ namespace Emby.Server.Implementations.Library
CollectionFolder.SaveLibraryOptions(virtualFolderPath, libraryOptions);
}
}
}
}

@ -109,7 +109,7 @@ namespace Mono.Nat.Pmp
if (attempt == 0)
{
Task.Run(() => CreatePortMapListen(udpClient, mapping, cancellationTokenSource.Token));
await Task.Run(() => CreatePortMapListen(udpClient, mapping, cancellationTokenSource.Token));
}
attempt++;
@ -214,4 +214,4 @@ namespace Mono.Nat.Pmp
this.localAddress, this.publicAddress, this.LastSeen);
}
}
}
}

@ -1,76 +1,53 @@
Jellyfin
============
<h1 align="center">Jellyfin</h1>
<h3 align="center">The Free Software Media System</h3>
Jellyfin is a personal media server. The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices.
<p align="center">
Jellyfin is a free software media system that puts you in control of managing and streaming your media.
</p>
Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform.
For further details, please see [our wiki](https://github.com/jellyfin/jellyfin/wiki). To receive the latest project updates feel free to join [our public chat on Matrix/Riot](https://matrix.to/#/#jellyfin:matrix.org) and to subscribe to [our subreddit](https://www.reddit.com/r/jellyfin/).
## Feature Requests
While our first priority is a stable build, we will eventually add features that were missing in Emby or were not well implemented (technically or philosophically).
[Feature Requests](http://feathub.com/jellyfin/jellyfin)
## Contributing to Jellyfin
If you're interested in contributing, please see [our wiki for guidelines](https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin).
## Prebuilt Jellyfin packages
-----
Prebuild packages are available for Debian/Ubuntu and Arch, and via Docker Hub.
<p align="center">
<strong>Want to get started?</strong> Choose from <a href="https://github.com/jellyfin/jellyfin/wiki/Prebuilt-Packages">Prebuilt Packages</a>, or <a href="https://github.com/jellyfin/jellyfin/wiki/Building-from-Source">Build from Source</a>.
</p>
<p align="center">
<strong>Want to contribute?</strong> Check out <a href="https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin">our wiki for guidelines</a>.
</p>
### Docker
---
The Jellyfin Docker image is available on Docker Hub at https://hub.docker.com/r/jellyfin/jellyfin/
<p align="center">
<a href="https://github.com/jellyfin/jellyfin"><img alt="GPL 2.0 License" src="https://img.shields.io/github/license/jellyfin/jellyfin.svg"></a>
<a href="https://cloud.drone.io/jellyfin/jellyfin"><img alt="Build Status" src="https://cloud.drone.io/api/badges/jellyfin/jellyfin/status.svg"></a>
<a href="https://hub.docker.com/r/jellyfin/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/jellyfin/jellyfin.svg"></a>
<a href="https://matrix.to/#/#jellyfin:matrix.org"><img alt="Chat on Matrix" src="https://img.shields.io/matrix/!JXmoIxArWgVvbKKqex/matrix.org.svg?logo=matrix"></a>
<a href="https://www.reddit.com/r/jellyfin/"><img alt="Join our Subreddit" src="https://img.shields.io/badge/reddit-r%2Fjellyfin-%23FF5700.svg"></a>
</p>
### Arch
For further details, please see [our wiki](https://github.com/jellyfin/jellyfin/wiki).
The Jellyfin package is in the AUR at https://aur.archlinux.org/packages/jellyfin-git/
To receive the latest updates, please visit [our public chat on Matrix/Riot](https://matrix.to/#/#jellyfin:matrix.org), our [announce chat](https://matrix.to/#/#jellyfin-announce:matrix.org) for release info, and follow us on [Social Media](https://github.com/jellyfin/jellyfin/wiki/Social-Media).
### Unraid
## About
An Unraid Docker template is available. See [this documentation page](https://github.com/jellyfin/jellyfin/blob/master/unRaid/docker-templates/README.md) for details on installing it.
The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices.
### Debian/Ubuntu
A package repository is available at https://repo.jellyfin.org.
NOTE: Ubuntu users may find that the `ffmpeg` dependency package is not present in their release or is simply a rebranded `libav` which is not directly compatible. Please [obtain the ffmpeg package directly from the FFMPEG site](https://ffmpeg.org/download.html#build-linux) to use Jellyfin on Ubuntu.
For instructions on using the repository, please see [our wiki](https://github.com/jellyfin/jellyfin/wiki/Jellyfin-Debian-repository).
## Building Jellyfin packages from source
Jellyfin seeks to integrate build facilities for any desired packaging format. Instructions for the various formats can be found below.
NOTE: When building from source, only cloning the full Git repository is supported, rather than using a `.zip`/`.tar` archive, in order to support submodules.
### Debian/Ubuntu
Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform.
Debian build facilities are integrated into the repo at `debian/`.
## Issues and Feature Requests
0. Install the `dotnet-sdk-2.2` package via [Microsoft's repositories](https://dotnet.microsoft.com/download/dotnet-core/2.2).
0. Run `dpkg-buildpackage -us -uc`.
0. Install the resulting `jellyfin_*.deb` file on your system.
A huge thanks to Carlos Hernandez who created the original Debian build configuration for Emby 3.1.1.
### Windows (64 bit)
<p align="center">
<strong>New idea or improvement?</strong>
<em>Open a <a href="https://github.com/jellyfin/jellyfin/wiki/Feature-Requests">Feature Request</a>.</em>
</p>
<p align="center">
<Strong>Something not working right?</strong>
<em>Open an <a href="https://github.com/jellyfin/jellyfin/wiki/Issue-Guidelines">Issue</a>.</em>
</p>
A pre-built windows installer will be available soon. Until then it isn't too hard to install Jellyfin from Source.
0. Install the dotnet core SDK 2.2 from [Microsoft's Webpage](https://dotnet.microsoft.com/download/dotnet-core/2.2) and [install Git for Windows](https://gitforwindows.org/)
0. Clone Jellyfin into a directory of your choice.
```
git clone https://github.com/jellyfin/jellyfin.git C:\Jellyfin
```
0. From the Jellyfin directory you can use our Jellyfin build script. Call `Build-Jellyfin.ps1 -InstallFFMPEG` from inside the directory in a powershell window. Make sure you've set your executionpolicy to unrestricted.
## Contributing to Jellyfin
Additional flags:
* If you want to optimize for your environment you can use the `-WindowsVersion` and `-Architecture` flags to do so; the default is generic Windows x64.
* The `-InstallLocation` flag lets you select where the compiled binaries go; the default is `$Env:AppData\JellyFin-Server\` .
* The `-InstallFFMPEG` flag will automatically pull the stable ffmpeg binaries appropriate to your architecture (x86/x64 only for now) from [Zeranoe](https://ffmpeg.zeranoe.com/builds/) and place them in your Jellyfin directory.
0. (Optional) Use [NSSM](https://nssm.cc/) to configure JellyFin to run as a service
0. Jellyfin is now available in the default directory (or the directory you chose). Assuming you kept the default directory, to start it from a Powershell window, run, `&"$env:APPDATA\Jellyfin-Server\EmbyServer.exe"`. To start it from CMD, run, `%APPDATA%\Jellyfin-Server\EmbyServer.exe`
If you're interested in contributing, please see [our wiki for guidelines](https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin).

@ -17,7 +17,6 @@ namespace Rssdp
#region Fields
private SsdpRootDevice _Device;
private DateTimeOffset _AsAt;
#endregion
@ -55,7 +54,6 @@ namespace Rssdp
if (_AsAt != value)
{
_AsAt = value;
_Device = null;
}
}
}
@ -93,4 +91,4 @@ namespace Rssdp
#endregion
}
}
}

@ -124,7 +124,7 @@ namespace Rssdp.Infrastructure
{
await SearchAsync(CancellationToken.None).ConfigureAwait(false);
}
catch (Exception ex)
catch (Exception)
{
}
@ -621,4 +621,4 @@ namespace Rssdp.Infrastructure
#endregion
}
}
}

@ -310,11 +310,16 @@ namespace Rssdp.Infrastructure
try
{
await _CommsServer.SendMessage(System.Text.Encoding.UTF8.GetBytes(message), endPoint, receivedOnlocalIpAddress, cancellationToken).ConfigureAwait(false);
await _CommsServer.SendMessage(
System.Text.Encoding.UTF8.GetBytes(message),
endPoint,
receivedOnlocalIpAddress,
cancellationToken)
.ConfigureAwait(false);
}
catch (Exception ex)
catch (Exception)
{
}
//WriteTrace(String.Format("Sent search response to " + endPoint.ToString()), device);
@ -558,4 +563,4 @@ namespace Rssdp.Infrastructure
}
}
}
}
}

@ -1,19 +1,13 @@
using System;
using System.Net;
using System.Security.Principal;
using MediaBrowser.Model.Cryptography;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Text;
using SocketHttpListener.Net.WebSockets;
using SocketHttpListener.Primitives;
using System.Threading.Tasks;
namespace SocketHttpListener.Net
{
public sealed unsafe partial class HttpListenerContext
{
internal HttpListener _listener;
private HttpListenerResponse _response;
private IPrincipal _user;

@ -253,7 +253,7 @@ namespace SocketHttpListener.Net
//if (NetEventSource.IsEnabled)
// NetEventSource.Error(this, SR.Format(SR.net_log_listener_cant_convert_percent_value, codePoint));
}
catch (EncoderFallbackException e)
catch (EncoderFallbackException)
{
// If utf8Encoding.GetBytes() fails
//if (NetEventSource.IsEnabled) NetEventSource.Error(this, SR.Format(SR.net_log_listener_cant_convert_to_utf8, unicodeString, e.Message));
@ -303,11 +303,11 @@ namespace SocketHttpListener.Net
return true;
}
catch (DecoderFallbackException e)
catch (DecoderFallbackException)
{
//if (NetEventSource.IsEnabled) NetEventSource.Error(this, SR.Format(SR.net_log_listener_cant_convert_bytes, GetOctetsAsString(_rawOctets), e.Message));
}
catch (EncoderFallbackException e)
catch (EncoderFallbackException)
{
// If utf8Encoding.GetBytes() fails
//if (NetEventSource.IsEnabled) NetEventSource.Error(this, SR.Format(SR.net_log_listener_cant_convert_to_utf8, decodedString, e.Message));

@ -299,7 +299,7 @@ namespace SocketHttpListener
}
OnError.Emit(this, new ErrorEventArgs(message));
}
catch (Exception ex)
catch (Exception)
{
}
}
@ -310,7 +310,7 @@ namespace SocketHttpListener
{
OnError.Emit(this, new ErrorEventArgs(message));
}
catch (Exception ex)
catch (Exception)
{
}
}
@ -423,8 +423,6 @@ namespace SocketHttpListener
private bool processPingFrame(WebSocketFrame frame)
{
var mask = Mask.Unmask;
return true;
}
@ -796,4 +794,4 @@ namespace SocketHttpListener
#endregion
}
}
}

6
debian/changelog vendored

@ -1,3 +1,9 @@
jellyfin (3.5.2-4) unstable; urgency=medium
* Correct manifest.json bug and vdpau
-- Joshua Boniface <joshua@boniface.me> Thu, 20 Dec 2018 18:31:43 -0500
jellyfin (3.5.2-3) unstable; urgency=medium
* Correct several bugs in 3.5.2-2 packaging

Loading…
Cancel
Save