Skip to content

Commit af1b928

Browse files
fix: calculate array length in bytes instead of elements count (#978)
* fix: calculate array length in bytes instead of elements count * fix: removed comment --------- Co-authored-by: maciejmakowski2003 <maciejmakowski2003@users.noreply.github.com>
1 parent 0a23a8e commit af1b928

6 files changed

Lines changed: 7 additions & 8 deletions

File tree

apps/fabric-example/ios/Podfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2588,7 +2588,7 @@ SPEC CHECKSUMS:
25882588
ReactCodegen: f66521b131699d6af0790f10653933b3f1f79a6f
25892589
ReactCommon: 07572bf9e687c8a52fbe4a3641e9e3a1a477c78e
25902590
ReactNativeDependencies: 3467a1fea6f7a524df13b30430bebcc254d9aee2
2591-
RNAudioAPI: cb97b644449ba63f7ae31c02f73e9cf1ab8fd259
2591+
RNAudioAPI: fa5c075d2fcdb1ad9a695754b38f07c8c3074396
25922592
RNGestureHandler: 07de6f059e0ee5744ae9a56feb07ee345338cc31
25932593
RNReanimated: d75c81956bf7531fe08ba4390149002ab8bdd127
25942594
RNScreens: 6cb648bdad8fe9bee9259fe144df95b6d1d5b707

packages/react-native-audio-api/common/cpp/audioapi/HostObjects/AudioParamHostObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ JSI_HOST_FUNCTION_IMPL(AudioParamHostObject, setValueCurveAtTime) {
104104
auto arrayBuffer =
105105
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
106106
auto rawValues = reinterpret_cast<float *>(arrayBuffer.data(runtime));
107-
auto length = static_cast<int>(arrayBuffer.size(runtime));
107+
auto length = static_cast<int>(arrayBuffer.size(runtime) / sizeof(float));
108108
auto values = std::make_shared<AudioArray>(rawValues, length);
109109

110110
auto event = [param = param_,

packages/react-native-audio-api/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ JSI_HOST_FUNCTION_IMPL(BaseAudioContextHostObject, createPeriodicWave) {
263263
auto arrayBufferReal =
264264
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
265265
auto real = reinterpret_cast<float *>(arrayBufferReal.data(runtime));
266-
auto length = static_cast<int>(arrayBufferReal.size(runtime));
266+
auto length = static_cast<int>(arrayBufferReal.size(runtime) / sizeof(float));
267267

268268
auto arrayBufferImag =
269269
args[1].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);

packages/react-native-audio-api/common/cpp/audioapi/HostObjects/analysis/AnalyserNodeHostObject.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getFloatFrequencyData) {
8080
auto arrayBuffer =
8181
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
8282
auto data = reinterpret_cast<float *>(arrayBuffer.data(runtime));
83-
auto length = static_cast<int>(arrayBuffer.size(runtime));
83+
auto length = static_cast<int>(arrayBuffer.size(runtime) / sizeof(float));
8484

8585
auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
8686
analyserNode->getFloatFrequencyData(data, length);
@@ -104,7 +104,7 @@ JSI_HOST_FUNCTION_IMPL(AnalyserNodeHostObject, getFloatTimeDomainData) {
104104
auto arrayBuffer =
105105
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
106106
auto data = reinterpret_cast<float *>(arrayBuffer.data(runtime));
107-
auto length = static_cast<int>(arrayBuffer.size(runtime));
107+
auto length = static_cast<int>(arrayBuffer.size(runtime) / sizeof(float));
108108

109109
auto analyserNode = std::static_pointer_cast<AnalyserNode>(node_);
110110
analyserNode->getFloatTimeDomainData(data, length);

packages/react-native-audio-api/common/cpp/audioapi/HostObjects/effects/BiquadFilterNodeHostObject.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ JSI_HOST_FUNCTION_IMPL(BiquadFilterNodeHostObject, getFrequencyResponse) {
6868
auto arrayBufferFrequency =
6969
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
7070
auto frequencyArray = reinterpret_cast<float *>(arrayBufferFrequency.data(runtime));
71-
// arrayBufferFrequency is Float32Array from JS and size is in bytes thus hardcoded division by 4
72-
auto length = static_cast<size_t>(arrayBufferFrequency.size(runtime) / 4);
71+
auto length = static_cast<size_t>(arrayBufferFrequency.size(runtime) / sizeof(float));
7372

7473
auto arrayBufferMag =
7574
args[1].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);

packages/react-native-audio-api/common/cpp/audioapi/HostObjects/effects/IIRFilterNodeHostObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ JSI_HOST_FUNCTION_IMPL(IIRFilterNodeHostObject, getFrequencyResponse) {
1818
auto arrayBufferFrequency =
1919
args[0].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);
2020
auto frequencyArray = reinterpret_cast<float *>(arrayBufferFrequency.data(runtime));
21-
auto length = static_cast<size_t>(arrayBufferFrequency.size(runtime));
21+
auto length = static_cast<size_t>(arrayBufferFrequency.size(runtime) / sizeof(float));
2222

2323
auto arrayBufferMag =
2424
args[1].getObject(runtime).getPropertyAsObject(runtime, "buffer").getArrayBuffer(runtime);

0 commit comments

Comments
 (0)