thecodrr / BreadPlayer

Bread Player, a free and open source music player powered by UWP and C#/.NET with a sleek and polished design built for, and by, the people seeking a better alternative to Groove and Windows Media Player by Microsoft.
https://theweavrs.github.io/BreadPlayer/
GNU General Public License v3.0
301 stars 85 forks source link

Audio cuts and jumps on Mobile #39

Closed DannyAcosta710 closed 7 years ago

DannyAcosta710 commented 7 years ago

(Optimization?) Lumia 735, experiencing audio cuts and sometimes quick jumps, frequently. The phone doesn't have many apps opened, no more than normal.

Happens both with the app on screen (happens just as much) and background

thecodrr commented 7 years ago

How many songs did you load into the library? Did you open the album view by chance? What's the size of the song you loaded i.e. duration and file size? Does it occur on Groove and any other player?

DannyAcosta710 commented 7 years ago

How many songs: Around 607 Did I open album view?: Yes, but even when I "cold started" the app and only opened the library, it happens Size of song: Happens on most/all songs. But one example is a 3:06, 7.22 MiB MP3 file Does it occur on other players? Nope, not on Groove, not on foobar2000

thecodrr commented 7 years ago

This can be a memory management problem or maybe CPU? I will look into this.

thecodrr commented 7 years ago

Or perhaps there is some stream parsing problem. Can you send one file on which it was occurring for testing?

Edit: Is it occurring on PC?

DannyAcosta710 commented 7 years ago

I don't think it's the audio file, because PC bread player can play it with no issue

Here's the original file (hosted on OneDrive not here bc copyright maybe)

Here's that file played on Bread Player on Mobile Here's that file played on Groove on Mobile (don't mind the peaks, that's just because of the crappy cable I used) And another thing, it doesn't happen as much when connected to "headphones"

MightyK1337 commented 7 years ago

It happens for a lot of songs not just a particular one and even on headphones, at least for me.

thecodrr commented 7 years ago

@DannyTalent @MightyK1337 As it doesn't happen in the emulator, I have uploaded a test package with some changes for you guys to check out if this occurs again.

Here's the direct link (Mobile Only): Alpha-1.6.1-test

Basically, I removed SMTC as I suspect that is what's causing the issue. I could be wrong though.

DannyAcosta710 commented 7 years ago

True. I could reproduce it on the last alpha, but not on the new one Also the bug reported by @MightyK1337 at #21 seems fixed

Side note: The first time I tried to play a song, the app crashed

thecodrr commented 7 years ago

As I suspected! I will try a few things to fix this without removing SMTC.

thecodrr commented 7 years ago

@DannyTalent Please test this one out: Alpha-1.6.1-test-2

Side note: You may experience cuts and jumps in the background. Aside from that, SMTC will now be working flawlessly (I hope).

thecodrr commented 7 years ago

@DannyTalent How's the new alpha-test working?

DannyAcosta710 commented 7 years ago

Crap, I forgot to check this issue, and my email, sorry! Good to see some animations now! (or maybe I just noticed it now?) SMTC works alright. Background audio stops itself when I "minimize" the app (eg. navigate to another app or press the Windows button) but can be played again manually, jumps and cuts are waaaaaaay less than before, but certainly still (rarely) present.

EDIT: There's still the issue where closing the app also stops music playback

thecodrr commented 7 years ago

Oh yes, I fixed that issue.

About the cuts and jumps, I am glad that it occurs way less now but it still does so I will have to tweak some other things as well.

I have a question: In which state does it occur more? Background or foreground?

DannyAcosta710 commented 7 years ago

Definitely on the background. Playing a game (candy crush soda so it's ported, and a bit resource intensive) I noticed it happening, as well as while browsing on Edge. Audio cuts only, tho... I've noticed they happen waaay less but are longer now (less than a second, but longer than before)

thecodrr commented 7 years ago

@DannyTalent Is this still present in 1.7-alpha?

DannyAcosta710 commented 7 years ago

It does happen, not much, but it's quite inconsistent... Sometimes it will work with a few jumps for several minutes and sometimes the audio just gets fubar... But it's only happened to me once, when the phone was quite hot

thecodrr commented 7 years ago

@DannyTalent I reproduced this on the emulator and it happens regardless of the SMTC. I think this issue is caused by high resource usage or low memory limit. Though, I wasn't able to get any message regarding low memory limit reached etc.

I think, on the background the app is given less memory and cpu because of which the audio stream buffering is slow, and audio cuts and jumps.

I will consult this with BASS devs, maybe they have something...

DannyAcosta710 commented 7 years ago

I think there's a task manager-esque app that shows you, though it needs some special access.. I'll report anything I can if I do find it

thecodrr commented 7 years ago

@DannyTalent I did some of my own testing and it seems I am right. The OS puts a CPU limit on the player or maybe the BASS does that itself. Anyways, I saw > 2% usage of BASS on the foreground while on the background it was < 1%. So I am now sure where the problem is.

thecodrr commented 7 years ago

@DannyTalent Please give this one a try again in the latest alpha. I am hoping this is fixed now...

DannyAcosta710 commented 7 years ago

Yep, mostly fixed. I did notice a small cut during a game's loading screen, so it may be a read speed issue?? I wouldn't know, but during the game it didn't happen again

thecodrr commented 7 years ago

Can you give it a stress test? Like try loading heavy websites while song plays in background. Play some game (The ported Candy Crush 😉 ). I need to know if the config we have now will remain good under stressful conditions.

DannyAcosta710 commented 7 years ago

I tried the digrace of an app that they call Facebook Messenger, and didn't have any problems, again, a single jump while loading, but never again. I did however, found a bug I'll post about in a sec