Modify

Opened 12 years ago

Closed 12 years ago

#8190 closed defect (needinfo)

videomapping plugin won't load

Reported by: chaoschaos0909@… Owned by: team
Priority: normal Milestone:
Component: Plugin videomapping Version: tested
Keywords: Cc:

Description

Activated the videomapping plugin on JOSM 5576 (the Mac OS X package), but got an 'plugin can not be loaded' message on startup.
No helpful details from the status log, sorry.

I wrote the original author, which has no time for support at the moment.
Does anybody else have a clue how to fix this?

Attachments (0)

Change History (25)

comment:1 by Don-vip, 12 years ago

Works for me. Can you post your status report please ?

comment:2 by anonymous, 12 years ago

I've tried to both post and attach my status report, but the trac system won't allow it.
It thinks it's spam, 'cause of the amount of URLs contained.

I've now uploaded it to pastebin, shorted for both brevity and privacy.

http://pastebin.com/GaNWLcFL

Thanks,

Chaos

in reply to:  1 comment:3 by chaoschaos0909@…, 12 years ago

Also tried to de-activate all other plugins: doesn't help.

comment:4 by chaoschaos0909@…, 12 years ago

Got that while starting from the terminal:

org.openstreetmap.josm.plugins.PluginException: Ein Fehler ist in dem Plugin videomapping aufgetreten.

at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:284)
at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:504)
at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:562)
at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:601)
at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:348)

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:275)
... 4 more

Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'Advapi32': dlopen(libAdvapi32.dylib, 9): image not found

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:375)
at com.sun.jna.platform.win32.Advapi32.<clinit>(Advapi32.java:31)
at com.sun.jna.platform.win32.Advapi32Util.registryGetStringValue(Advapi32Util.java:463)
at uk.co.caprica.vlcj.runtime.windows.WindowsRuntimeUtil.getVlcInstallDir(WindowsRuntimeUtil.java:51)
at org.openstreetmap.josm.plugins.videomapping.video.VideoEngine.setupPlayer(VideoEngine.java:41)
at org.openstreetmap.josm.plugins.videomapping.VideoPlugin.<init>(VideoPlugin.java:78)
... 9 more

in reply to:  4 comment:5 by Don-vip, 12 years ago

Replying to chaoschaos0909@…:

Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'Advapi32': dlopen(libAdvapi32.dylib, 9): image not found

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:164)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:237)
at com.sun.jna.Library$Handler.<init>(Library.java:140)
at com.sun.jna.Native.loadLibrary(Native.java:375)

> at com.sun.jna.platform.win32.Advapi32.<clinit>(Advapi32.java:31)
> at com.sun.jna.platform.win32.Advapi32Util.registryGetStringValue(Advapi32Util.java:463)
> at uk.co.caprica.vlcj.runtime.windows.WindowsRuntimeUtil.getVlcInstallDir(WindowsRuntimeUtil.java:51)
> at org.openstreetmap.josm.plugins.videomapping.video.VideoEngine.setupPlayer(VideoEngine.java:41)

at org.openstreetmap.josm.plugins.videomapping.VideoPlugin.<init>(VideoPlugin.java:78)
... 9 more

Strange to see this on a Mac OSX machine. Did it work before ?

comment:6 by chaoschaos0909@…, 12 years ago

No, this was a first try.

This should be based on the VideoLAN libraries. Maybe the original developer didn't spend much time making this work on multiple systems.
But the libraries itself should work on Mac OS X too.
Although how to install them outside of the usual VLC installation might be a new problem ...

I would be really surprised if I were the first person to try this ...

comment:7 by Don-vip, 12 years ago

Component: PluginPlugin videomapping
Keywords: videomapping removed

comment:8 by Don-vip, 12 years ago

I have made some changes in [o28924].

Don't know it it's enough to fix your problem, but at least the error message will be different.

comment:9 by chaoschaos0909@…, 12 years ago

Yes, the message changed and the plugin loads, but seems inactive.

With the changes you made I will try to get the VLC part installed in the right directories and try again.

Thanks!

Until this works, I would keep the ticket open ..

comment:10 by Don-vip, 12 years ago

Where is VLC installed by default on Mac OS X ? I can add this location to the plugin instead.

comment:11 by chaoschaos0909@…, 12 years ago

Well, that's not that easy. VLC does not come with an installer, but as a standard Mac OS X package.
That means no libs or includes get copied to standard posix paths.

