IMX6 Gstreamer is not playing video/audio

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6 Gstreamer is not playing video/audio

4,656 Views
Tarek
Senior Contributor I

I'm using the Nitrogen board to evaluate imx6 multimedia capabilities. I've been given the LTIB source and freescale IMX_MMCODECS but I'm not using LTIB. I'm using openembedded the Poky distribution.

So far I've integrated the MMCODECS and the necessary packages from LTIB into Yocto project and everything builds successfully. The basic Linux functionality is working fine but gstreamer is not.

I can't play any audio or video files and each media type has different errors.

For example this is the output when I try to play mp3 file:

gst-launch filesrc location=recit.mp3 ! queue max-size-time=0 ! mfw_mp3decoder ! audioconvert ! 'audio/x-raw-int, channels=2' ! alsasink
BLN_MAD-MMCODECS_MP3D_ARM_02.11.00_CORTEX-A8  build on Mar 21 2012 17:11:36.
MFW_GST_MP3_DECODER_PLUGIN 2.0.8 build on Aug 31 2012 04:33:06.
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: CODEC ERROR code 0x192, please consult Freescale codec team for more information
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock



There are few differences between my image and the LTIB, mainly I'm using higher versions of gstreamer and libx11 because that's what comes with poky.

Can anyone please help debugging this problem?

Thanks

Labels (1)
0 Kudos
6 Replies

1,458 Views
EricNelson
Senior Contributor II

Hi Tarek,

Did you get this resolved?

If so, can you tell us what you did?


I suspect that at a minimum, you'll need to install the VPU firmware into /lib/firmware/vpu, but I'd be surprised if you don't need to re-compile the gstreamer components from the MM_CODECs package.

0 Kudos

1,458 Views
Tarek
Senior Contributor I

Hi Eric,

Yes, this was resolved. I needed to install the correct libraries into the correct locations. I've benefited from the information given in this thread https://community.freescale.com/thread/300387

So I modified the openembedded recipes accordingly and that's how I got it working.

0 Kudos

1,458 Views
LyonWang
NXP Employee
NXP Employee

I'm not sure why other video or audios can't be played.

But for the ERROR list above,  it should be a issue related to watermark protection,

please check if /dev/mxc_mem -> mxs_viim   these 2 files are existed.

i'm afraid some BSP modules are not correctly installed.

1,458 Views
Tarek
Senior Contributor I

Thanks Jialiang for the information. I have followed the instructions given in another thread and I think the installation is correct now but I can't get gstreamer up and running.

I have checked my /dev directory and I don't see the mxc_mem. this is what I found:

root@imx6qsabrelite:~# ls /dev/mx*

/dev/mxc_asrc  /dev/mxc_ipu   /dev/mxc_vpu   /dev/mxs_viim

if that's not right can you please let me know what package provides  mxc_mem?

The error I'm get at the moment is:

root@imx6qsabrelite:~# gst-launch playbin2 uri=file:///home/root/big_buck_bunny.mp4

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

Missing element: Quicktime demuxer

WARNING: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/quicktime, variant=(string)iso'.

Additional debug info:

gsturidecodebin.c(874): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0

ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: Your GStreamer installation is missing a plug-in.

Additional debug info:

gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20:

no suitable plugins found

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

Thanks

0 Kudos

1,458 Views
fengwei
NXP Employee
NXP Employee

/dev/mxc_mem is a symbol linkage, you can create it by yourself

# ln -s mxs_viim /dev/mxc_mem

1,458 Views
Tarek
Senior Contributor I

Thanks Wei that was very helpful.

I will install the udev extra rules to get the symlink done for me at start up

0 Kudos