Author Topic: Changelog for development version?  (Read 2358 times)

yps

  • Posts: 155
Changelog for development version?
« on: 23 Aug '18 - 19:55 »
Hi Ian,

my users have been reporting some strange issues ever since I switched from BASS 2.4.12.1 to 2.4.13.8, mostly including locked up sound or loops when using DirectSound (with the new BASS_DEVICE_DSOUND flag).

I see that the development version from http://www.un4seen.com/stuff/bass.zip is currently at 2.4.13.25.

Is there a public changelog available for that version? Just to avoid hunting and reporting bugs that have already been fixed in it.


Thanks

Torben

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #1 on: 24 Aug '18 - 13:33 »
Here's what the changelog (since 2.4.13.8) currently looks like:

* Support for playback on the "no sound" device
   BASS_Init
   BASS_StreamCreateFile/User/URL
   BASS_SampleLoad/Create
   BASS_ChannelPlay
* Access to the 3D output mix for applying DSP/FX
   STREAMPROC_DEVICE_3D (BASS_StreamCreate option)
* Retrieval of a device's started/stopped status
   BASS_IsStarted
* Sync for when a device stops unexpectedly
   BASS_SYNC_DEV_FAIL (BASS_ChannelSetSync type)
* New channel playback state for a paused device
   BASS_ACTIVE_PAUSED_DEVICE (BASS_ChannelIsActive)
* Windows mixer settings are retained by default and optionally not
   BASS_CONFIG_WASAPI_PERSIST (BASS_SetConfig option)
* Fix for bug in playback buffering disabling option
   BASS_ATTRIB_NOBUFFER (BASS_ChannelSetAttribute option)

There are also some other tweaks and fixes.

Let me know if you still get the DirectSound output problem with the latest "stuff" build, and if it's locking-up, upload a dump file of that. You can use Task Manager's "Create Dump File" option to generate the dump file.

yps

  • Posts: 155
Re: Changelog for development version?
« Reply #2 on: 24 Aug '18 - 13:52 »
Thanks for the log. I will include the dev version in my distribution from today and let you know if we see any issues with it. Actually we're not quite sure if it's really related to the BASS update. Still investigating.

fmcoder

  • Posts: 447
Re: Changelog for development version?
« Reply #3 on: 21 Sep '18 - 11:33 »
I also started receiving bug reports with messages like "Access violation at address 55830DB1 in module 'bass.dll'. Write of address 00000048." after upgrading from 2.4.12.1 to 2.4.13.8 when using multiple devices with and without the BASS_DEVICE_DSOUND flag. The stack trace says that it fails when calling BASS_Split_StreamCreate. I was never able to reproduce the error myself, but multiple bug reports from different people make me think there's something not right...

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #4 on: 21 Sep '18 - 13:38 »
Please try this latest build:

   www.un4seen.com/stuff/bass.zip

Let me know if the problem still happens with that, and post any info that you have on it (eg. the call stack).

stevenmmm

  • Posts: 118
Re: Changelog for development version?
« Reply #5 on: 23 Sep '18 - 14:12 »
my users have been reporting some strange issues ever since I switched from BASS 2.4.12.1 to 2.4.13.8, mostly including locked up sound or loops when using DirectSound (with the new BASS_DEVICE_DSOUND flag).
I have had the same reported by some of my users. For now I have defaulted to not setting the flag but sometimes users do need the old DirectSound. Did the latest development version solve the issue for you?

fmcoder

  • Posts: 447
Re: Changelog for development version?
« Reply #6 on: 23 Sep '18 - 15:53 »
Please try this latest build:

   www.un4seen.com/stuff/bass.zip

Let me know if the problem still happens with that, and post any info that you have on it (eg. the call stack).
OK, will do. Currently I changed to version .25 and it appears that bug reports are stopped for now. What is the difference between versions .25 and .26?

Did the latest development version solve the issue for you?
It's early to tell, I have not received responses from all people who had this problem. But at least no new bugreports were received in the past two days since I updated bass version.

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #7 on: 24 Sep '18 - 13:09 »
What is the difference between versions .25 and .26?

.26 temporarily disables the BASS_STREAM_RESTRATE option to prevent a stream stalling. It was introduced here:

   www.un4seen.com/forum/?topic=13225.msg128038#msg128038

