VLC backend for Mac OS X
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenLP |
Fix Released
|
High
|
matysek |
Bug Description
VLC backend does not work on Mac. Instructing OpenLP to use vlc backend causes OpenLP to stuck and the application is not responding.
Video playback starts when not trying reset video playback in openly. However the issue is that playback start in an external window and not in openly window.
Getting vlc backend to work is platform specific thing and this needs to be implemented specifically for Mac.
The issue is: Force vlc backend to render video inside a Qt window of OpenLP.
To fi this we will need implement similar code like the following file:
http://
Technically speaking wrapping native Mac OS X NSView window into class QtGui.QMacCocoa
Links:
http://
http://
https:/
Related branches
- Tim Bentley: Approve
- Raoul Snyman: Approve
-
Diff: 162 lines (+45/-22)4 files modifiedopenlp/core/ui/media/mediacontroller.py (+14/-11)
openlp/core/ui/media/phononplayer.py (+1/-1)
openlp/core/ui/media/vlcplayer.py (+18/-7)
openlp/plugins/media/lib/mediaitem.py (+12/-3)
Changed in openlp: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: | added: osx vlc |
Changed in openlp: | |
assignee: | nobody → matysek (mzibricky) |
importance: | Medium → High |
Changed in openlp: | |
milestone: | none → 1.9.12 |
Changed in openlp: | |
milestone: | 1.9.12 → 2.0 |
Changed in openlp: | |
status: | Confirmed → In Progress |
Changed in openlp: | |
status: | In Progress → Fix Committed |
Changed in openlp: | |
status: | Fix Committed → Fix Released |
Default architecture brianmeyerdesig n/Movies/ Annual_ Conference_ 2012_-- _Church_ of_the_ Brethren_ by_Enten_ El.mp4
on universal vlc
python ./vlc.py /Users/
Press q to quit, ? to get help.
[0x1018558f0] main video output error: video output creation failed
[0x100a142f0] main decoder error: failed to create video output
Audio plays
on 32bit vlc brianmeyerdesig n/Movies/ Annual_ Conference_ 2012_-- _Church_ of_the_ Brethren_ by_Enten_ El.mp4 Library/ Frameworks/ Python. framework/ Versions/ 2.7/lib/ python2. 7/ctypes/ __init_ _.py", line 365, in __init__ /Applications/ VLC.app/ Contents/ MacOS/lib/ libvlc. dylib, 6): no suitable image found. Did find: VLC.app/ Contents/ MacOS/lib/ libvlc. dylib: mach-o, but wrong architecture
python ./vlc.py /Users/
Traceback (most recent call last):
File "./vlc.py", line 120, in <module>
dll, plugin_path = find_lib()
File "./vlc.py", line 107, in find_lib
dll = ctypes.CDLL(p)
File "/opt/local/
self._handle = _dlopen(self._name, mode)
OSError: dlopen(
/Applications/
32bit architecture ( prefix on command line does this ) bin/python ./vlc.py /Users/ brianmeyerdesig n/Movies/ Annual_ Conference_ 2012_-- _Church_ of_the_ Brethren_ by_Enten_ El.mp4
on 32bit vlc
arch -i386 /opt/local/
[0xa4ec98] main video output error: video output creation failed
[0x1800098] main decoder error: failed to create video output
Audio plays
on universal vlc bin/python ./vlc.py /Users/ brianmeyerdesig n/Movies/ Annual_ Conference_ 2012_-- _Church_ of_the_ Brethren_ by_Enten_ El.mp4
arch -i386 /opt/local/
[0x1803e98] main video output error: video output creation failed
[0x9ece98] main decoder error: failed to create video output
Audio Plays
documents write to set prefs ( no effect, used arch command above instead to test ) OpenLP. plist Prefer-32-Bit -bool yes versioner. python Prefer-32-Bit -bool yes
defaults write org.openlp.
defaults write com.apple.
determining architecture commands content- editor- read-only brianmeyerdesign$ which python/ opt/local/ bin/python content- editor- read-only brianmeyerdesign$ file /opt/local/ bin/python/ opt/local/ bin/python: Mach-O universal binary with 2 architectures bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 bin/python (for architecture i386): Mach-O executable i386
Meyer:movie-
Meyer:movie-
/opt/local/
/opt/local/
$ arch -i386 /opt/local/ bin/python -v ./vlc.py /Users/ brianmeyerdesig n/Movies/ Annual_ Conference_ 2012_-- _Church_ of_the_ Brethren_ by_Enten_ El.mp4
This actually is kind of nice way to start the app, shows messages in terminal, running as 32 bit does not affect the issue OpenLP. app/Contents/ MacOS/OpenLP .dbus-session. plist is loaded! :FactoryPrivate ::createBackend () phonon backend plugin could not be loaded :FactoryPrivate ::createBackend () phonon backend plugin could not be loaded :FactoryPrivate ::createBackend () phonon backend plugin could not be loaded :FactoryPrivate ::createBackend () phonon backend plugin could not be loaded :FactoryPrivate ::createBackend ()...
$ arch -i386 /Applications/
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop
WARNING: bool Phonon:
WARNING: bool Phonon:
WARNING: bool Phonon:
WARNING: bool Phonon:
WARNING: bool Phonon: