PaulleDemon / tkVideoPlayer

Video player for tkinter.
MIT License
79 stars 25 forks source link

Fixes #47 #49

Closed AshhadDevLab closed 7 months ago

AshhadDevLab commented 7 months ago

Description: The error was being caused due to the absence of pkg-config file in the PyAV module wheel build.

Solution: Upgraded the PyAV version to v11.0.0 as well as Pillow to v10.2.0. Also no issue of memory leaks to be found on the system the package was updated on as well as on the docker image.

PaulleDemon commented 7 months ago

Hi @AshhadDevLab thanks for opening this issue, the reason why I didn't update is that with PyAV 11.0.0, there was a memory problem when looping the video, you can check with the loop video example. Check the memory monitor using a system monitor. Let me know about your findings

AshhadDevLab commented 7 months ago

So what I observed is that after we pack the player and run it there is no rise in memory, after that when the player loops then the memory leak appears, what I am guessing is that the first packed frame is still in the background stuck. If it is I a trying to close it before looping it again.

PaulleDemon commented 7 months ago

The garbage collector or something isn't working right, I tried a lot to fix the problem, but no fix yet. There are already reports of memory leaks in the PyAv library, its better for us to stick with version 9 until it's fixed. If you want I'll keep this open for the next 24 hrs, otherwise, I'll close it until someone comes up with a proper fix.

AshhadDevLab commented 7 months ago

Well the issue is in the loop example only but for me the memory leak is like 25 mbs of ram so it isn't even that important, at the end you are right the issue is in the PyAV package itself.

But only due to this issue ur package cant be installed using the pip command.

PaulleDemon commented 7 months ago

No, if you keep it on play, it leaks so much and it raises so quickly, which is why I have kept it to what it is. It can be installed in Python version 3.6 - 3.10, this is the version many industries use even today, it may take some time to switch for all industries to 3.11 or so for now we'll go with this