NativeInstruments / ni-media

NI Media is a C++ library for reading and writing audio streams.
MIT License
235 stars 34 forks source link

Added FLAC encoder + ofstream type deduction + fast pcm encoding #66

Closed FalconPDX closed 6 months ago

FalconPDX commented 8 months ago

Finally got around to finishing it.

Main highlights:

Todo (in another update/lifetime):

codecov[bot] commented 8 months ago

Codecov Report

Attention: 13 lines in your changes are missing coverage. Please review.

Comparison is base (c7b0e9e) 83.10% compared to head (7426569) 83.18%. Report is 1 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #66 +/- ## ========================================== + Coverage 83.10% 83.18% +0.08% ========================================== Files 82 85 +3 Lines 2024 2123 +99 ========================================== + Hits 1682 1766 +84 - Misses 342 357 +15 ``` | [Files](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments) | Coverage Δ | | |---|---|---| | [...diostream/src/ni/media/audio/flac/flac\_file\_sink.h](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vc3JjL25pL21lZGlhL2F1ZGlvL2ZsYWMvZmxhY19maWxlX3NpbmsuaA==) | `100.00% <100.00%> (ø)` | | | [audiostream/src/ni/media/audio/flac/flac\_source.h](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vc3JjL25pL21lZGlhL2F1ZGlvL2ZsYWMvZmxhY19zb3VyY2UuaA==) | `84.89% <ø> (ø)` | | | [...stream/test/ni/media/audio/aiff/aiff\_sink.test.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vdGVzdC9uaS9tZWRpYS9hdWRpby9haWZmL2FpZmZfc2luay50ZXN0LmNwcA==) | `100.00% <100.00%> (ø)` | | | [...stream/test/ni/media/audio/flac/flac\_sink.test.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vdGVzdC9uaS9tZWRpYS9hdWRpby9mbGFjL2ZsYWNfc2luay50ZXN0LmNwcA==) | `100.00% <100.00%> (ø)` | | | [...iostream/test/ni/media/audio/wav/wav\_sink.test.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vdGVzdC9uaS9tZWRpYS9hdWRpby93YXYvd2F2X3NpbmsudGVzdC5jcHA=) | `100.00% <100.00%> (ø)` | | | [audiostream/test/ni/media/source\_test.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vdGVzdC9uaS9tZWRpYS9zb3VyY2VfdGVzdC5jcHA=) | `71.87% <66.66%> (ø)` | | | [audiostream/inc/ni/media/audio/ostream.h](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vaW5jL25pL21lZGlhL2F1ZGlvL29zdHJlYW0uaA==) | `85.00% <83.33%> (-15.00%)` | :arrow_down: | | [...ostream/src/ni/media/audio/flac/flac\_file\_sink.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vc3JjL25pL21lZGlhL2F1ZGlvL2ZsYWMvZmxhY19maWxlX3NpbmsuY3Bw) | `93.87% <93.87%> (ø)` | | | [audiostream/src/ni/media/audio/iotools.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vc3JjL25pL21lZGlhL2F1ZGlvL2lvdG9vbHMuY3Bw) | `62.79% <50.00%> (+2.79%)` | :arrow_up: | | [audiostream/src/ni/media/audio/ofstream.cpp](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments#diff-YXVkaW9zdHJlYW0vc3JjL25pL21lZGlhL2F1ZGlvL29mc3RyZWFtLmNwcA==) | `90.24% <89.28%> (+4.52%)` | :arrow_up: | ... and [4 files with indirect coverage changes](https://app.codecov.io/gh/NativeInstruments/ni-media/pull/66/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=NativeInstruments)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

FalconPDX commented 6 months ago

Closing this as I will refactor the PR to reduce the scope.