nosnia-audio-recorder 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -142,6 +142,11 @@ RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
142
142
  NSNumber *bitrate = options[@"bitrate"];
143
143
  if (!bitrate || ![bitrate isKindOfClass:[NSNumber class]] || [bitrate integerValue] <= 0) {
144
144
  bitrate = @(128000);
145
+ } else {
146
+ // AAC bitrate should be between 32000 and 320000
147
+ NSInteger br = [bitrate integerValue];
148
+ if (br < 32000) bitrate = @(32000);
149
+ if (br > 320000) bitrate = @(320000);
145
150
  }
146
151
 
147
152
  NSNumber *channels = options[@"channels"];
@@ -155,6 +160,13 @@ RCT_EXPORT_METHOD(startRecording:(NSDictionary *)options
155
160
  NSNumber *sampleRate = options[@"sampleRate"];
156
161
  if (!sampleRate || ![sampleRate isKindOfClass:[NSNumber class]] || [sampleRate integerValue] <= 0) {
157
162
  sampleRate = @(44100);
163
+ } else {
164
+ // AAC requires specific sample rates: 8000, 16000, 22050, 24000, 32000, 44100, 48000
165
+ NSInteger rate = [sampleRate integerValue];
166
+ NSArray *validRates = @[@8000, @16000, @22050, @24000, @32000, @44100, @48000];
167
+ if (![validRates containsObject:sampleRate]) {
168
+ sampleRate = @(44100); // Default to 44100 if invalid
169
+ }
158
170
  }
159
171
 
160
172
  // Get audio session
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nosnia-audio-recorder",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "description": "This is a modern audio recorder which actually works cross platform",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",