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 for AudioData::Data within the Sound destructor. To enhance RAII compliance and mitigate potential memory issues, this pull request proposes a transition to utilizing std::vector for managing AudioData memory. This adjustment ensures that memory deallocation responsibilities are intrinsic to the AudioData 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.
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.