Refactor: AudioData
Memory Management for Improved RAII Compliance
#126
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the issue (if no issue has been made)
In the existing codebase, the memory allocations for
AudioData
are externally handled. This setup poses the risk of memory leaks, especially when dealing with the external allocation and subsequent release of memory forAudioData::Data
within theSound
destructor. To enhance RAII compliance and mitigate potential memory issues, this pull request proposes a transition to utilizingstd::vector
for managingAudioData
memory. This adjustment ensures that memory deallocation responsibilities are intrinsic to theAudioData
class itself, thereby addressing the current shortcomings and promoting a more robust and leak-resistant code structure.Testing
Limited coverage for this PR. Minimal expected impact, seeking guidance from @jmorton06 on implementing appropriate tests.