Bug 215680 - multimedia/qt5-phonon4-vlc: add Q_OS_FREEBSD to bypass bad argument passed to vlc
Summary: multimedia/qt5-phonon4-vlc: add Q_OS_FREEBSD to bypass bad argument passed to...
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: i386 Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-31 06:56 UTC by manny
Modified: 2017-06-02 19:39 UTC (History)
1 user (show)

See Also:
tcberner: maintainer-feedback+


Attachments
Patch to add Q_OS_FREEBSD to bypass bad argument passed to vlc (584 bytes, text/plain)
2016-12-31 06:56 UTC, manny
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description manny 2016-12-31 06:56:02 UTC
Created attachment 178413 [details]
Patch to add Q_OS_FREEBSD to bypass bad argument passed to vlc

A message appears when multimedia/minitube starts: 

"Phonon's VLC backend failed to start. This usually means a problem with your VLC installation, please report a bug with your distribution."


When starting minitube from the terminal the following messages appear in the terminal:

"vlc: unknown option or missing mandatory argument `--no-one-instance'
Try `vlc --help' for more information.
PHONON-VLC [FATAL__] libVLC: could not initialize
PHONON-VLC [FATAL__] Phonon::VLC::vlcInit: Failed to initialize VLC"

It seems that VLC does not accept the argument '--no-one-instance' in FreeBSD.

I patched libvlc.cpp (attached) to add Q_OS_FREEBSD alongside Q_OS_MAC in order to not try to pass the above mentioned argument to VLC.

I rebuilt with the patch in "files" and it works well now.

---

uname -a
FreeBSD x40 10.3-STABLE FreeBSD 10.3-STABLE #1 r305368: Sun Sep  4 09:45:56 EDT 2016     root@x40:/usr/obj/usr/src/sys/MYKE  i386
Comment 1 Tobias C. Berner freebsd_committer freebsd_triage 2016-12-31 11:06:34 UTC
Hi

I don't see any message when starting minitube, and

%  vlc --full-help | grep instance
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
          [...]
      --one-instance, --no-one-instance


mfg Tobias
Comment 2 Tobias C. Berner freebsd_committer freebsd_triage 2016-12-31 12:27:29 UTC
My crystal ball suggests, that you may have built your vlc without DBUS?
Comment 3 manny 2016-12-31 17:21:06 UTC
I built without dbus. It would have been OK otherwise:

#if !defined(Q_OS_MAC) && !defined(Q_OS_FREEBSD) && (defined(Q_OS_WIN) || !defined(PHONON_NO_DBUS))
         ^^^^^^^^^^^^^^
Comment 4 manny 2016-12-31 17:23:05 UTC
when typing

cvlc --help | grep ins
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
      --reset-plugins-cache, --no-reset-plugins-cache 

That is what I see. the "--no-one-instance" is not available here.
Comment 5 manny 2016-12-31 17:40:12 UTC
(In reply to manny from comment #3)
I meant to write this statement as a question

I built without dbus. It would have been OK otherwise?:

#if !defined(Q_OS_MAC) && !defined(Q_OS_FREEBSD) && (defined(Q_OS_WIN) || !defined(PHONON_NO_DBUS))
         ^^^^^^^^^^^^^^

Then I realized that this is PHONON and not VLC.

When building phonon-4.9.0 the only option I see when "make config"
is "PulseAudio sound server support".
Comment 6 manny 2016-12-31 17:48:34 UTC
Here are the build options for vlc, phonon and minitube

# This file is auto-generated by 'make config'.
# Options for vlc-2.2.4_5,4
_OPTIONS_READ=vlc-2.2.4_5,4
_FILE_COMPLETE_OPTIONS_LIST=A52 AALIB ASS AVAHI CACA DBUS DCA DIRAC DOCS DVDNAV DVDREAD FAAD FLAC FLUID FRIBIDI GME GNOMEVFS2 GNUTLS GOOM HTTPD JACK KATE LIBBLURAY LIBRSVG2 LIBSSH2 LIRC LIVEMEDIA LUA MAD MATROSKA MODPLUG MPEG2 MTP MUSEPACK NCURSES NLS NOTIFY OGG OPTIMIZED_CFLAGS OPUS PNG PULSEAUDIO QT4 QT5 REALRTSP RUNROOT SAMPLERATE SCHROEDINGER SDL SHOUTCAST SKINS SMB SNDIO SPEEX STREAM TAGLIB THEORA TWOLAME UPNP V4L VAAPI VCD VDPAU VORBIS X11 X264 X265 ZVBI
OPTIONS_FILE_SET+=A52
OPTIONS_FILE_UNSET+=AALIB
OPTIONS_FILE_SET+=ASS
OPTIONS_FILE_UNSET+=AVAHI
OPTIONS_FILE_UNSET+=CACA
OPTIONS_FILE_UNSET+=DBUS
OPTIONS_FILE_SET+=DCA
OPTIONS_FILE_UNSET+=DIRAC
OPTIONS_FILE_UNSET+=DOCS
OPTIONS_FILE_SET+=DVDNAV
OPTIONS_FILE_SET+=DVDREAD
OPTIONS_FILE_SET+=FAAD
OPTIONS_FILE_SET+=FLAC
OPTIONS_FILE_UNSET+=FLUID
OPTIONS_FILE_UNSET+=FRIBIDI
OPTIONS_FILE_UNSET+=GME
OPTIONS_FILE_UNSET+=GNOMEVFS2
OPTIONS_FILE_SET+=GNUTLS
OPTIONS_FILE_UNSET+=GOOM
OPTIONS_FILE_UNSET+=HTTPD
OPTIONS_FILE_UNSET+=JACK
OPTIONS_FILE_UNSET+=KATE
OPTIONS_FILE_UNSET+=LIBBLURAY
OPTIONS_FILE_SET+=LIBRSVG2
OPTIONS_FILE_UNSET+=LIBSSH2
OPTIONS_FILE_UNSET+=LIRC
OPTIONS_FILE_SET+=LIVEMEDIA
OPTIONS_FILE_SET+=LUA
OPTIONS_FILE_SET+=MAD
OPTIONS_FILE_SET+=MATROSKA
OPTIONS_FILE_UNSET+=MODPLUG
OPTIONS_FILE_SET+=MPEG2
OPTIONS_FILE_SET+=MTP
OPTIONS_FILE_UNSET+=MUSEPACK
OPTIONS_FILE_UNSET+=NCURSES
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=NOTIFY
OPTIONS_FILE_SET+=OGG
OPTIONS_FILE_SET+=OPTIMIZED_CFLAGS
OPTIONS_FILE_SET+=OPUS
OPTIONS_FILE_SET+=PNG
OPTIONS_FILE_UNSET+=PULSEAUDIO
OPTIONS_FILE_UNSET+=QT4
OPTIONS_FILE_SET+=QT5
OPTIONS_FILE_SET+=REALRTSP
OPTIONS_FILE_UNSET+=RUNROOT
OPTIONS_FILE_SET+=SAMPLERATE
OPTIONS_FILE_UNSET+=SCHROEDINGER
OPTIONS_FILE_UNSET+=SDL
OPTIONS_FILE_SET+=SHOUTCAST
OPTIONS_FILE_UNSET+=SKINS
OPTIONS_FILE_UNSET+=SMB
OPTIONS_FILE_UNSET+=SNDIO
OPTIONS_FILE_SET+=SPEEX
OPTIONS_FILE_SET+=STREAM
OPTIONS_FILE_SET+=TAGLIB
OPTIONS_FILE_SET+=THEORA
OPTIONS_FILE_SET+=TWOLAME
OPTIONS_FILE_UNSET+=UPNP
OPTIONS_FILE_UNSET+=V4L
OPTIONS_FILE_SET+=VAAPI
OPTIONS_FILE_SET+=VCD
OPTIONS_FILE_SET+=VDPAU
OPTIONS_FILE_SET+=VORBIS
OPTIONS_FILE_SET+=X11
OPTIONS_FILE_SET+=X264
OPTIONS_FILE_SET+=X265
OPTIONS_FILE_UNSET+=ZVBI

# This file is auto-generated by 'make config'.
# Options for phonon-4.8.3
_OPTIONS_READ=phonon-4.8.3
_FILE_COMPLETE_OPTIONS_LIST=PULSEAUDIO
OPTIONS_FILE_UNSET+=PULSEAUDIO

# This file is auto-generated by 'make config'.
# Options for minitube-2.5.2
_OPTIONS_READ=minitube-2.5.2
_FILE_COMPLETE_OPTIONS_LIST=NLS
OPTIONS_FILE_SET+=NLS
Comment 7 Tobias C. Berner freebsd_committer freebsd_triage 2016-12-31 18:11:42 UTC
As mentioned, it seems multimedia/vlc needs to be compiled with DBUS for the instance-options (see src/libvlc.c).

So the patch you provided is not really sensible. It should check whether libvlc was compiled with dbus support or not.
Comment 8 manny 2016-12-31 21:42:02 UTC
(In reply to Tobias C. Berner from comment #7)

Yes! That will be the ideal solution. The patch I provided was more to force it to work in my setup (Windowmaker, wdm, older hardware [Pentium m]. No Gnome, KDE, or other desktip environment). It does work very well without passing that arg to VLC in my environment.

Previously I kept commenting out the whole #ifdefined ...#endif section to make it work.

Not sure where to look, whether there is a variable that could be interrogated or a test made in order to determine if VLC accepts the "--no-one-instance" argument. 

To resume the bug:

1-VLC was built without dubs (delecting the config option "D-Bus IPC systen support").
2-VLC wihthout dbus aparently does not accept the argument "--no-one-insctance"  and fails to start.
3-*-phonon?-vlc tries to use the argument without chechking first whether VLC could accept the argument or not.

Thanks for the good work and have a Happy New Year!
Comment 9 Tobias C. Berner freebsd_committer freebsd_triage 2017-01-10 14:01:35 UTC
As you already install dbus anyway, as it is required by the dependencies of minitube and itself, I would recommend you simply enable DBUS in VLC (as is per default) and on your system, and call it a day -- what can go wrong -- apart from stuff working :)

It is probably very hard/impossible to get a patch for "vlc without dbus" upstreams, as this is [according to the random-low-percentage generator]  an issue for around 0.023% of users.


mfg Tobias
Comment 10 Tobias C. Berner freebsd_committer freebsd_triage 2017-06-02 19:39:52 UTC
Closing this for now.