05-10-2017 07:25 AM
Is there a tutorial that explain how to start utilize Gstreamer on Petalinux?
I have started with the GStreamer.org tutorials , and could not go over the first line :
I looked in the petalinux directory found no traces. Though I've fount in the ROOTFS configuration the ability to add the Gstreamer to the petalinux image.
06-01-2017 04:46 AM
05-29-2017 10:48 PM
I understand that either this is a hard one or there is no support on the gstreamer issue.
Though I have learnt from the include directory that the following inclusion has to be added:
but now the glib.h is missing...
The header file is included in the gst.h header file as follows:
while the this header file is "hiding" under directory glib-2.0 ; so I guss that this directory is not in my make file's search list.
The question is why I have added in the rootfs the glib:
FilesystemPackages->misc->glib2.0->glib-2.0 & glib-2.0-dev
shouldn't it add all the relevant connectivity?
05-30-2017 09:41 AM
The easiest way to compile GStreamer application is using the pkg-config, as pointed in the GStreamer documentation. I tested the following way with a successful compilation.
1. Enable GStreamer within petalinux rootfs configuration
2. Create an application with petalinux-create command
3. Modify the Makefile to include the pkg-config in the compilation:
4. Compile the application
05-31-2017 10:04 PM
I think that I forget to tell that my application is in c++. does it make any difference when dealing with gstreamer?
Trying to understand petalinux-config -c rootfs: I think that I've found the gstreamer in the rootfs in a few places:
1) does it matter which gstreamet I enable?
2) does the selection includes the required libraries in the 'behind the scenes' makefile flags or should I add them manually?
BTW, the glib.h is still missing how should I add this library to the rootfs?
05-31-2017 11:05 PM
06-01-2017 01:26 AM
1) I did my test just using the gstreamer within multimedia option, but I would say that probably the best one is to use the packagegroup, as this usually will enable all the dependencies for common gstreamer use cases.
2) From what I saw, once enabled the Makefile flags are properly set but just for the linker, as the include directories for the compiler are not set by default. That's why you need to use pkg-config, which will generate all the required -I flags to compile you application.
3) You can find all those header files within the sysroot folder for your petalinux project. Just check the temporal folder where you project is build (cat <petalinux-project-path>/build/conf/plnxtool.conf | grep TMP) and do a search within the sysroot.
4) If you type pkg-config in the terminal it just find packages for your host machine rather than for your target, so only x86 file will be selected. However if you include the pkg-config command within the Makefile that is called by petalinux it will be run for the target and will generate the output for arm64.
06-01-2017 02:02 AM
I just recreated a petalinux project with package-petalinux-gstreamer enabled and as you can see I can find both the gstreamer library and glib.h file within the generated sysroot path (after building the rootfs)
06-01-2017 03:51 AM
I do see the gstreamer file. But yet I get that the gst/gst.h cannot be find. I have also attached the makefile. I have also attached the gstream directories per the find command
06-01-2017 04:46 AM