AnsweredAssumed Answered

GStreamer jpeg and textoverlay questions

Question asked by Josh Kurland on Nov 4, 2013
Latest reply on Mar 23, 2018 by Dan MacDonald



I am trying to add a jpeg/png graphic as well as text to a pipeline that I have made in GStreamer that will be running on a Wandboard-Quad built with Yocto Dora branch. 


In order to display jpeg/png images, I can use the pipeline:  gst-launch filesrc location=file.jpg ! jpegdec ! imagefreeze ! mfw_isink.  This pipeline does display the image, as long as the resolution is divisible by 8 pixels.  Otherwise the pipeline will fail with the error message 'source fmt error'.  This 8-bit aligned rule may be problematic for my final design.  What would it take to change this to support any resolution?  Does this issue lie with jpegdec or isink? 


In a related question, when I am displaying this graphic, it fills the entire screen, regardless of its actual size.  I have tried the pipeline gst-launch filesrc location=file.jpg ! jpegdec ! imagefreeze ! mfw_isink disp-width=320 disp-height=240, but the image still filled the screen.  Can anyone suggest a different pipeline that would allow me to reduce the size of the image?


Shifting topics slightly, I am having trouble adding textoverlay and timeoverlay elements to my Yocto build.  These elements are part of the gst-plugins-base package, but they seemed to have been removed for some reason.  I have tried to add them back in but have not been successful.  The most logical solution to me was to add the line gst-plugins-base-textoverlay to my recipe, however Yocto was not able to find textoverlay in the RPM.  So I added the line directly the RPM, which not only did not add what I want but also crashed gstreamer when I play video.  Lastly I tried adding Pango to my build, which I believe is related to textoverlay.  Pango was installed successfully, but still no luck with textoverlay.  Can anyone suggest a way of adding textoverlay to my Yocto build? 


As an aside, if anyone is having issues using mfw_isink to play multiple videos and is getting the following warning:

Can not open dll, cannot open shared object file:

No such file or directory.

  Caught SIGSEGV accessing address (nil)



The solution is to make a symlink to the correct library by doing ln -s  I was stuck on that for longer than I would like to admit.