This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Missing element: MPEG-1 Layer 3 (MP3) decoder

Hi 

I am using GLSDK 7.03 on ubuntu 12.04 ( yocto filesystem) . I am trying to play mp3 on target platform using this command

root@dra7xx-evm:/# gst-launch-1.0 playbin uri=file:///home/test1.mp3 audio-sink=alsasink

after running this command ia m getting below error.

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Missing element: MPEG-1 Layer 3 (MP3) decoder
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1
Additional debug info:
gsturidecodebin.c(930): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
gstdecodebin2.c(3928): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ....

.wav file is running properly but what can be the issue with mp3??

Thanks

Singh

  • Hello,

    Have you installed all the plugins ?

    can you post the output of gst-inspect-1.0 | grep mp3
    typically It should have some mp3 decoders like mad/lame.

    Typical output looks like:

    libav: avdec_mp3: libav MP3 (MPEG audio layer 3) decoder
    libav: avdec_mp3float: libav MP3 (MPEG audio layer 3) decoder
    libav: avdec_mp3adu: libav ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder
    libav: avdec_mp3adufloat: libav ADU (Application Data Unit) MP3 (MPEG audio layer 3) decoder
    libav: avdec_mp3on4: libav MP3onMP4 decoder
    libav: avdec_mp3on4float: libav MP3onMP4 decoder
    libav: avmux_mp3: libav MP3 (MPEG audio layer 3) formatter (not recommended, use id3v2mux instead)
    typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta
    typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta
    typefindfunctions: application/x-apetag: mp3, ape, mpc, wv
    typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga
    lame: lamemp3enc: L.A.M.E. mp3 encoder
    mad: mad: mad mp3 decoder
    mpg123: mpg123audiodec: mpg123 mp3 decoder
    flump3dec: flump3dec: Fluendo MP3 Decoder (C build)


    Cheers,
    --Prabhakar Lad
  • Hi Prabhakar ,
    Thanks for reply.
    root@dra7xx-evm:/# gst-inspect-1.0 | grep mp3
    typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta
    typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta
    typefindfunctions: application/x-apetag: mp3, ape, mpc, wv
    typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga
  • Hello,

    You don’t have any of the mp3 decoders that’s the reason you get the above error.
    you need to have at least one of these lame/mad/mpg123/flump3dec

    Install gst-plugins-ugly which has mad/lame
    Install gst-plugins-bad which has mpg123

    Cheers,
    --Prabhakar Lad
  • Hi Prabhakar

    Thaks for you reply. On target how can i install plugins? can you suggest . it will be very helpfull.

    Regards
    Singh
  • Hello,

    You need to cross compile it and copy the binaries/libraries across in your file system.

    Cheers,
    --Prabhakar Lad
  • Thanks Prabhakr.

    Regards
    Singh
  • Hi,

    Make sure you compile the gst-plugins-ugly library against the same version of gstreamer which you have in the file system or just build a new filesystem with new binaries.

    Cheers,
    --Prabhakar Lad
  • Thanks Prabhakar.

    I got it resolved.