You can access them inside the package of course, but you would at least need to point the plugin to the package path for that.
I've attached a (shorted) file listing of the package contents.

But I also don't know if those headers and libs are what the plugin is looking for. There is no libadvapi32.dylib for instance.

As far as I have found on the VLC website, there is nothing like a 'library version'. So my next step would be to download the full sources.
(Once I find something to extract tar.xz archives ...)

|____VLC.ap
| |____Contents
| | |_____CodeSignature
| | | |____CodeResources
| | |____Frameworks
| | | |____BGHUDAppKit.framework
| | | |____Growl.framework
| | | |____Sparkle.framework
| | |____Info.plist
| | |____MacOS
| | | |____bin
| | | |____include
| | | | |____vlc
| | | | | |____deprecated.h
| | | | | |____libvlc.h
| | | | | |____libvlc_events.h
| | | | | |____libvlc_media.h
| | | | | |____libvlc_media_discoverer.h
| | | | | |____libvlc_media_library.h
| | | | | |____libvlc_media_list.h
| | | | | |____libvlc_media_list_player.h
| | | | | |____libvlc_media_player.h
| | | | | |____libvlc_structures.h
| | | | | |____libvlc_version.h.in
| | | | | |____libvlc_vlm.h
| | | | | |____vlc.h
| | | |____lib
| | | | |____libvlc.5.dylib
| | | | |____libvlc.dylib
| | | | |____libvlccore.5.dylib
| | | | |____libvlccore.dylib
| | | |____plugins
| | | | |____liba52_plugin.dylib
| | | | |____liba52tofloat32_plugin.dylib
| | | | |____liba52tospdif_plugin.dylib
| | | | |____libaccess_attachment_plugin.dylib
| | | | |____libaccess_bd_plugin.dylib
| | | | |____libaccess_eyetv_plugin.dylib
| | | | |____libaccess_ftp_plugin.dylib
| | | | |____libaccess_http_plugin.dylib
| | | | |____libaccess_imem_plugin.dylib
| | | | |____libaccess_mms_plugin.dylib
| | | | |____libaccess_output_dummy_plugin.dylib
| | | | |____libaccess_output_file_plugin.dylib
| | | | |____libaccess_output_http_plugin.dylib
| | | | |____libaccess_output_livehttp_plugin.dylib
| | | | |____libaccess_output_shout_plugin.dylib
| | | | |____libaccess_output_udp_plugin.dylib
| | | | |____libaccess_rar_plugin.dylib
| | | | |____libaccess_realrtsp_plugin.dylib
| | | | |____libaccess_shm_plugin.dylib
| | | | |____libaccess_tcp_plugin.dylib
| | | | |____libaccess_udp_plugin.dylib
| | | | |____libaccess_vdr_plugin.dylib
| | | | |____libadjust_plugin.dylib
| | | | |____libadpcm_plugin.dylib
| | | | |____libadummy_plugin.dylib
| | | | |____libaes3_plugin.dylib
| | | | |____libaiff_plugin.dylib
| | | | |____libalphamask_plugin.dylib
| | | | |____libamem_plugin.dylib
| | | | |____libantiflicker_plugin.dylib
| | | | |____libaout_file_plugin.dylib
| | | | |____libaraw_plugin.dylib
| | | | |____libasf_plugin.dylib
| | | | |____libau_plugin.dylib
| | | | |____libaudio_format_plugin.dylib
| | | | |____libaudiobargraph_a_plugin.dylib
| | | | |____libaudiobargraph_v_plugin.dylib
| | | | |____libaudioscrobbler_plugin.dylib
| | | | |____libauhal_plugin.dylib
| | | | |____libavcodec_plugin.dylib
| | | | |____libavi_plugin.dylib
| | | | |____libball_plugin.dylib
| | | | |____libblend_plugin.dylib
| | | | |____libblendbench_plugin.dylib
| | | | |____libbluescreen_plugin.dylib
| | | | |____libcanvas_plugin.dylib
| | | | |____libcc_plugin.dylib
| | | | |____libcdda_plugin.dylib
| | | | |____libcdg_plugin.dylib
| | | | |____libchain_plugin.dylib
| | | | |____libchorus_flanger_plugin.dylib
| | | | |____libclone_plugin.dylib
| | | | |____libcolorthres_plugin.dylib
| | | | |____libcompressor_plugin.dylib
| | | | |____libconverter_fixed_plugin.dylib
| | | | |____libcroppadd_plugin.dylib
| | | | |____libcvdsub_plugin.dylib
| | | | |____libddummy_plugin.dylib
| | | | |____libdecomp_plugin.dylib
| | | | |____libdeinterlace_plugin.dylib
| | | | |____libdemux_cdg_plugin.dylib
| | | | |____libdemux_stl_plugin.dylib
| | | | |____libdemuxdump_plugin.dylib
| | | | |____libdirac_plugin.dylib
| | | | |____libdolby_surround_decoder_plugin.dylib
| | | | |____libdts_plugin.dylib
| | | | |____libdtstofloat32_plugin.dylib
| | | | |____libdtstospdif_plugin.dylib
| | | | |____libdummy_plugin.dylib
| | | | |____libdvbsub_plugin.dylib
| | | | |____libdvdnav_plugin.dylib
| | | | |____libdvdread_plugin.dylib
| | | | |____libdynamicoverlay_plugin.dylib
| | | | |____libedummy_plugin.dylib
| | | | |____libequalizer_plugin.dylib
| | | | |____liberase_plugin.dylib
| | | | |____libes_plugin.dylib
| | | | |____libexport_plugin.dylib
| | | | |____libextract_plugin.dylib
| | | | |____libfaad_plugin.dylib
| | | | |____libfilesystem_plugin.dylib
| | | | |____libfixed32_mixer_plugin.dylib
| | | | |____libflac_plugin.dylib
| | | | |____libflacsys_plugin.dylib
| | | | |____libfloat32_mixer_plugin.dylib
| | | | |____libfluidsynth_plugin.dylib
| | | | |____libfolder_plugin.dylib
| | | | |____libfreetype_plugin.dylib
| | | | |____libgaussianblur_plugin.dylib
| | | | |____libgestures_plugin.dylib
| | | | |____libgme_plugin.dylib
| | | | |____libgnutls_plugin.dylib
| | | | |____libgoom_plugin.dylib
| | | | |____libgradfun_plugin.dylib
| | | | |____libgradient_plugin.dylib
| | | | |____libgrain_plugin.dylib
| | | | |____libgrey_yuv_plugin.dylib
| | | | |____libgrowl_plugin.dylib
| | | | |____libh264_plugin.dylib
| | | | |____libheadphone_channel_mixer_plugin.dylib
| | | | |____libhotkeys_plugin.dylib
| | | | |____libhqdn3d_plugin.dylib
| | | | |____libi420_rgb_mmx_plugin.dylib
| | | | |____libi420_rgb_plugin.dylib
| | | | |____libi420_rgb_sse2_plugin.dylib
| | | | |____libi420_yuy2_mmx_plugin.dylib
| | | | |____libi420_yuy2_plugin.dylib
| | | | |____libi420_yuy2_sse2_plugin.dylib
| | | | |____libi422_i420_plugin.dylib
| | | | |____libi422_yuy2_mmx_plugin.dylib
| | | | |____libi422_yuy2_plugin.dylib
| | | | |____libi422_yuy2_sse2_plugin.dylib
| | | | |____libidummy_plugin.dylib
| | | | |____libimage_plugin.dylib
| | | | |____libinvert_plugin.dylib
| | | | |____libkaraoke_plugin.dylib
| | | | |____libkate_plugin.dylib
| | | | |____liblibass_plugin.dylib
| | | | |____liblibbluray_plugin.dylib
| | | | |____liblibmpeg2_plugin.dylib
| | | | |____liblive555_plugin.dylib
| | | | |____liblogger_plugin.dylib
| | | | |____liblogo_plugin.dylib
| | | | |____liblpcm_plugin.dylib
| | | | |____liblua_plugin.dylib
| | | | |____libmacosx_plugin.dylib
| | | | |____libmagnify_plugin.dylib
| | | | |____libmarq_plugin.dylib
| | | | |____libmediadirs_plugin.dylib
| | | | |____libmemcpy3dn_plugin.dylib
| | | | |____libmemcpy_plugin.dylib
| | | | |____libmemcpymmx_plugin.dylib
| | | | |____libmemcpymmxext_plugin.dylib
| | | | |____libmirror_plugin.dylib
| | | | |____libmjpeg_plugin.dylib
| | | | |____libmkv_plugin.dylib
| | | | |____libmod_plugin.dylib
| | | | |____libmono_plugin.dylib
| | | | |____libmosaic_plugin.dylib
| | | | |____libmotion_plugin.dylib
| | | | |____libmotionblur_plugin.dylib
| | | | |____libmotiondetect_plugin.dylib
| | | | |____libmp4_plugin.dylib
| | | | |____libmpc_plugin.dylib
| | | | |____libmpeg_audio_plugin.dylib
| | | | |____libmpgatofixed32_plugin.dylib
| | | | |____libmpgv_plugin.dylib
| | | | |____libmux_asf_plugin.dylib
| | | | |____libmux_avi_plugin.dylib
| | | | |____libmux_dummy_plugin.dylib
| | | | |____libmux_mp4_plugin.dylib
| | | | |____libmux_mpjpeg_plugin.dylib
| | | | |____libmux_ogg_plugin.dylib
| | | | |____libmux_ps_plugin.dylib
| | | | |____libmux_ts_plugin.dylib
| | | | |____libmux_wav_plugin.dylib
| | | | |____libncurses_plugin.dylib
| | | | |____libnetsync_plugin.dylib
| | | | |____libnormvol_plugin.dylib
| | | | |____libnsc_plugin.dylib
| | | | |____libnsv_plugin.dylib
| | | | |____libnuv_plugin.dylib
| | | | |____libogg_plugin.dylib
| | | | |____liboldrc_plugin.dylib
| | | | |____libopus_plugin.dylib
| | | | |____libosd_parser_plugin.dylib
| | | | |____libosdmenu_plugin.dylib
| | | | |____libpacketizer_copy_plugin.dylib
| | | | |____libpacketizer_dirac_plugin.dylib
| | | | |____libpacketizer_flac_plugin.dylib
| | | | |____libpacketizer_h264_plugin.dylib
| | | | |____libpacketizer_mlp_plugin.dylib
| | | | |____libpacketizer_mpeg4audio_plugin.dylib
| | | | |____libpacketizer_mpeg4video_plugin.dylib
| | | | |____libpacketizer_mpegvideo_plugin.dylib
| | | | |____libpacketizer_vc1_plugin.dylib
| | | | |____libparam_eq_plugin.dylib
| | | | |____libplaylist_plugin.dylib
| | | | |____libpng_plugin.dylib
| | | | |____libpodcast_plugin.dylib
| | | | |____libposterize_plugin.dylib
| | | | |____libpostproc_plugin.dylib
| | | | |____libps_plugin.dylib
| | | | |____libpsychedelic_plugin.dylib
| | | | |____libpuzzle_plugin.dylib
| | | | |____libpva_plugin.dylib
| | | | |____libqtcapture_plugin.dylib
| | | | |____libqtsound_plugin.dylib
| | | | |____libquartztext_plugin.dylib
| | | | |____librawaud_plugin.dylib
| | | | |____librawdv_plugin.dylib
| | | | |____librawvid_plugin.dylib
| | | | |____librawvideo_plugin.dylib
| | | | |____libreal_plugin.dylib
| | | | |____libremoteosd_plugin.dylib
| | | | |____libripple_plugin.dylib
| | | | |____librotate_plugin.dylib
| | | | |____librss_plugin.dylib
| | | | |____librtp_plugin.dylib
| | | | |____librv32_plugin.dylib
| | | | |____libsap_plugin.dylib
| | | | |____libscale_plugin.dylib
| | | | |____libscaletempo_plugin.dylib
| | | | |____libscene_plugin.dylib
| | | | |____libschroedinger_plugin.dylib
| | | | |____libscreen_plugin.dylib
| | | | |____libsdp_plugin.dylib
| | | | |____libsepia_plugin.dylib
| | | | |____libsharpen_plugin.dylib
| | | | |____libsid_plugin.dylib
| | | | |____libsimple_channel_mixer_plugin.dylib
| | | | |____libsmf_plugin.dylib
| | | | |____libspatializer_plugin.dylib
| | | | |____libspeex_plugin.dylib
| | | | |____libspeex_resampler_plugin.dylib
| | | | |____libspudec_plugin.dylib
| | | | |____libstats_plugin.dylib
| | | | |____libstl_plugin.dylib
| | | | |____libstream_filter_dash_plugin.dylib
| | | | |____libstream_filter_httplive_plugin.dylib
| | | | |____libstream_filter_rar_plugin.dylib
| | | | |____libstream_filter_record_plugin.dylib
| | | | |____libstream_out_autodel_plugin.dylib
| | | | |____libstream_out_bridge_plugin.dylib
| | | | |____libstream_out_delay_plugin.dylib
| | | | |____libstream_out_description_plugin.dylib
| | | | |____libstream_out_display_plugin.dylib
| | | | |____libstream_out_dummy_plugin.dylib
| | | | |____libstream_out_duplicate_plugin.dylib
| | | | |____libstream_out_es_plugin.dylib
| | | | |____libstream_out_gather_plugin.dylib
| | | | |____libstream_out_langfromtelx_plugin.dylib
| | | | |____libstream_out_mosaic_bridge_plugin.dylib
| | | | |____libstream_out_raop_plugin.dylib
| | | | |____libstream_out_record_plugin.dylib
| | | | |____libstream_out_rtp_plugin.dylib
| | | | |____libstream_out_select_plugin.dylib
| | | | |____libstream_out_setid_plugin.dylib
| | | | |____libstream_out_smem_plugin.dylib
| | | | |____libstream_out_standard_plugin.dylib
| | | | |____libstream_out_transcode_plugin.dylib
| | | | |____libsubsdec_plugin.dylib
| | | | |____libsubsdelay_plugin.dylib
| | | | |____libsubsusf_plugin.dylib
| | | | |____libsubtitle_plugin.dylib
| | | | |____libsvcdsub_plugin.dylib
| | | | |____libswscale_plugin.dylib
| | | | |____libt140_plugin.dylib
| | | | |____libtaglib_plugin.dylib
| | | | |____libtdummy_plugin.dylib
| | | | |____libtelx_plugin.dylib
| | | | |____libtheora_plugin.dylib
| | | | |____libtransform_plugin.dylib
| | | | |____libtrivial_channel_mixer_plugin.dylib
| | | | |____libts_plugin.dylib
| | | | |____libtta_plugin.dylib
| | | | |____libtwolame_plugin.dylib
| | | | |____libty_plugin.dylib
| | | | |____libugly_resampler_plugin.dylib
| | | | |____libupnp_plugin.dylib
| | | | |____libvc1_plugin.dylib
| | | | |____libvcd_plugin.dylib
| | | | |____libvdummy_plugin.dylib
| | | | |____libvisual_plugin.dylib
| | | | |____libvmem_plugin.dylib
| | | | |____libvobsub_plugin.dylib
| | | | |____libvoc_plugin.dylib
| | | | |____libvod_rtsp_plugin.dylib
| | | | |____libvorbis_plugin.dylib
| | | | |____libvout_macosx_plugin.dylib
| | | | |____libwall_plugin.dylib
| | | | |____libwav_plugin.dylib
| | | | |____libwave_plugin.dylib
| | | | |____libx264_plugin.dylib
| | | | |____libxa_plugin.dylib
| | | | |____libxml_plugin.dylib
| | | | |____libyuv_plugin.dylib
| | | | |____libyuvp_plugin.dylib
| | | | |____libyuy2_i420_plugin.dylib
| | | | |____libyuy2_i422_plugin.dylib
| | | | |____libzip_plugin.dylib
| | | | |____libzvbi_plugin.dylib
| | | |____share
| | | | |____locale
| | | | |____lua
| | | |____VLC
| | |____PkgInfo
| | |____Resources

