jmorton06 / Lumos

Cross-Platform C++ 2D/3D game engine
MIT License
1.21k stars 130 forks source link

Refactor: `AudioData` Memory Management for Improved RAII Compliance #126

Closed adriengivry closed 7 months ago

adriengivry commented 7 months ago

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 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.

jmorton06 commented 7 months ago

Looks good. Don't think it requires any testing