Initializes the lame encoder. Throws IllegalArgumentException when parameters are not supported by LAME.
(int channels, int inSampleRate, int outSampleRate, int bitrate, int mode, int quality, boolean VBR, boolean bigEndian)
| 257 | * parameters are not supported by LAME. |
| 258 | */ |
| 259 | private int nInitParams(int channels, int inSampleRate, int outSampleRate, int bitrate, |
| 260 | int mode, int quality, boolean VBR, boolean bigEndian) { |
| 261 | // encoder modules |
| 262 | lame = new Lame(); |
| 263 | gaud = new GetAudio(); |
| 264 | ga = new GainAnalysis(); |
| 265 | bs = new BitStream(); |
| 266 | p = new Presets(); |
| 267 | qupvt = new QuantizePVT(); |
| 268 | qu = new Quantize(); |
| 269 | vbr = new VBRTag(); |
| 270 | ver = new Version(); |
| 271 | id3 = new ID3Tag(); |
| 272 | rv = new Reservoir(); |
| 273 | tak = new Takehiro(); |
| 274 | parse = new Parse(); |
| 275 | hist = new BRHist(); |
| 276 | |
| 277 | mpg = new MPGLib(); |
| 278 | intf = new Interface(); |
| 279 | common = new Common(); |
| 280 | |
| 281 | lame.setModules(ga, bs, p, qupvt, qu, vbr, ver, id3, mpg); |
| 282 | bs.setModules(ga, mpg, ver, vbr); |
| 283 | id3.setModules(bs, ver); |
| 284 | p.setModules(lame); |
| 285 | qu.setModules(bs, rv, qupvt, tak); |
| 286 | qupvt.setModules(tak, rv, lame.enc.psy); |
| 287 | rv.setModules(bs); |
| 288 | tak.setModules(qupvt); |
| 289 | vbr.setModules(lame, bs, ver); |
| 290 | gaud.setModules(parse, mpg); |
| 291 | parse.setModules(ver, id3, p); |
| 292 | |
| 293 | |
| 294 | // decoder modules |
| 295 | mpg.setModules(intf, common); |
| 296 | intf.setModules(vbr, common); |
| 297 | |
| 298 | gfp = lame.lame_init(); |
| 299 | gfp.num_channels = channels; |
| 300 | gfp.in_samplerate = inSampleRate; |
| 301 | if (outSampleRate>=0) |
| 302 | gfp.out_samplerate = outSampleRate; |
| 303 | if (mode != CHANNEL_MODE_AUTO) { |
| 304 | gfp.mode = Enum.valueOf(MPEGMode.class, chmode2string(mode)); |
| 305 | } |
| 306 | if (VBR) { |
| 307 | gfp.VBR = VbrMode.vbr_default; |
| 308 | gfp.VBR_q = quality; |
| 309 | } else { |
| 310 | if (bitrate != BITRATE_AUTO) { |
| 311 | gfp.brate = bitrate; |
| 312 | } |
| 313 | } |
| 314 | gfp.quality = quality; |
| 315 | |
| 316 | id3.id3tag_init(gfp); |
no test coverage detected