yps

  • Posts: 155
Re: Changelog for development version?
« Reply #8 on: 1 Oct '18 - 06:35 »
Some more feedback on the 2.4.13 version:

A couple of users have reported that short audio files often produce stutter (or probably rather looped buffers) at the end when using BASS_DEVICE_DSOUND and closing the device just after EOF.

And then we experience strange freezes, apparently in BASS_StreamFree (with decoding channels). We have managed to create a minidump of this issue - can I upload it to your FTP, does it still work? Forgot how to log in, and anonymous access doesn't seem to work.

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #9 on: 1 Oct '18 - 15:54 »
A couple of users have reported that short audio files often produce stutter (or probably rather looped buffers) at the end when using BASS_DEVICE_DSOUND and closing the device just after EOF.

Do you have any "mixtime" syncs (particularly BASS_SYNC_END) set on the affected streams, and if so, what are the SYNCPROC function(s) doing? A delay in a mixtime SYNCPROC could result in a looped buffer when using DirectSound output. Also, what BASS_CONFIG_BUFFER setting are you using?

Quote
And then we experience strange freezes, apparently in BASS_StreamFree (with decoding channels). We have managed to create a minidump of this issue - can I upload it to your FTP, does it still work? Forgot how to log in, and anonymous access doesn't seem to work.

Yes, please upload the dump file. Anonymous uploads are possible to this FTP directory:

   ftp.un4seen.com/incoming/

yps

  • Posts: 155
Re: Changelog for development version?
« Reply #10 on: 2 Oct '18 - 08:18 »
Uploaded a dump - please look at thread $15fc. DLL version was 2.4.13.25. According to madExcept I was calling BASS_StreamFree at that time, for a decoding channel. Although WinDbg claims that BASS_SampleStop is involved in some kind, don't know why:

04 0c85fcb0 7347f27f bass+0x1236e
05 0c85fd00 00e53093 bass!BASS_SampleStop+0x304

About the other problem, I actually have a lot of syncs of all kinds, but there is no heavy processing in them - most just send a message to another thread. I do have an EOF sync, but it's not mixtime.

It also only happened for some users, I was unable to reproduce the issue here on my machines. May depend on particular the soundcard. For at least one user, the problem was definitely reproducable, and it went away when we downgraded BASS to 2.4.12.x (while retaining all configuration and buffer settings etc.). So there must be something in the new version that it causing it. I just wish I had more evidence...

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #11 on: 2 Oct '18 - 13:04 »
Uploaded a dump - please look at thread $15fc. DLL version was 2.4.13.25. According to madExcept I was calling BASS_StreamFree at that time, for a decoding channel.

It is indeed stuck in a BASS_StreamFree call. I'm not certain how it got to that but it looks like it may be possible if a SYNCPROC happened to be called on the stream in another thread at the same time as the BASS_StreamFree call. Here's an update that will hopefully prevent it:

   www.un4seen.com/stuff/bass.zip

Let me know if you still see the problem happening with that (and upload a new dump if so).

About the other problem, I actually have a lot of syncs of all kinds, but there is no heavy processing in them - most just send a message to another thread. I do have an EOF sync, but it's not mixtime.

It also only happened for some users, I was unable to reproduce the issue here on my machines. May depend on particular the soundcard. For at least one user, the problem was definitely reproducable, and it went away when we downgraded BASS to 2.4.12.x (while retaining all configuration and buffer settings etc.). So there must be something in the new version that it causing it. I just wish I had more evidence...

If it's a decoding channel, all of its syncs will be "mixtime" even if you don't use the BASS_SYNC_MIXTIME flag. If you have a user that can reproduce the problem easily, to confirm whether it's sync-related, perhaps you could try disabling or stripping down the SYNCPROCs (particularly for BASS_SYNC_END if it happens at the end) to see if that stops the problem happening for them?

yps

  • Posts: 155
Re: Changelog for development version?
« Reply #12 on: 2 Oct '18 - 13:29 »
Let me know if you still see the problem happening with that (and upload a new dump if so).

Will do, thanks.

