56 Commits

Author SHA1 Message Date
Mino
53b83db99b
Work around VTT files using single-digit hours (#7915) 2025-08-06 21:21:44 +02:00
ByteHamster
5b43cfe5c0
Work around feeds with broken mime type (#7846)
If a feed has a broken mime type that is not audio or video,
try to still use it as audio (if there is no audio yet).
This might lead to AP trying to play random other files that are not media files,
but it works around publishers messing up their mime types.
2025-06-25 08:46:30 +02:00
Sacha Delanoue
560321cfd6
Vtt support for transcripts (#7537) 2025-04-30 22:18:07 +02:00
Tony Tam
ba56f5c76e
Show social comment icon on playing screen (#7127) 2025-02-21 22:34:31 +01:00
ByteHamster
dd82ec143f
Reduce log spam during feed update (#7667) 2025-02-21 21:51:50 +01:00
ByteHamster
9ac85bb6e5
Show website title in 'server sent a website' error (#7629) 2025-01-28 22:11:03 +01:00
Senventise
91f8ed055f
Support parsing vorbis comments spanning across pages (#7215) 2024-06-09 10:04:59 +02:00
ByteHamster
fc1c13f4a5
Add new date format (#7189) 2024-05-20 20:25:12 +02:00
Tony Tam
e856a9f118 Display transcript text and follow along the audio (#7103) 2024-05-18 18:58:36 +02:00
Tony Tam
7c4f19c979 Transcript semantic parsing (#6852) 2024-05-18 18:58:01 +02:00
Tony Tam
8adbad9b66 Parse podcast:transcript url and store in SQLite (#6739) 2024-05-18 18:57:57 +02:00
Simon Conrad
ba14510b80
Add support for parsing Nero M4A chapters (#7159) 2024-05-05 10:05:26 +02:00
ByteHamster
92ab575b15
Delete core module (#7060) 2024-04-05 19:20:27 +02:00
ByteHamster
7b390f1c92
Speed up feed parsing (#7023)
AntennaPod is quite slow with huge feeds. The reason is that we have a bunch of workarounds for misbehaving feeds that also make it slower to work with feeds that do not misbehave.

Changes:

- Only start guessing duplicate episodes when no "proper" match is found
- Only parse non-html as HTML for attributes that really need it
- Do not log failed Long parsing when size is not specified
- Try to parse dates with RFC822 first before falling back to workarounds for other formats

I ran a benchmark with "Stuff you should know" (for which the workarounds are not needed) containing 2k episodes. Includes download of 8MB of feed XML (~5 seconds), debug build.
Before: 44 seconds, after: 13 seconds ==> 3.4 times faster feed refresh
2024-03-24 18:04:39 +01:00
ByteHamster
084b9c2317
Store last refresh attempt for feeds (#7022) 2024-03-24 17:57:00 +01:00
ByteHamster
f6b45e7162
Rename FeedMedia methods to no longer have underscores (#7017) 2024-03-23 11:27:55 +01:00
ByteHamster
cae848b505 Fix indentation in last 8 files 2024-03-04 23:09:59 +01:00
Taco
e9d190da1b
Bump AGP and Gradle (#6489) 2023-10-17 20:52:21 +02:00
ByteHamster
da200f6139
Fix crash if vorbis exception does not have message (#6678) 2023-10-02 21:12:45 +02:00
peking_ling
8b7d3cabac
Fix NullPointerException when chapter does not have start time (#6520) 2023-06-20 22:31:44 +02:00
ByteHamster
e261514c5b
Update feed url when server returns itunes:new-feed-url (#6291) 2023-01-29 12:12:08 +01:00
ByteHamster
d61745be86 Check Lint recursively from the :app module
instead of checking every module individually. This avoids having to
re-state all disabled Lint checks in all parent modules.
2022-11-06 11:55:23 +01:00
ByteHamster
b9ded7ea3b Don't print full stack trace when there is no vorbis comment 2022-10-27 22:02:08 +02:00
ByteHamster
9624d8ce9e Speed up chapter parsing 2022-10-21 21:46:18 +02:00
Taco
89cfeb93db
Update jsoup library (#5902) 2022-05-26 09:59:10 +02:00
ByteHamster
197a0a1044
Merge pull request #5777 from ByteHamster/ignore-item-author
Ignore itunes:author when not child of channel
2022-03-13 11:21:48 +01:00
ByteHamster
d31b0daee0 Ignore itunes:author when not child of channel
Co-authored-by: dllmr <dllmr@users.noreply.github.com>
2022-03-13 11:00:35 +01:00
ByteHamster
933fde839e Read vorbis description of local files 2022-03-11 20:57:24 +01:00
ByteHamster
36a36e4f85
Merge pull request #5769 from ByteHamster/id3-comment
Extract shownotes from id3 comment field
2022-03-10 07:14:48 +01:00
ByteHamster
ce8e356647 Extract shownotes from id3 comment field 2022-03-09 22:08:32 +01:00
Tony Tam
1a1bf02e8a
Support for podcast 2.0 chapters (#5630) 2022-03-06 16:09:09 +01:00
ByteHamster
ff3258c34a Move database to its own module 2022-02-27 19:47:41 +01:00
ByteHamster
48852e081a Delete a few unused things 2022-02-22 20:14:00 +01:00
ByteHamster
acb384b128 Merge branch 'master' into develop 2022-02-19 13:46:12 +01:00
TacoTheDank
87067af965 Fix some gradle deprecations 2022-02-09 11:28:40 -05:00
ByteHamster
6196cd754f Fix line breaks in plain-text descriptions
Workaround was added for publishers misbehaving but the current
implementation breaks valid feeds
2022-01-30 14:47:14 +01:00
ByteHamster
cda22a8c5f Manually detect m4b on devices that don't do it 2022-01-29 20:16:46 +01:00
ByteHamster
f8927ebc67 Do not hang trying to parse ogg/vorbis chapters 2022-01-27 08:30:00 +01:00
ByteHamster
d4d506345b Move mime type guessing out of MediaType enum 2022-01-25 22:08:05 +01:00
ByteHamster
c376be44dd When mime type is octet-stream, guess from the file name 2022-01-25 21:55:38 +01:00
ByteHamster
1837ce30d1 MIME type is always ISO encoded 2022-01-22 23:09:32 +01:00
ByteHamster
3b9dfb3c76 Fix vorbis chapter parsing 2022-01-22 17:16:37 +01:00
ByteHamster
49b6386a6d Run parser tests with robolectric 2022-01-22 17:16:37 +01:00
TacoTheDank
560bf3f434 Centralize library versions used in multiple modules 2021-12-04 13:01:22 -05:00
ByteHamster
473ba14f88
Merge pull request #5565 from ByteHamster/simplify-opus
Simplify opus parsing
2021-11-21 21:03:12 +01:00
ByteHamster
e2600f54e4 Stop parsing if we encounter an unrealistically long comment 2021-11-21 18:49:50 +01:00
ByteHamster
d94bfd80b7 Simplify opus parsing 2021-11-21 18:04:37 +01:00
ByteHamster
dd2dd9e4b8 Work around some publishers putting html everywhere 2021-11-16 21:23:52 +01:00
ByteHamster
a651317bc2 Apparently some devices crash when trying to call xpp.next 2021-11-06 17:37:04 +01:00
ByteHamster
bb9936f696 Ignore item tags that are not inside a channel 2021-10-30 21:58:17 +02:00