comment:12 by Don-vip, 12 years ago

The library should find itself the required files (libvlccore.dylib and libvlc.dylib) on Mac.

What's your error message and stacktrace now ?

comment:13 by chaoschaos0909@…, 12 years ago

Hi, thanks for picking this up again.

The error messages (on the console) is

Tastenk?rzelkonflikt: 'audio:pause' wurde von 'system:movefocusleft' auf '?+?+F1' verschoben.
lade Plugin 'videomapping' (Version 28924)
videomapping: unable to locate VLC install dir
Enabled EDT checker, wrongful access to gui from non EDT thread will be printed to console

where I think only the 2nd and 3rd line is relevant to the plugin.

As tere is no hard error, there is no stack trace. (JOSM starts up fine, has a greyed out 'video' entry in the main menu.)

I've tried to start up JOSM in the debugger, but I can't make it find the local plugin sources there. So the closest I get with the stack trace is

Class<T>.forName(String, boolean, ClassLoader) line: 237	
PluginInformation.loadClass(ClassLoader) line: 298	
PluginHandler.loadPlugin(Component, PluginInformation, ClassLoader) line: 501	
PluginHandler.loadPlugins(Component, Collection<PluginInformation>, ProgressMonitor) line: 562	
PluginHandler.loadLatePlugins(Component, Collection<PluginInformation>, ProgressMonitor) line: 601	
MainApplication.main(String[]) line: 348		

Which is probably of no immediate use.

If you can point me to a guide on how to set up JOSM WITH a plugin in eclipse, I might give you further details.

Regards,
Chaos

comment:14 by Don-vip, 12 years ago

Don't worry about the "unable to locate VLC install dir", it's a message I have to remove in your case as it does not make sense.

Are you able to import a video via the menu entry after you have loaded a GPX track ?

comment:15 by chaoschaos0909@…, 12 years ago

What a shame, I haven't even tried that yet. 'Fortunately' this also leads to an error.

Failed to load the native library.

The error was "Unable to load library 'vlc': dlopen(libvlc.dylib, 9): image not found".

The required native libraries are named "libvlc.dylib" and "libvlccore.dylib".

In the text below <libvlc-path> represents the name of the directory containing "libvlc.dylib" and "libvlccore.dylib"...

There are a number of different ways to specify where to find the native libraries:
 1. Include NativeLibrary.addSearchPath("vlc", "<libvlc-path>"); at the start of your application code.
 2. Include System.setProperty("jna.library.path", "<libvlc-path>"); at the start of your application code.
 3. Specify -Djna.library.path=<libvlc-path> on the command-line when starting your application.
 4. Add <libvlc-path> to the system search path (and reboot).

If this still does not work, then it may be necessary to explicitly add the native library directory to the operating
system configuration - e.g. on Linux this might mean setting the LD_LIBRARY_PATH environment variable, or adding
configuration to the "/etc/ld.so.conf" file or the "/etc/ld.so.conf.d" directory. Of these options, setting
LD_LIBRARY_PATH is the only one that would not require root privileges.

Finally, it is not possible to mix CPU architectures - it is not possible for a 64-bit Java Virtual Machine to load
32-bit native libraries.

More information may be available in the log, specify -Dvlcj.log=DEBUG on the command-line when starting your application.

java.lang.NullPointerException
	at org.openstreetmap.josm.plugins.videomapping.video.Video.<init>(Video.java:29)
	at org.openstreetmap.josm.plugins.videomapping.video.VideoPlayer.addVideo(VideoPlayer.java:70)
	at org.openstreetmap.josm.plugins.videomapping.video.GPSVideoPlayer.addVideo(GPSVideoPlayer.java:33)
	at org.openstreetmap.josm.plugins.videomapping.VideoPlugin.importVideoFile(VideoPlugin.java:239)
	at org.openstreetmap.josm.plugins.videomapping.VideoPlugin$1.actionPerformed(VideoPlugin.java:82)
[...]

(Stack trace shorted)

Well, there are some hints what to do. So I tried supplying the path to the lib inside the VLC package via the -Djna.library.path=.
Just as before, JOSM starts, after loading a .gpx the video menu gets active. While importing a video, the application crashes with a segmentation fault (instead of a 'This plugin has an error' dialog). The terminal only gives an

update
update
Segmentation fault

right after loading the vlcj library. The Mac OS X Stacktrace shows

Thread 39 Crashed:
0   libvlccore.5.dylib            	0x000000011e95ff33 vout_window_Control + 163
1   libvout_macosx_plugin.dylib   	0x0000000123ee255d Control + 189
2   libvlccore.5.dylib            	0x000000011e9552fa vout_display_Control + 170
3   libvlccore.5.dylib            	0x000000011e954ea2 vout_ManageDisplay + 2434
4   libvlccore.5.dylib            	0x000000011e961799 vout_ManageWrapper + 73
5   libvlccore.5.dylib            	0x000000011e959d39 Thread + 1481
6   libSystem.B.dylib             	0x00007fff85d28fd6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff85d28e89 thread_start + 13

There are other threads with the libvlccore library, but only this one was marked as 'crashed'.
Any ideas? Or are we at a 'this is a vlc lib problem' level now?

comment:16 by Don-vip, 12 years ago

The VLC lib tries to load the .dylib files from "/Applications/VLC.app/Contents/MacOS/lib".

You mentioned a "VLC.ap" with a single p in your previous message, is it a typo error ?

What is the version of your VLC copy ? 2.0.x, 32 or 64 bits ? Is your JRE 32 or 64 bits too ? VLC and the JRE must use the same architecture, it could be a reason why the initialization fails.

If it still doesn't work, do you have additional messages if you specify -Dvlcj.log=DEBUG on the command line ?

comment:17 by chaoschaos0909@…, 12 years ago

VLC is 2.0.4 Intel 64bit

Path given to java during the last try was

-Djna.library.path=/Applications/VLC.app/Contents/MacOS/lib/

(The .ap was just a typo, sorry.)

chaos$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-10M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

Output of the next try with the debug option is here: http://pastebin.com/Sx1yLftS
Last few lines:

vlcj: (DefaultEmbeddedMediaPlayer.java:314)          | DEBUG | onBeforePlay()
vlcj: (DefaultEmbeddedMediaPlayer.java:151)          | DEBUG | attachVideoSurface()
vlcj: (CanvasVideoSurface.java:67)                   | DEBUG | attach()
vlcj: (DefaultMediaPlayer.java:1796)                 | DEBUG | mediaChanged(mediaPlayer=uk.co.caprica.vlcj.player.embedded.DefaultEmbeddedMediaPlayer@7b65de14,media=native@0x122a13930,mrl=file:///Users/chaos/Movies/josm_video/GOPR0078.MP4)
vlcj: (DefaultMediaPlayer.java:1800)                 | DEBUG | Raising event for new media
vlcj: (MacVideoSurfaceAdapter.java:39)               | DEBUG | attach(componentId=4875967296)
vlcj: (MediaPlayerFactory.java:482)                  | DEBUG | newVideoSurface(canvas=java.awt.Canvas[canvas1,0,0,0x0,invalid])
vlcj: (MediaPlayerFactory.java:497)                  | DEBUG | videoSurface=uk.co.caprica.vlcj.player.embedded.videosurface.CanvasVideoSurface@7e1eb84f
update
Segmentation fault

I saw the first frame of the video this time right before it crashed, which means that quite a lot is working actually (including codecs and all).
Mathias used that caprica java vlc wrapper and delivers the libs with the plugin. Maybe this one needs to be for the right architecture too? I don't actually know how to check though.

in reply to:  17 comment:18 by Don-vip, 12 years ago

Replying to chaoschaos0909@…:

I saw the first frame of the video this time right before it crashed, which means that quite a lot is working actually (including codecs and all).

Indeed, your config looks ok and I don't think there's more we can do on plugin's side.

I think the next step would be to to create an issue on Caprica's bugtracker:
https://github.com/caprica/vlcj/issues

Maybe they will have a more specific answer with the debug log.

comment:19 by anonymous, 12 years ago

Opened a new ticket as https://github.com/caprica/vlcj/issues/125

Let's see if they can help ...

comment:20 by Don-vip, 12 years ago

Looks like Caprica have essentially the same problem as us: nobody uses a Mac. Maybe VLC developers might be able to help you, but I am afraid you will be alone on this bug if it only concerns Mac OS X. I keep the ticket open nevertheless :)

comment:21 by anonymous, 12 years ago

I'm just surprised that VLC itself works fine, just not if it's called by Capricas jvlc. Of course this can be an error in the vlc libs, but to me this sound like an error in caprica's usage of the API, which somehow seems to work on Win/Linux, but not on Mac.

I will try to write a VLC ticket, but the increasing amount of indirection will not help in making my point clear and delivering helpful debug data.

comment:22 by Don-vip, 12 years ago

The best I can do is check if your video plays fine on Win/Linux. Could you host it somewhere, with your GPX track ? :)

comment:23 by Don-vip, 12 years ago

Any progress on your side ?

comment:24 by chaoschaos0909@…, 12 years ago

Hi,

sorry, I haven't done any further testing nor haven't I logged a ticket to VLC.
My trusty Mac has recently decided to un-solder his graphics chip, which leaves me without a Mac system too.

I've pushed back the video-mapping till the weather gets nicer again here. Hopefully this also means new versions of VLC and caprica to do tests with.
But next tests will be on Linux anyway, as a replacement Mac is not something I can't do out of the back pocket.

It's probably fine if you close this ticket. (You were cleaning out anyway, ha?)

Thanks for the help,

Chaos

comment:25 by Don-vip, 12 years ago

Resolution: needinfo
Status: newclosed

Ok I close it as 'needinfo' right now as I cannot help you further.

Do not hesitate to reopen the ticket if you get some news :)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.