Hi ,
I am new to the Gstreamer application development. I have an embedded device having gstreamer version 0.10.34. Could you please let me know whether it supports the elements 'qtdemux' ? I just linked it with 'decoderbin' to playback an audio stream. Currently I am getting error "A MPEG-4 AAC decoder plugin is required to play this stream".. Do I need to upgrade to Gstreamer 1.0 version to support this? Your guidance will be highly appreciated. Thanks, Rajeesh |
Administrator
|
It is highly recommended to upgrade to gstreamer-1.0, with latest version being 1.12.
just do gst-inspect-0.10 to see if qtdemux element exists. If you have received missing AAC decoder error, which most likely means you have qtdemux. gst-inspect-0.10 | grep aac should tell you if you have faad or any other aac decoder In 1.0, avdec_aac which is in gst-libav should do the aac decoding |
Thanks for your guidance.
I have tried the below commands as you suggested and got the below response # gst-inspect-0.10 | grep qtdemux isomp4: qtdemux: QuickTime demuxer # gst-inspect-0.10 | grep -i aac audioparsers: aacparse: AAC audio stream parser typefindfunctions: audio/aac: aac, adts, adif, loas # gst-launch-0.10 --version gst-launch-0.10 version 0.10.34 GStreamer 0.10.34 Unknown package origin In my requirement, below is the command that I need to play through device, but getting the below error. # gst-launch-0.10 filesrc location=/HBBTv/samplevideo.mp4 ! qtdemux name=dmux dmux.audio_00 ! decodebin ! audioconvert ! audioresample ! autoaudiosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: A MPEG-4 AAC decoder plugin is required to play this stream, but not installed. Additional debug info: gstdecodebin.c(997): close_pad_link (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0: No decoder to handle media type 'audio/mpeg' ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... I have also tried to play using "playbin2" element , but it throws me a different error as shown below. # gst-launch-0.10 playbin2 uri=file:///pcloc/samplevideo.mp4 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... (gst-launch-0.10:28246): GStreamer-WARNING **: Failed to load plugin '/lib/gstreamer-0.10/libgstfluismd.so': /usr/local/lib/libxml2.so.2: undefined symbol: crc32 (gst-launch-0.10:28246): GStreamer-WARNING **: Failed to load plugin '/lib/gstreamer-0.10/libgstfluismd.so': /usr/local/lib/libxml2.so.2: undefined symbol: crc32 ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstQTDemux:qtdemux0: GStreamer encountered a general stream error. Additional debug info: qtdemux.c(3865): gst_qtdemux_loop (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstQTDemux:qtdemux0: streaming stopped, reason not-linked ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline .. I just tried the above pipeline setups in a desktop that has the gstreamer version 0.10.36 and found that both of them worked well. since the above commands worked for the desktop, is there anyway to solve this issue without upgrading the gstreamer version to 1.0 in the embedded device that I am currently working on? or Any plugin updates will work ? Please help me to understand this. Any of your thoughts will surely helpful for me. Thanks in advance. |
Free forum by Nabble | Edit this page |