Comments (20)
Depends - Opus is growing in popularity and FLAC is already popular. I personally use both.
I'd rather us stay on master than downgrade to a six year old version.
from jellyfin.
Removing the ImageMagickSharp and TagLibSharp build configurations is causing problems in #82, where users can't build the solution unless these projects have already been compiled. Not sure why the Docker image still builds successfully, though.
from jellyfin.
So we can specify a framework to build against in the dotnet build command, but because we need to target multiple frameworks (netstandard2.0, netcoreapp2.1), we can't build properly...
Even after specifying netstandard2.0 and running against only taglibsharp.csproj, when you target netcoreapp2.1 and run against the mediabrowser.sln, it doesn't recognise that a netstandard library has already been compiled for taglibsharp and then errors out that there's no netcoreapp2.1 target.
The easy option here is to wait for Mono to release a new taglib-sharp NuGet package, as then we don't need to worry about compiling it at all (thanks @Bond-009 for the suggestion!), but there's been an open issue on this with taglib-sharp for a while now (mono/taglib-sharp#40) without any news.
In the short term I'd recommend forking the taglib-sharp repository into the jellyfin GitHub organisation, updating the csproj in the fork to only target .Net Standard. If/when Mono release a new taglib-sharp NuGet package, we can ditch the fork and move back to the official NuGet package. In the meantime, any updates we need from upstream that aren't released in any new packages can always be merged into the fork easily.
from jellyfin.
@BnMcG it seems to me that forking and fixing is the best we could do now. Would you be able to make it happen? :)
from jellyfin.
@JustAMan, I need somebody with appropriate access to the Jellyfin organisation to fork taglib-sharp into it, @joshuaboniface has said he'll do it at some point today, but if you can make it happen sooner I'm happy to change the csproj and update references in the Jellyfin repository.
from jellyfin.
I do not have enough permissions (and I don't want them now, I have enough on my plate tbh :), so you have to wait for @joshuaboniface
from jellyfin.
@joshuaboniface Hold off on action for a bit. I'll try a few things tonight. I'd like to leaving forking as the very last resort.
from jellyfin.
Ack, will hold off 👍
from jellyfin.
We are not using Mono anymore. Use the Nuget package if you are going to do this. I am working on a pull request now.
from jellyfin.
I managed to build the container successfully. Just use nuget to add the TagLib 2.1 library, and it will build correctly. Do you want me to make a pull request?
from jellyfin.
@RazeLighter777 - No, that version apparently is missing a lot of features #41 (comment)
from jellyfin.
@nvllsvm Are those features critical to the project?
from jellyfin.
Is there any progress on this? I still can't build the MediaBrowser solution at the moment.
from jellyfin.
@BnMcG You can build it if you add TagLib 2.1 to the Emby.Photos csproj file with nuget. But apparently that version is outdated (doesn’t support flac or opus) so we are not doing that.
from jellyfin.
I've worked around for now by building taglib-sharp and imagemagicksharp using the CLI, this fails the Net 4.5 compilation but it still compiles the .net standard version first. This seems to work as long as I don't clean the solution, in which case I need to manually re-compile these from the cli again.
from jellyfin.
So, in attempting to set up my build environment on macOS (10.14.2, VS 7.7.2), I've noticed I have a variant of this as well.
Visual Studio for Mac comes with Mono, even though it recognizes .NET Core and offers to install it, if you don't have it.
In the default debug configuration for the solution, taglib-sharp isn't marked for building, so I just had to enable it in the Solution Options.
EDIT: I stand corrected, the build failed for Emby.Photos
from jellyfin.
So if I copy taglib-sharp.dll
from /ThirdParty/taglib-sharp/src/bin/Release/net40
into netstandard20
, then the whole build works, because it can now find the DLL it needs with the right target name. I haven't tried the Photos function yet (if that's where this is called), I've only tried streaming a few test clips, but it seems to work. Is there something I can check to make sure Taglib is used?
cc @nvllsvm
(I realize my comments aren't about Docker, but this issue seems to have the current discusssion for Taglib in general.)
from jellyfin.
@anthonylavado taglib is likely used when reading (and maybe writing) metadata to files in your library (select file -> edit metadata)...haven't dove into the source to check yet, however.
from jellyfin.
So TagLub has been updated in Beta right now. Would be good to test it
https://www.nuget.org/packages/TagLibSharp
from jellyfin.
Both of the projects in question have been removed.
from jellyfin.
Related Issues (20)
- [Issue]: 404 on update HOT 8
- stack traces and playback errors after upgrade to 10.9.0 HOT 5
- [Issue] The WebRootPath was not found: /var/lib/jellyfin/wwwroot. Static files may be unavailable. HOT 2
- [Issue]: Downgrade from 10.9.0 back to 10.8.13 does not work HOT 3
- Cannot access Jellyfin after updating to 10.9 - possible binding problem HOT 23
- [Issue]: Generate Trickplay Images Does Not Work HOT 6
- [Issue]: 10.9.0 - RAM keeps steadily increasing HOT 6
- [Issue]: Unable to play hardlinked files that are still seeding (unless seeding is paused) HOT 2
- [Issue]: After updating to 10.9.0, the live TV feature has a failure to play error HOT 4
- [Issue]: reboot via ui spams errors HOT 3
- [Issue]: Trickplay image generation failing HOT 3
- [Issue]: Docker network_mode: "host" binding problem HOT 13
- [Issue]: Missing playlists after 10.9.0 update HOT 5
- [Issue]: How long should Tickplay generation should take? HOT 5
- [Issue]: Cannot add Shows library on v10.9.0 HOT 2
- [Issue]: HOT 2
- [Issue]: [10.9.0] An unhandled exception was thrown by the application HOT 20
- AutoDiscoveryHost still returns wrong address HOT 8
- [Issue]: Video fast forwarding causes player stuck and wait until app restart on webOS
- [Issue]: [10.9] Resuming playback results in video (and subtitles) being out of sync HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin.