XilinJia / Podcini

Open source podcast player for Android in Kotlin with androidx.media3
GNU General Public License v3.0
111 stars 5 forks source link

Streaming Audio Breaks #50

Closed MrCuneiform closed 1 month ago

MrCuneiform commented 1 month ago

Checklist

App version

5.4.1

Where did you get the app from

Other

Android version

14

Device model

Google Pixel 8 Pro

First occurred

about a fewish days ago

Steps to reproduce

  1. Stream a Podcast
  2. Wait.

Expected behaviour

It should stream normally

Current behaviour

When streaming a podcast, the audio will eventually break. It does not crash the program and it will continue to stream the podcast until the podcast ends. The next queued podcast will initially play normally, but eventually break and repeat the cycle.

In order to get audio to play I need to force stop the app and clear the cache. This will restore the audio until it eventually breaks again.

This issue seems to also affect AntennaPod, and it is the reason I recently migrated to Podcini, but unlike AntennaPod it doesn't kick up an error when it happens.

Logs

No response

XilinJia commented 1 month ago

Thanks for reporting. Did you notice if it has to do with some specific podcasts?

MrCuneiform commented 1 month ago

From what I noticed it does not matter, it just kind of happens. The things I have noticed is this.

XilinJia commented 1 month ago

I did some streaming yesterday, for a couple hours, on my S21 Android 14 and another Android 9 devices, and didn't run into any problems.

What exactly do you mean by "break"? Did you stream on mobile data? If so, did you have proper settings in the app for mobile? Otherwise, it beeps to warn you often. Is that what you mean by "break"?

MrCuneiform commented 1 month ago

What exactly do you mean by "break"? Did you stream on mobile data? If so, did you have proper settings in the app for mobile?

It should be, I have streaming enabled under mobile updates, as well as cover images, and synchronization (I also enabled prefer streaming over download under the playback settings). I should also note that I get this issue over wifi as well.

Otherwise, it beeps to warn you often. Is that what you mean by "break"?

No. What I mean by audio breaking is that the audio completely stops, but the podcast continues to stream.

I did some streaming yesterday, for a couple hours, on my S21 Android 14 and another Android 9 devices, and didn't run

Were any of those podcasts you tested hosted by iHeart Radio. In the days since I opened this issue I have realized that this seems to be affecting iHeart radio podcasts.

EDIT: Fixed Formatting

XilinJia commented 1 month ago

I've just streamed 2 episodes for 3 hours in "Money Matters Radio Podcast" by iHeart Radio Tucson. No problem. Which one did you listen to? So it seems more likely podcast-specific. Or, do you have a reliable network (though I'm not sure what issues it could cause to Podcini other than stop playing)?

MrCuneiform commented 1 month ago

I've just streamed 2 episodes for 3 hours in "Money Matters Radio Podcast" by iHeart Radio Tucson. No problem. Which one did you listen to? So it seems more likely podcast-specific.

I tried listening to that podcast, and I had no issues with it. Here is one of the ones I am having an issue with TechStuff, another is Ridiculous History.

Or, do you have a reliable network (though I'm not sure what issues it could cause to Podcini other than stop playing)?

My internet should be fine, and I do have unlimited data so it should* be fine with streaming. I know antennepod has a similar issue that they are trying to figure out aswell. I did notice that Money Matters is listed as iHeart Radio Tucson while the ones I have issue with are listed as iHeartPodcasts so perhaps it could be server side?

XilinJia commented 1 month ago

Got the issue on "Stuff you should know", around 17 minutes. The stacktrace seems this:


                                                                                                      androidx.media3.exoplayer.ExoPlaybackException: Source error
                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:717)
                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:689)
                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                                          at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                          at android.os.Looper.loop(Looper.java:319)
                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                                      Caused by: androidx.media3.datasource.HttpDataSource$HttpDataSourceException
                                                                                                          at androidx.media3.datasource.okhttp.OkHttpDataSource.skipFully(OkHttpDataSource.java:515)
                                                                                                          at androidx.media3.datasource.okhttp.OkHttpDataSource.open(OkHttpDataSource.java:381)
                                                                                                          at androidx.media3.datasource.DefaultDataSource.open(DefaultDataSource.java:275)
                                                                                                          at androidx.media3.datasource.StatsDataSource.open(StatsDataSource.java:86)
                                                                                                          at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1029)
                                                                                                          at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:421)
                                                                                                          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                                          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                                          at java.lang.Thread.run(Thread.java:1012)```
XilinJia commented 1 month ago

Seems like something resets the playing in some way after streaming for a certain period of time. In the case of "Stuff you should know", it breaks ~17 minutes normally. But in another episode in the same podcast, after started streaming, I fast forward ~15 minutes, then it breaks ~32 minutes. Then, when it was broken,, I moved the progress-bar back a bit, it started playing, then it breaks ~47 minutes.

XilinJia commented 1 month ago

likely fixed in 5.4.2

MrCuneiform commented 1 month ago

After testing it out for about 10ish hours, I am happy to report that I did not have any issues with my podcasts. I shall be closing this issue.