Skip to content

🚧Fix bug with stopping audio when it is already stopped #349

@CalvinWilkinson

Description

@CalvinWilkinson

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Fix a bug where if the audio is already stopped, and you run the Reset() method, OpenAL will throw an IllegalCommand error.

This is an easy fix. We just need to go into the private StreamBuffer.Reset() method and check the state of the audio. if the state of the audio is already set to ALSourceState.Initial or ALSourceState.Stopped, we can just exit the method.

Note

This is only occurring for streamed audio, not fully buffered audio.

Warning

This is a major issue for CASL users. This needs to be a standalone release.

Acceptance Criteria

### The items to complete to satisfy the Definition of Done.
- [x] All unit tests executed and passed locally after PR work is complete. _(Why? Refer to 'Additional Information' below.)_

ToDo Items

### The items to complete to satisfy the Definition of Done.
- [x] Change type labels added to this issue.  Refer to the _**Change Type Labels**_ section below.
- [x] Priority label added to this issue.  Refer to the _**Priority Type Labels**_ section below.
- [x] Issue linked to the correct milestone _(if applicable)_.

Issue Dependencies

No response

Related Work

No response

Additional Information:

Unit Tests

Reasons for local unit test execution:

  • Unit tests might pass locally but not in the CI environment during the status check process or vice-versa.
  • Tests might pass on the developer's machine but not necessarily on the code reviewer's machine.
  • If you notice that the test status check has passed but the test failed locally, please notify a project maintainer!

💡Warning💡
If the unit tests pass remotely and are not executed locally, this means we could be letting a bug slip into production.
Though bugs will always exist in some capacity, we should all do our part to help prevent them from happening.

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
CICD Changes ♻️cicd
Config Changes ⚙️config
Performance Improvements 🏎️performance
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Metadata

Metadata

Labels

Type

Projects

Status

✅Done

Relationships

None yet

Development

No branches or pull requests

Issue actions