conda-forge / gstreamer-feedstock

A conda-smithy repository for gstreamer.
BSD 3-Clause "New" or "Revised" License
9 stars 28 forks source link

gtksink plugin not available #50

Open TWJubb opened 3 years ago

TWJubb commented 3 years ago

Hi,

I'm just starting off with GStreamer with a basic example pipeline which requires the gtksink element. I've installed the base and good plugins (as well as gstreamer) through conda-forge in a fresh environment.

When I run gst-inspect-1.0 gtksink I get

No such element or plugin 'gtksink'


Environment (conda list):

``` $ conda list # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_gnu conda-forge ca-certificates 2020.12.5 ha878542_0 conda-forge cairo 1.16.0 h9f066cc_1006 conda-forge certifi 2020.12.5 py36h5fab9bb_0 conda-forge fontconfig 2.13.1 h7e3eb15_1002 conda-forge freetype 2.10.4 h7ca028e_0 conda-forge gettext 0.19.8.1 hf34092f_1004 conda-forge glib 2.66.3 h58526e2_0 conda-forge gobject-introspection 1.66.1 py36hc23f7e7_3 conda-forge gst-plugins-base 1.18.2 h9fb0423_0 conda-forge gst-plugins-good 1.18.2 h1fc3fae_0 conda-forge gst-python 1.18.2 py36h3029192_1 conda-forge gstreamer 1.18.2 ha23517c_0 conda-forge icu 67.1 he1b5a44_0 conda-forge ld_impl_linux-64 2.35.1 hea4e1c9_1 conda-forge libffi 3.2.1 he1b5a44_1007 conda-forge libgcc-ng 9.3.0 h5dbcf3e_17 conda-forge libglib 2.66.3 hbe7bbb4_0 conda-forge libgomp 9.3.0 h5dbcf3e_17 conda-forge libiconv 1.16 h516909a_0 conda-forge libpng 1.6.37 h21135ba_2 conda-forge libstdcxx-ng 9.3.0 h2ae2ef3_17 conda-forge libuuid 2.32.1 h7f98852_1000 conda-forge libxcb 1.13 h14c3975_1002 conda-forge libxml2 2.9.10 h68273f3_2 conda-forge ncurses 6.2 h58526e2_4 conda-forge openssl 1.1.1i h7f98852_0 conda-forge pcre 8.44 he1b5a44_0 conda-forge pip 20.3.3 pyhd8ed1ab_0 conda-forge pixman 0.40.0 h36c2ea0_0 conda-forge pthread-stubs 0.4 h36c2ea0_1001 conda-forge pycairo 1.20.0 py36h4779a57_1 conda-forge pygobject 3.38.0 py36hf6b45a7_3 conda-forge python 3.6.11 h4d41432_2_cpython conda-forge python_abi 3.6 1_cp36m conda-forge readline 8.0 he28a2e2_2 conda-forge setuptools 49.6.0 py36h9880bd3_2 conda-forge sqlite 3.34.0 h74cdb3f_0 conda-forge tk 8.6.10 h21135ba_1 conda-forge wheel 0.36.2 pyhd3deb0d_0 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.10 h516909a_0 conda-forge xorg-libsm 1.2.3 h84519dc_1000 conda-forge xorg-libx11 1.6.12 h516909a_0 conda-forge xorg-libxau 1.0.9 h14c3975_0 conda-forge xorg-libxdmcp 1.1.3 h516909a_0 conda-forge xorg-libxext 1.3.4 h516909a_0 conda-forge xorg-libxrender 0.9.10 h516909a_1002 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h7f98852_1007 conda-forge xz 5.2.5 h516909a_1 conda-forge zlib 1.2.11 h516909a_1010 conda-forge ```

It is possible the gtksink is in gst_plugins_bad (as listed here). However; the actual list of gst_plugins_bad doesn't contain it; instead it is listed in gst_plugins_good.

I assume that it has been moved into good but the conda package is v. 1.18.2 and very recently updated (also this lists the good plugins as v. 1.16.0, so I'm not certain what these various version numbers refer to).

Cheers!

tschoonj commented 3 years ago

For the gtksink plugin, gstreamer-good-plugins would need to be rebuilt with gtk3 as additional dependency.

TWJubb commented 3 years ago

Thanks for the speedy reply.

I think that means I won't be able to use the conda-forge installation; instead using my system install of GStreamer (which does have gtksink).

Since I'm only doing basic things for learning; the ximagesink element is a good substitute (for linux) which works with the conda packages.

tschoonj commented 3 years ago

Mixing conda-forges gstreamer with the system provided one is not recommended and will likely result in segmentation faults when you do try so.

Best you can do is open a PR here with the necessary changes applied to the recipe.

TWJubb commented 3 years ago

Best you can do is open a PR here with the necessary changes applied to the recipe.

I lack experience to do this unfortunately; but can certainly give it a try after some reading around.