AnsweredAssumed Answered

Does the MP3 encoder is capable of providing constant sized MP3 frames ?

Question asked by Jose Alberto Lopez on Feb 10, 2015
Latest reply on Mar 12, 2015 by Jose Alberto Lopez

Hi,

 

This is my setup:

imx6 Solo

3.0.35 kernel

gst-plugins-imx-3.0.9

 

I currently have a matroska muxing pipe, part of it involves audio capture and encoding, that part of the pipeline is described as follows:

 

gst-launch -e alsasrc ! mfw_mp3encoder bitrate=128 optmod=1 channels=2 sample-rate=44100 ! queue  max-size-buffers=0 max-size-bytes=0 max-size-time=9000000000 ! matroskamux ...

 

Doing an inspection of the audio buffers that arrive at the matroskamuxer all of them have a variable size, for example using GST_LOG this is the size of some consecutive audio buffers (in bytes):

 

441

415

417

419

426

416

410

421

424

416

402

420

431

410

425

418

 

Now, according to the MPEG1 Layer 3 spec, having 128 Kbps and 44100 Hz Sample Rate the framesize should be:

 

MP3 Frame Size = 417 + (paddingBit == 1 ? 1 : 0);


When I insert some GST_LOG symbols inside the mfw_mp3encoder plugin I can tell that for each of the encoded frames I am having a 128 bitrate and 44100 sample rate, so that would lead to a constant framesize of 417 or 418 if padded.


Is it possible for the mp3 encoder (talking here of hardware/codec) to output this constant framesize ?



Thanks

- Jose Lopez

Outcomes