Hello all, I have written the same problem before gstreamer-devel forum but I cannot find any support to assist me in this problem. So I am writing here, expecting to find some support here.
Here is the link to post in gstreamer-devel forum. http://gstreamer-devel.966125.n4.nabble.com/Compilation-of-gstreamer-vaapi-from-source-tc4673454.html Meanwhile I have been working on problem and I want to share a more detailed version of the problem: I have compiled gstreamer, gstreamer-base and gstreamer-bad of versions 1.5.90. I have compiled gstreamer-vaapi 0.6.0 version. Before compilation I have been using the following flags to configure the library: *./configure --prefix=/usr/local --enable-builtin-videoparsers --enable-builtin-codecparsers=no --enable-encoders* The library was compiled successfully and I have installed it. After installation I run the following command: *$ gst-inspect-1.0 -b* and I got the following output: *(gst-plugin-scanner:26005): GStreamer-WARNING **: Failed to load plugin '/usr/local/lib/gstreamer-1.0/libgstvaapi_parse.so': /usr/local/lib/gstreamer-1.0/libgstvaapi_parse.so: undefined symbol: gst_h265_parser_free* *Blacklisted files:* * libgstvaapi_parse.so* I control the file *libgstvaapi_parse.so* *, *the following is portion of output that contains h265 word: *000000000001c3b0 t gst_h265_parse_class_intern_init* *000000000001da80 t gst_h265_parse_event* *000000000001d880 t gst_h265_parse_finalize* *000000000001c720 t gst_h265_parse_format_from_caps* *000000000001c640 t gst_h265_parse_get_caps* *000000000001dc90 t gst_h265_parse_get_property* *000000000001d8b0 t gst_h265_parse_get_string.isra.1.part.2* *00000000000229b0 t gst_h265_parse_get_type* *000000000001f480 t gst_h265_parse_handle_frame* *000000000001c380 t gst_h265_parse_init* *000000000001ddb0 t gst_h265_parse_negotiate* *000000000022dfd8 b gst_h265_parse_parent_class* *000000000001f380 t gst_h265_parse_parse_frame* *0000000000020bf0 t gst_h265_parse_pre_push_frame* *000000000022dfd0 b GstH265Parse_private_offset* *000000000001cc20 t gst_h265_parse_process_nal* *000000000001d500 t gst_h265_parse_push_codec_buffer* *000000000001d620 t gst_h265_parse_reset* *000000000001d570 t gst_h265_parse_reset_frame* * U gst_h265_parser_free* * U gst_h265_parser_identify_nalu* * U gst_h265_parser_identify_nalu_hevc* * U gst_h265_parser_identify_nalu_unchecked* * U gst_h265_parser_new* * U gst_h265_parser_parse_nal* * U gst_h265_parser_parse_pps* * U gst_h265_parser_parse_slice_hdr* * U gst_h265_parser_parse_sps* * U gst_h265_parser_parse_vps* *000000000001c900 t gst_h265_parser_store_nal* *0000000000020610 t gst_h265_parse_set_caps* *000000000001dd20 t gst_h265_parse_set_property* *000000000001d8e0 t gst_h265_parse_src_event* *000000000001d800 t gst_h265_parse_start* *000000000001d710 t gst_h265_parse_stop* *000000000001e060 t gst_h265_parse_update_src_caps* *000000000001cb20 t gst_h265_parse_wrap_nal* * U gst_h265_slice_hdr_free* It seems that, the symbol *gst_h265_parser_free *actually is not undefined. However this is normal in circumstances where this undefined symbol is defined somewhere else. So I have controlled the ldd output of the *libgstvaapi_parse.so* file to see the external dependencies: *$ ldd libgstvaapi_parse.so * The following is the output: * linux-vdso.so.1 => (0x00007fffe5aa6000)* * libgstcodecparsers_vpx.so.0 => /usr/local/lib/libgstcodecparsers_vpx.so.0 (0x00007faec7ba9000)* * libgstvideo-1.0.so.0 => /usr/local/lib/libgstvideo-1.0.so.0 (0x00007faec793c000)* * libgstbase-1.0.so.0 => /usr/local/lib/libgstbase-1.0.so.0 (0x00007faec76de000)* * libgstreamer-1.0.so.0 => /usr/local/lib/libgstreamer-1.0.so.0 (0x00007faec73c4000)* * libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007faec7173000)* * libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007faec6e6a000)* * libgstpbutils-1.0.so.0 => /usr/local/lib/libgstpbutils-1.0.so.0 (0x00007faec6c40000)* * libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007faec6a22000)* * libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faec665b000)* * libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faec6355000)* * libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007faec6151000)* * librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faec5f48000)* * libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faec5d44000)* * libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007faec5b3c000)* * libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007faec58fd000)* * libgstaudio-1.0.so.0 => /usr/local/lib/libgstaudio-1.0.so.0 (0x00007faec56b3000)* * /lib64/ld-linux-x86-64.so.2 (0x00007faec8045000)* * libgsttag-1.0.so.0 => /usr/local/lib/libgsttag-1.0.so.0 (0x00007faec5479000)* * libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007faec5260000)* I have found that the symbol is defined in *libgstcodecparsers-1.0.so <http://libgstcodecparsers-1.0.so> *but libgstvaapi_parse.so does not have any dependency on this library nor files it is depended. Could you please help me to find the problem? Regards.
_______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
