Hi Firat,

Thanks for catching this.
Here the local video parser plugin (libgstvaapi_parse.so) is only trying to link against the local(builtin) codec parser library. But since you disabled the builtin-codecparser at compile time ,the videoparsersesr is not getting the link correctly.

Fix is needed in gst/vaapi/Makefile.am,,,

BTW, why can't you use the builtin-codecparsers?? We always make sure the built-in codecparsers are up to date with upstream.. Also if someone uses older GStreamer versions, I prefer using the built-in codecparsers since upstream is missing some patches...

Could you please file a bug against gstreamer-vaapi :https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi..
I will fix it, or you can attach the patch too :)

On 08.09.2015 19:54, Engin Firat wrote:
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

--
Thanks
Sree

---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
Libva mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to