Author Topic: BASS_Mixer_ChannelGetPosition reporting incorrect time at a single moment  (Read 495 times)

Salman Ahmed

  • Posts: 6
Hello,

I'm a developer in osu!(lazer), and for some time now we've been repeatedly seeing reports of what is essentially BASS reporting incorrect time from the mixer for a single moment/frame.

To be more specific, we have a mixer and we add a stream to it, then we call BASS_Mixer_ChannelGetPosition every frame to know at which point are we in the mixer/stream, then, at a very random occurrence, the mixer reports a time that is roughly 11-12 seconds backwards from the current time for only a single frame.

Here's a snippet from our logs showing this:
Code: [Select]
2024-08-08 16:34:47 [verbose]: TrackBass.UpdateState(): current time = 99776.35416666666
2024-08-08 16:34:47 [verbose]: TrackBass.UpdateState(): current time = 99777.52083333333
2024-08-08 16:34:47 [verbose]: TrackBass.UpdateState(): current time = 88916.60416666667
2024-08-08 16:34:47 [verbose]: TrackBass.UpdateState(): current time = 99779.85416666667
2024-08-08 16:34:47 [verbose]: TrackBass.UpdateState(): current time = 99781.02083333333

Ian @ un4seen

  • Administrator
  • Posts: 26093
That's strange. Please confirm what platform that's on, and what BASS and BASSmix versions you're currently using (with BASS_GetVersion and BASS_Mixer_GetVersion). And then also give these latest builds a try (if Windows) and see if you still have the problem with them:

   www.un4seen.com/stuff/bass.zip
   www.un4seen.com/stuff/bassmix.zip

Salman Ahmed

  • Posts: 6

Ian @ un4seen

  • Administrator
  • Posts: 26093
Yes, you can get the latest macOS builds at those URLs. BASSmix wasn't available but I have added that now too. There's also a BASS_FX update that you can try:

   www.un4seen.com/stuff/bass_fx-osx.zip

Please see if the problem still happens when using them. If it does, to narrow it down, can you try disabling the BASS_FX stuff (ie. skip BASS_FX_TempoCreate and BASS_FX_ReverseCreate) to see if it still happens then?

ppy

  • Posts: 7
Reporting back on Salman's behalf that we are now on the beta version but still seeing this issue occur. We have not yet tried bypassing `BASS_FX` streams yet, so consider this an intermediate update.

Ian @ un4seen

  • Administrator
  • Posts: 26093
When you tried the beta version(s), did that include the BASS_FX build above, as well as the BASS and BASSmix builds? I ask because the BASS_FX update does include some position reporting/syncing changes.

ppy

  • Posts: 7
Sorry it turns out we didn't properly include the DLLs in the last update >_<.

We'll try again and report back.

ppy

  • Posts: 7
After updating to the beta versions we're seeing unexpected shifts in reported time which result in very weird issues (like time jittering after seeks). I haven't yet had a chance to investigate further, nor check whether – ignoring this – our original issue has improved or not, but due to the new issues we can't easily deploy this to a larger user-base for testing.

Sorry to not provide more specifics, just a heads up to let you know that things are weird.

Ian @ un4seen

  • Administrator
  • Posts: 26093
That doesn't sound good. To narrow down where the problem is, would it be possible to try disabling the BASS_FX tempo and reverse stuff, and see if it still happens then? Please also confirm whether BASSmix splitters (BASS_Split_StreamCreate) are involved, or only mixers (BASS_Mixer_StreamCreate)?