Opened 2 years ago

Last modified 2 months ago

#14976 reopened defect

Update wxMediaCtrl for GStreamer 1.0

Reported by: eheintzmann Owned by:
Priority: normal Milestone:
Component: wxGTK Version:
Keywords: Cc: leio
Blocked By: Blocking:
Patch: no

Description

With GNOME 3.0 (april 2011), the GNOME Project decided to discontinue GConf.
It won't be maintained anymore: bugs and security holes will not be fixed.
Thus, wxWidgets shouldn't depend on GConf any longer.
Please, migrate to GSettings.
GStettings is the official GNOME replacement for GConf, and the GNOME project
is porting all of its applications to it:
https://live.gnome.org/GnomeGoals/GSettingsMigration

You will find the official from GConf to GSettings porting guide at:
http://developer.gnome.org/gio/stable/ch31.html

Change History (15)

comment:1 follow-up: Changed 2 years ago by vadz

  • Component changed from base to wxGTK
  • Resolution set to invalid
  • Status changed from new to closed

Where exactly are we using GConf? I didn't think we did and I can't find any references to it anywhere, so AFAICS we're not affected by this change. Please reopen if I'm missing something here.

comment:2 in reply to: ↑ 1 Changed 2 years ago by eheintzmann

Replying to vadz:

Where exactly are we using GConf? I didn't think we did and I can't find any references to it anywhere, so AFAICS we're not affected by this change. Please reopen if I'm missing something here.

Package amule-gnome-support depends on gconf.
When I reported this bug to aMule bugzilla, they answered that the problem was in wxWidgets.
This is why I report this bug here.

http://amule.forumer.com/port-from-gconf-to-gsettings-t2300205.html

comment:3 Changed 2 years ago by RedTide

I'm not sure, but maybe it could be related to wx media, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493090
(Maybe amule use it for some video preview for downloaded files?)

I'm not a gtk/gstreamer expert but it seems there are still gconf dependencies also in 2.9 (see src/unix/mediactrl.cpp).

Other than that I never heard anything else depending to gconf in wx.

comment:4 Changed 2 years ago by eheintzmann

Yes, gst-gconf 0.10 depends on GConf. And we'll have to wait for the new 1.0 version.
In the meaning time, I suggest to reopen this bug

comment:5 Changed 2 years ago by vadz

  • Resolution invalid deleted
  • Status changed from closed to reopened
  • Summary changed from Migrate from GConf to GSettings to Use GSettings instead of GConf in wxMediaCtrl and wxLaunchDefaultBrowser()

Thanks, gstreamer indeed depends on gconf. And there is an invocation of "gconftool-2" in source:wxWidgets/trunk/src/unix/utilsx11.cpp too. The latter shouldn't be difficult to fix (although I couldn't find what was the equivalent of gconftool with GSettings yet) but we probably need to wait for a next version of gstreamer to fix the former.

comment:6 Changed 2 years ago by eheintzmann

although I couldn't find what was the equivalent of gconftool with GSettings yet

http://developer.gnome.org/gio/unstable/gsettings-tool.html

comment:7 Changed 2 years ago by pcor

  • Priority changed from normal to low
  • Summary changed from Use GSettings instead of GConf in wxMediaCtrl and wxLaunchDefaultBrowser() to Update wxMediaCtrl for GStreamer 1.0

The use of gconftool-2 in wxDoLaunchDefaultBrowser() is to support older systems, should not be removed, and does not need to be updated to use GSettings. It will not be run on newer systems, because the earlier call to xdg-open will have succeeded.

wxMediaCtrl uses GStreamer, so any system using GStreamer 0.10 or earlier will depend on GConf. Patches for support of GStreamer 1.0 in wxMediaCtrl would be welcome.

comment:8 Changed 2 years ago by eheintzmann

I think it would be better to use gnome-open:
http://www.unix.com/man-page/all/1/gnome-open/

comment:9 Changed 2 years ago by eheintzmann

if (desktop == wxT("GNOME"))

{

gnome-open directly opens the given URL

if (wxExecute(wxT("gnome-open") + url))

return true;

}

comment:10 Changed 2 years ago by vadz

Isn't this Solaris only? And xdg-open should be perfectly fine, really.

comment:11 Changed 2 years ago by eheintzmann

I mean replacing gconftool by gnome-open

bool wxDoLaunchDefaultBrowser(const wxString& url, int flags)

888 {
889 wxUnusedVar(flags);
890
891 Our best best is to use xdg-open from freedesktop.org cross-desktop
892
compatibility suite xdg-utils
893 (see http://portland.freedesktop.org/wiki/) -- this is installed on
894
most modern distributions and may be tweaked by them to handle
895 distribution specifics. Only if that fails, try to find the right
896
browser ourselves.
897 wxString path, xdg_open;
898 if ( wxGetEnv("PATH", &path) &&
899 wxFindFileInPath(&xdg_open, path, "xdg-open") )
900 {
901 if ( wxExecute(xdg_open + " " + url) )
902 return true;
903 }
904
905 wxString desktop = wxTheApp->GetTraits()->GetDesktopEnvironment();
906
907 GNOME and KDE desktops have some applications which should be always installed
908
together with their main parts, which give us the
909 if (desktop == wxT("GNOME"))

{

+ gnome-open directly opens the given URL
+ if (wxExecute(wxT("gnome-open") + url))
+ return true; }
925 else if (desktop == wxT("KDE"))
926 {
927 kfmclient directly opens the given URL
928 if (wxExecute(wxT("kfmclient openURL ") + url))
929 return true;
930 }
931
932 return false;
933 }

comment:12 Changed 2 years ago by vadz

Yes, and my comment about xdg-open, used just above, always working on any system recent enough to deprecate gconftool, still stands. There is really no problem here.

comment:13 Changed 2 months ago by leio

  • Priority changed from low to normal

wxGTK should simply use gtk_show_uri if gtk ver >=2.14. Though I suppose you guys still insist on supporting older, so that xdg-open business is for older than that still, and wxX11/wxUniv.

Is there any ongoing work on gstreamer 1.0 support somewhere? This 0.10 dep is one blocker for removing gst0.10 from Gentoo and I might have to step up here. And given how long 0.10 has been completely unmaintained upstream and how most distros want to get rid of it rather sooner than later, I am adjusting priority to higher (not sure anyone tracks that though).

comment:14 Changed 2 months ago by leio

  • Cc leio added

comment:15 Changed 2 months ago by vadz

Any changes using gtk_show_uri() would be welcome, it just needs to be inside compile and run-time version check (see any existing occurrences of gtk_check_version() in the sources).

As for gstreamer 1.0, I have really no idea what would be involved in upgrading to it, are there (m)any incompatible changes?

In any case, if you could help with this, it would, of course, be great. TIA!

Note: See TracTickets for help on using tickets.