Explorar o código

Merge pull request #248 from jellyfin/develop

Master 3.5.2-4
Andrew Rabert %!s(int64=6) %!d(string=hai) anos
pai
achega
e163fea9d9

+ 5 - 5
Dockerfile

@@ -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

+ 17 - 0
Dockerfile.aarch64

@@ -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

+ 0 - 1
DvdLib/Ifo/ProgramChain.cs

@@ -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; }
 

+ 5 - 12
Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs

@@ -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

+ 0 - 3
Emby.IsoMounting/IsoMounter/LinuxMount.cs

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

+ 1 - 1
Emby.Server.Implementations/Library/LibraryManager.cs

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

+ 2 - 2
Mono.Nat/Pmp/PmpNatDevice.cs

@@ -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);
         }
     }
-}
+}

+ 36 - 59
README.md

@@ -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).

+ 1 - 3
RSSDP/DiscoveredSsdpDevice.cs

@@ -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
 	}
-}
+}

+ 2 - 2
RSSDP/SsdpDeviceLocator.cs

@@ -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
 
     }
-}
+}

+ 9 - 4
RSSDP/SsdpDevicePublisher.cs

@@ -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
             }
         }
     }
-}
+}

+ 0 - 6
SocketHttpListener/Net/HttpListenerContext.cs

@@ -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;
 

+ 3 - 3
SocketHttpListener/Net/HttpListenerRequestUriBuilder.cs

@@ -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));

+ 3 - 5
SocketHttpListener/WebSocket.cs

@@ -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 - 0
debian/changelog

@@ -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