Quote
If it's a decoding channel, all of its syncs will be "mixtime" even if you don't use the BASS_SYNC_MIXTIME flag. If you have a user that can reproduce the problem easily, to confirm whether it's sync-related, perhaps you could try disabling or stripping down the SYNCPROCs (particularly for BASS_SYNC_END if it happens at the end) to see if that stops the problem happening for them?

Sorry, I was mixing up two things here (or reporting two problems in the same post). The first problem with the dump I uploaded was with decoding channels, using WASAPI output with basswasapi.dll. The other problem, with the stutter, was with non-decoding channels and DirectSound output.

We will try to reproduce it and narrow it down, thank you.

fmcoder

  • Posts: 447
Re: Changelog for development version?
« Reply #13 on: 12 Nov '18 - 13:36 »
About the changelog, BASS is currently at version .35, is there a changelog available?

I still have complaints from some customers, like "in previous version it worked" (the "previous version" was using BASS 2.4.12.1 and the current is shipped with 2.4.13.25). Complaints are mostly about weird crashes and error messages. Should I try 2.4.13.35, does it have any fixes related to odd crashes?

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #14 on: 12 Nov '18 - 14:07 »
The additions since the changelog posted above are:

* Existing internet streams are unaffected by read timeout config changes
   BASS_CONFIG_NET_READTIMEOUT (BASS_SetConfig option)
* Fix to support long logarithmic curves in volume effects
   BASS_FX_VOLUME (BASS_ChannelSetFX type)

Apart from that, the changes since then have all been internal tweaks and fixes. What version are you currently using? There were some crash fixes in the earlier post-2.4.13.8 updates. More recently, I don't think there were any crash-related fixes, except that BASS_PluginLoad/Free have been made thread-safe. So if you happen to be calling them simultaneously in multiple threads then it could help with that.

Do you have any information on the crashes, ideally dump files?

fmcoder

  • Posts: 447
Re: Changelog for development version?
« Reply #15 on: 12 Nov '18 - 14:59 »
Do you have any information on the crashes, ideally dump files?
Unfortunately, no - the users simply advice to revert to how it was done before (this means going back to bass 2.4.12.1), when it worked for them, and retrieving crash dumps from them would be extremely tricky :) I was unable to reproduce any of those issues myself yet. But I'd prefer staying with the newest BASS.

Not related to crashes, one of the complaints was about default device playing together with a specific device. Device initialized using BASS_Init with DSOUND flag; user claims the unwanted default device played garbage. The BASS_Init is called twice in the app - first to init the "No sound" device, and then for a selected device. If you can check BASS internals, to see if that's possible somehow, that would be great. I was not able to reproduce it.

BASS version 2.4.13.25. I will try using .35 for the next release. Is it safe to include it in production by the way? The main page still offers the .8 version which is a bit misleading.
« Last Edit: 12 Nov '18 - 15:03 by fmcoder »

Ian @ un4seen

  • Administrator
  • Posts: 21372
Re: Changelog for development version?
« Reply #16 on: 12 Nov '18 - 15:42 »
Not related to crashes, one of the complaints was about default device playing together with a specific device. Device initialized using BASS_Init with DSOUND flag; user claims the unwanted default device played garbage. The BASS_Init is called twice in the app - first to init the "No sound" device, and then for a selected device. If you can check BASS internals, to see if that's possible somehow, that would be great. I was not able to reproduce it.

A single BASS channel is making sound on 2 devices? If so, I can't think of any reason for that. Actually, there was a fix added recently for a bug introduced in the 2.4.13 release that could cause writing 0s beyond the end of a DirectSound buffer. Perhaps that corrupted something in DirectSound, resulting in the strange behaviour you mention. Have all of the problems happened when using DirectSound output?

BASS version 2.4.13.25. I will try using .35 for the next release. Is it safe to include it in production by the way? The main page still offers the .8 version which is a bit misleading.

Yes, it should be fine to use in production. It should become the 2.4.14 release version fairly soon.

fmcoder

  • Posts: 447
Re: Changelog for development version?
« Reply #17 on: 12 Nov '18 - 17:52 »
A single BASS channel is making sound on 2 devices?
Yes, making sound on a device where it's supposed to, and also making garbage sound on a default device.

This only happened with DirectSound. I've rolled out an update with bass 2.4.13.35 included, and hope those problems will go away.