AAC/MP3 Codecs support for DM355 with GStreamer
Cristina has finished her graduation project with the Leopard board, and now we have (almost) completely AAC-LC and MP3 encode/decode support with the gstreamer plugin.
We have tested the encoders to properly generated standalone AAC or MP3 files, as well as muxplex them into a mp4/quicktime container format. The only remaining issue is related to the the encoders being unable to be used at the same time as the alsa capture driver (Cristina already ask Ittiam about the problem, but we haven’t got any feedback yet). In any case the issue is reproducible with Ittiam’s command line demo apps, so we don’t think is a gst issue.
As usual the beauty of a gstreamer solution is on the simplicity of the examples:
Encoding AAC audio into a quicktime container (two steps due the encoder bug):
gst-launch alsasrc ! audio/x-raw-int, width=16, depth=16, endianness=1234, channels=2, rate=44100, signed=true ! filesink location=/audio.pcm
gst-launch -e filesrc location=/audio.pcm ! audio/x-raw-int, width=16, depth=16, endianness=1234, channels=2, rate=44100, signed=true ! dmaienc_aac ! qtmux ! filesink location=/audio.m4a
Decoding the AAC audio from quicktime container:
gst-launch filesrc location=/audio.mp4 ! qtdemux ! dmaidec_aac ! alsasink
Encoding AAC audio elementary stream:
gst-launch filesrc location=/audio.pcm ! audio/x-raw-int, width=16, depth=16, endianness=1234, channels=2, rate=44100, signed=true ! dmaienc_aac outputformat=2 ! filesink location=/audio.aac
Decoding AAC elementary stream:
gst-launch filesrc location=/audio.aac ! aacparse ! dmaidec_aac ! alsasink
Encoding MP3 elementary stream:
gst-launch -e filesrc location=/audio.pcm ! audio/x-raw-int, width=16, depth=16, endianness=1234, channels=2, rate=44100, signed=true ! dmaienc_mp3 ! filesink location=/audio.mp3
Decoding MP3 audio:
gst-launch filesrc location=/audio.mp3 ! mp3parse ! dmaidec_mp3 ! alsasink
The support for these features is available on DDOMPE’s branch, and will likely be available on the 2.0 release of the gst-ti-dmai plugin.
Enjoy.