Jump to content

Recommended Posts

Cheesegeezer
Posted

@rbjtech I'm implementing that fix (the one we haven't disclosed yet hehehe) i will test and hope it works

  • Like 1
Posted
2 minutes ago, chef said:

BOOM! Memory usage down by 1000 MB running five series at once!

introskipdb27.png.0d08f9409f22c8ef6402da40df0dedd6.png

CPU is high because I have 5 processing at once, but memory issue is squashed!

wow - BOOM indeed !   😆

That will make a massive difference to those with NAS devices I would imagine ...

Posted

Want me to post the release cheese while you pull the change?

  • Like 1
Cheesegeezer
Posted
1 minute ago, chef said:

Want me to post the release cheese while you pull the change?

Too Bloody Right!!! Great work buddy

  • Haha 1
Cheesegeezer
Posted

@chef tick tock tick tock

Posted (edited)

v 2.0.3.1

  • Major changes to Chapter integration
  • Fixes to API request data for speedy responses
  • Fixes to title sequence detection task (should limit memory usage)
  • Configuration changes (clear browsing data)

IntroSkip_v2.0.3.1.zip

Edited by chef
  • Like 2
  • Thanks 2
Posted
1 minute ago, Cheesegeezer said:

@chef tick tock tick tock

He's busy getting his blenders ready ... 🤣

  • Like 1
  • Haha 1
Cheesegeezer
Posted
11 minutes ago, chef said:

v 2.0.3.1

  • Major changes to Chapter integration
  • Fixes to API request data for speedy responses
  • Fixes to title sequence detection task (should limit memory usage)
  • Configuration changes (clear browsing data)

IntroSkip_v2.0.3.1.zip 205.9 kB · 4 downloads

did you update the package Rev, i just pulled it and this is what i got

image.png.5d9fc438d2f4962c688524b6a53f18ee.png

Posted
Just now, Cheesegeezer said:

did you update the package Rev, i just pulled it and this is what i got

image.png.5d9fc438d2f4962c688524b6a53f18ee.png

Just the csproj. I'll fix the package

Cheesegeezer
Posted
Just now, chef said:

Just the csproj. I'll fix the package

no thats fine was just curious, i have just pushed a little update to chapters.  Basically if the Intro starts at 0 then chapter 1 is replaced with title sequence.  Looks very neat now. and everything else works like before, but we don't get duplicate Chapter 1 0:00 then Title Sequence 0:00

image.png.cdac216e87ad4aa6b86bdb6f14976c9b.png

 

image.thumb.png.72e5db234ef836099fa1bc9233857e83.png

  • Like 2
Cheesegeezer
Posted

@chef I just pushed a commit with the latest version now.  2.0.3.2

Can you please check it to make sure your cool memory fix is in there and then release this version.

Cheers 

Cheesegeezer
Posted

i'm heading home now! Be back online in an hour or so.

@chef @samuelqwe @rbjtech Great work everyone, should give a massive pat on your backs for all your great efforts

everyone just stand by and wait for chef to release 2.0.3.2 

  • Like 4
Posted (edited)

Sure thing.

I have VS updating, and I spent the cash and decided to enable Resharper again. I miss it so much when it isn't enabled, it's just an extra expense. Worth it though for code that is shared. Then it makes me look better then I am 😆🤣😂😎.

 

I noticed one thing in the title sequence task where we return if there is a db error, but we should actually 'continue'. 

@Cheesegeezer

 

Edited by chef
BillOatman
Posted (edited)
2 hours ago, chef said:

@BillOatman sorry I didn't want to get this lost.

Do you think we should be forcing GC in the Task?

There are several considerations, the biggest probably using "using" as a wrapper around things allocating memory so they go out of scope as soon as possible and the GC can recover that memory if it needs to.  You can't really "force" the GC to do anything, all you can do it request it to cleanup.  But if you have things go out of scope ASAP, the GC is much more likely to honor your request :)

Assuming that is being done, then yeah asking the GC to work after big allocations are out of scope may help.

 

I see above you guys are already on that :)  

Quote

Implement IDisposable to Release Unmanaged Resources in C#. Types that use unmanaged resources must implement the IDisposable Interface to reclaim the unmanaged memory.The primary use of the IDisposable interface is to release unmanaged resources.. Use the Dispose method of this interface to explicitly release unmanaged resources in conjunction with the garbage collector.

 

Edited by BillOatman
crusher11
Posted
36 minutes ago, Cheesegeezer said:

no thats fine was just curious, i have just pushed a little update to chapters.  Basically if the Intro starts at 0 then chapter 1 is replaced with title sequence.  Looks very neat now. and everything else works like before, but we don't get duplicate Chapter 1 0:00 then Title Sequence 0:00

image.png.cdac216e87ad4aa6b86bdb6f14976c9b.png

 

image.thumb.png.72e5db234ef836099fa1bc9233857e83.png

Is there equivalent behaviour if the title sequence occurs (or ends) after 0:00 but still has a chapter marker already in the file?

Posted (edited)
8 minutes ago, BillOatman said:

