gpodder / gpodder-sailfish

gPodder 4 for Sailfish OS Packaging
https://openrepos.net/content/keeperofthekeys/gpodder
49 stars 29 forks source link

Episode art uses too much space #131

Open tpikonen opened 4 years ago

tpikonen commented 4 years ago

Could you please disable downloading episode art, or at least make it optional?

I have less than 40 feeds, and gpodder on Jolla1 often gets OOM-killed even when it's the only app running and just playing a random episode. If I try to access the Fresh episode list, it will instantly freeze and is eventually killed. Downloading episode art makes the feed updates take a lot longer and eat a lot of bandwidth.

Versions before 4.11 were working fine.

Keeper-of-the-Keys commented 4 years ago

Even with 4.11.2 which only shows episode art in the player/episode info page?

tpikonen commented 4 years ago

Even with 4.11.2 which only shows episode art in the player/episode info page?

Yes.

tpikonen commented 4 years ago

Just to expand on the problems caused by storing episode art:

Keeper-of-the-Keys commented 4 years ago

Just to expand on the problems caused by storing episode art:

* I have feeds where just the episode art is taking 100+ MB of storage.

What podcast would that be?

* Some feeds have always the same image as episode art, but they are still downloaded  and stored as separate files.

We can't prevent this, except when they use the same URL in which case it also shouldn't happen.

* The images are shown in the Jolla Gallery app, making it impossible to find e.g. my photos in there. Also included in the gallery are the 200+ identical copies of the same image in some feeds.

Weird, doesn't happen by me.

thigg commented 3 years ago

I just noticed, that it is downloading all episodeart beforehand. I have podcasts here with 230+ Episodes where each episode has its own art. I reset my storage and am now waiting for an opml import already for like 10 minutes. (episode art downloading shouldnt block the podcasts from being shown as refreshed probably)

Maybe it would be good to do some more advanced handling of episode art. E.g. only loading the 20 newest, deleting old ones, etc. This would also mean, that we would need to download episodeart on demand if the user scrolls down the list.

sfbg commented 3 years ago

Why not download the art dynamically, only when it's details page is opened, or when it itself is downloaded?

Keeper-of-the-Keys commented 3 years ago

Hey, I just implemented dynamic download on a test build by me, it works fine.

I have several questions:

  1. Should download behavior be setting (always download, dynamic load, never)?
  2. Should episode art be downloaded when the episode itself is downloaded (I assume you download the episode to play it when you have less/no reception and you may still want to see the episode art)?

Also I'm considering adding a page that shows space usage of a podcast and allows removal of all downloaded materials.

tpikonen commented 3 years ago

I would say yes to both questions.

Keeper-of-the-Keys commented 3 years ago

Please let me know what you think of the new implementation in 4.12.0, I think this resolves it, no settings yet though.

tpikonen commented 3 years ago

I tested 4.12.0 from openrepos on Jolla1 and while it's definitely an improvement, it's still more memory hungry than 4.10. This may be because of other features as well of course.

Dynamically downloading episodes art is obviously better than downloading everything when refreshing feeds, but I would still prefer having a setting for episodes art where the options are

For Jolla1, probably only the last two would be usable.