xvimagesink0: Could not initialise Xv output

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

xvimagesink0: Could not initialise Xv output

13,195 Views
javierrodriguez
Contributor III

Hi there!

I am a really newbie freescale user and I am getting an issue with the videosink element in gstreamer.

I am using a iMX6Q Sabrelite with a Ubuntu 12.09 within.

I have modified the v4l2 kernel module in order to detect the Logitech c920 Webcam. This webcam is able to capture video with H264 hardware in HD (1080p). With a program I have captured the raw NALs into a file.

Now, I can reproduce the video using the vpu decoder. The video plays smoothly and the system is using less than 10% of the CPU. It works fine but the gstreamer is using the v4l_sink by default. This sink puts the video directly within the framebuffer device so the system draws the image on the desktop without using a window. This is a real problem because I am working on an application that uses this and I need to display the video in a window.

I have tried to use the "xvimagesink" instead of "autovideosink" but I got this error:

$ gst-launch-0.10 filesrc location=test.h264 ! h264parse ! vpudec ! xvimagesink

Setting pipeline to PAUSED ...

ERROR: Pipeline doesn't want to pause.

ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Could not initialise Xv output

Additional debug info:

xvimagesink.c(1428): gst_xvimagesink_get_xv_support (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:

No port available

Setting pipeline to NULL ...

Freeing pipeline ...

It is very extrange. I have installed all xorg modules thate using the Xv but it does still not working.

If I execute the command xvinfo, I get this:

X-Video Extension version 2.2

screen #0

no adaptors present

What do you think about it?.


Thank you very much.

Labels (3)
4 Replies

4,681 Views
daiane_angolini
NXP Employee
NXP Employee

have you tried using ximagesink? (and not xVimagesink)

4,681 Views
javierrodriguez
Contributor III

The problem is that the vpudec module, throws the data in yuv format and the Ximagesink requires the data in rgb so if I want to use them together I have to convert the image via software (ffmpegcolorspace gstreamer module) and this is very expensive for the board.

Currently, I have gave up this approach and I am working with the frame buffer (resizing) to be able to put it within a gtk window previously designed by me.

I know that this is not the best solution but I spent 1 week searching for information to solve my issue and nobody could help me.

Thank you very much for you answer Daiane.

4,681 Views
daiane_angolini
NXP Employee
NXP Employee

Thanks for letting me know.

I´m not used with Ubuntu rootfs, but I know totem works very well with FSL decoders, so it´s not impossible,

0 Kudos

4,681 Views
javierrodriguez
Contributor III

Hi,

I was debugging totem and I discovered that totem, resize and adjust the frame buffer to the black rectangle when it playbacks a video and andjust the frame buffer to fullscreen when you configure it to view the same video in full screen. It is not a very good solution but it is a solution indeed.

It is very easy to adjust the output with gstreamer if you use the mfw_v4lsink video sink module.

Thank you.