There are several considerations, the biggest probably using "using" as a wrapper around things allocating memory so they go out of scope as soon as possible and the GC can recover that memory if it needs to.  You can't really "force" the GC to do anything, all you can do it request it to cleanup.  But if you have things go out of scope ASAP, the GC is much more likely to honor your request :)

Assuming that is being done, then yeah asking the GC to work after big allocations are out of scope may help.

Then, it sounds like either the Analyzing class, or the Manager needs to be implementing IDisposable.

Then we can wrap it in a using statement, and free up more resources after each detection.

I will test this right after this incredibly long update has completed for VS.

 

Much appreciated!

Edited by chef
BillOatman
Posted
3 minutes ago, chef said:

Then, it sounds like either the Analyzing class, or the Manager needs to be implementing IDisposable.

Then we can wrap it in a using statement, and free up more resources after each detection.

I will test this right after this incredibly long update has completed for VS.

 

Much appreciated!

Yup, or inside of those classes wrap usings around whatever does the allocations

  • Thanks 1
Posted
4 minutes ago, crusher11 said:

Is there equivalent behaviour if the title sequence occurs (or ends) after 0:00 but still has a chapter marker already in the file?

He'll be back to shed more light on the subject... But from what I see in the code, if the item isn't marked "HasSequence" as true, then we leave it alone, and don't attempt to inject chapters at all.

Cheesegeezer
Posted
5 minutes ago, crusher11 said:

Is there equivalent behaviour if the title sequence occurs (or ends) after 0:00 but still has a chapter marker already in the file?

Can you give an example? 

Posted

Logging for Chapter Insertion is now in the same Class as the other tasks - thanks ! 👍

chap.PNG.91a7a8b47f77815d07a795de2b46240b.PNG

crusher11
Posted
1 minute ago, Cheesegeezer said:

Can you give an example? 

I mean, if there's already a chapter marker at either the 'intro start' or 'intro end' point, does it just rename those chapter(s) or does it add a chapter anyway? Lots of my shows already have a chapter point at the end of the intro.

 

The three attached files were all identified as intros for season one of The Alfred Hitchcock Hour. Episode 3 is correct, and it matches correctly with most episodes. Episode 2 reports no intro at all. That 15 second snippet from E3, plus five further seconds, is present at the start of all episodes.

s1e1.ac3 s1e3.ac3 s1e9.ac3

Posted
55 minutes ago, crusher11 said:

I mean, if there's already a chapter marker at either the 'intro start' or 'intro end' point, does it just rename those chapter(s) or does it add a chapter anyway? Lots of my shows already have a chapter point at the end of the intro.

 

The three attached files were all identified as intros for season one of The Alfred Hitchcock Hour. Episode 3 is correct, and it matches correctly with most episodes. Episode 2 reports no intro at all. That 15 second snippet from E3, plus five further seconds, is present at the start of all episodes.

s1e1.ac3 398.25 kB · 0 downloads s1e3.ac3 351.75 kB · 0 downloads s1e9.ac3 1.37 MB · 0 downloads

hmm... this sounds like another audio anomaly. 

In the config, you can switch the chapter task on or off.

If you switch it on, go into the task options and remove any triggers.

This will make sure that the task will only run when you press the task button in emby.

Now, you can make sure all your intro data is good before you run the chapter task.

 

 

Posted (edited)

Chapters have changed a bit from when you may have seen them last @crusher11

There is now just a 'Title Sequence' which starts at the previous 'Intro Start' and ends at the previous 'IntroEnd'

Therefore, any existing Chapter marker marking the end of the Intro - is not changed as it has no need to be.

An example -

This is from my Emby release system - Chapter 2 is the 'end of the Intro' and I could have used this before to skip the Intro - BUT of course I have no way of knowing when the Intro starts - but nor do I need to if doing it manually.

prod.thumb.PNG.ea5c1f2b15bb557ecd240865cdfbbe33.PNG

This is from my Emby Beta system with the SkipIntro plugin.

Chapter 2 has remained - but I now have a 'Title Sequence' inserted at the Start of the Title Sequence.

beta.thumb.PNG.79d646fddc44b7b1b0dd8d22651904cc.PNG

 

You could debate that it is not needed (as you are never likely to intentionally skip to and watch the Intro..) - but it is being consistent with all the other possible chapter scenerio's where it is important to show the Title Sequence (ie Auto chapters, or chapters that are not at end of the Intro).

Remember -  chapters are not the method that is being used for the UI 'Introskip' button - therefore, if 'Title Sequence' is wrong - so will the UI 'Introskip' button - as they use the same reference dB.

Edited by rbjtech
  • Thanks 2
crusher11
Posted
21 minutes ago, chef said:

hmm... this sounds like another audio anomaly. 

In the config, you can switch the chapter task on or off.

If you switch it on, go into the task options and remove any triggers.

This will make sure that the task will only run when you press the task button in emby.

Now, you can make sure all your intro data is good before you run the chapter task.

 

 

I'm not yet using a version that supports chapters. 

  • Thanks 1
Guest
This topic is now closed to further replies.
×
×
  • Create New...