ankenyr / jellyfin-youtube-metadata-plugin

Youtube Metadata Plugin for Jellyfin
GNU Affero General Public License v3.0
510 stars 33 forks source link

Update for jellyfin 10.9 #104

Closed nalsai closed 4 months ago

nalsai commented 4 months ago

This makes the plugin work with jellyfin 10.9.

I also formatted the files I worked on.

For the github actions build workflow I only changed DOTNET_VERSION: '8.0.104', which is the version I have installed on my system.

I tried to run and fix the tests but RemoteProviderCachedResultsTest still fails. I believe the reason is that it's trying to read a non-existent FileInfo.

TheFrenchGhosty commented 4 months ago

Someone else did that: https://github.com/JMiles42/jellyfin-youtube-metadata-plugin/commit/8fb3ff2d0c20f95779639ae1a478c18a2b93d03b

This might helps..?

nalsai commented 4 months ago

From what I can see, they only made some more code style changes and did not change the tests or the workflow.

TheFrenchGhosty commented 4 months ago

@nalsai Currently testing (note: I'm not a developer): when building I'm getting a lot more dll than expected, is it normal?

Do I just pick the 3 dll that are needed?

Note: I'm guessing it's because of this warning:

/usr/share/dotnet/sdk/8.0.104/Current/SolutionFile/ImportAfter/Microsoft.NET.Sdk.Solution.targets(36,5): warning NETSDK1194: The "--output" option isn't supported when building a solution. Specifying a solution-level output path results in all projects copying outputs to the same directory, which can lead to inconsistent builds. [/home/[user]/git/jellyfin-youtube-metadata-plugin/Jellyfin.Plugin.YoutubeMetadata.sln]

TheFrenchGhosty commented 4 months ago

Tested: Jellyfin crashes just after the ffprobe that gets the file duration:

[2024-05-20 19:10:51.585 +00:00] [FTL] [70] Main: Unhandled Exception
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
   at System.IO.StreamReader.ReadLine()
   at NYoutubeDL.YoutubeDLP.StandardError(Object tokenObj)
   at System.Threading.QueueUserWorkItemCallback.Execute()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

I used my build (the 3 dll only), so maybe it's my build that is broken...?

TheFrenchGhosty commented 4 months ago

So, more testing:

I originally ran in on the whole library (110 videos), with a bit more than a dozen with existing metadata: this was the crash.

I then ran it on smaller batches of videos (less than 10 at a time, that didn't have metadata): it worked perfectly, I then ran it on the videos that had metadata: it worked perfectly.

I then ran it again on the whole library... and it worked perfectly.

I really don't understand why it crashed the first time.

This is how each run were done:

image

PS: thanks for this update!

ankenyr commented 4 months ago

Do you still have the crash log @TheFrenchGhosty ? It would be helpful to have that. Please open a new issue so that it can be tracked.

This is looking good @nalsai

ankenyr commented 4 months ago

Appreciate the contribution here. I will go ahead and build/deploy a new version shortly.

TheFrenchGhosty commented 4 months ago

@ankenyr There is nothing more than what I sent in the log sadly.

Before the crash, there's just the ffprobe

Might have been a random crash :shrug: