-
Notifications
You must be signed in to change notification settings - Fork 56
Build-Problem with Android #42
Comments
It seems It missing libvlc. I didn't try use it on Android, since I don't have it. And read this please: #29 |
Okay...compiling :-). Will let you hear about my findings. |
Finally I got it working! What I have done:
I did not know whether that is the correct way but it seems that "ant" is not necessary to download if you have it already installed on your system "apt-get install ant". However the script stops when it cannot download "ant".
After that we have a compiled "libvlcjni.so" file in "vlc-sdk/libs/armeabi-v7a". This is our "libvlc" file which we can use to compile "QmlVlcDemo" on an Android Device.
After that it shoud be possible to build and run the project "QmlVlcDemo". Maybe you can add this steps to a Wiki or README Page, RSATom? I have double check the steps which I have descriped here. It should work! The performance is very good! NO stutter, NO sync problems. I run "Live TV" from an Set Up Box over UPNP. Regards, |
It's great! Thank you very much Sandro!
You could do it yourself :) Wiki for this project is open to edit by anyone. So fill free to do it - just please do it as separate article.
Hm... This sounds very strange to me. What hardware do you use? |
Alright :-). Strange? Why? I tested it on an "old" Rockchip RK30 based Tablet with a 1,8GHz Quadcore processor using Android 4.2.2 and on a Nexus 4 with Android 5.1.1 On both devices - no problems. |
Just because guys at #29 complained on performance of QmlVlc on Android, and if take in to account I never event try it run on Android, so I really surprised it works well :) |
Anyway, thank you for your effort! |
The Nexus 4 is a phone ;-). However it seems that there are performance issues when running 1080p content. So the guy from #29 is right. Maybe it is because of the old libvlc version for Android. There must be a way to compile it without going back to "git checkout b01969a4bfe1b2fa4580f5e8df08dc29566d7a16". Anyway...for a prove of concept that THERE IS a way to get it working on an Android device I will create a Wiki-Page. |
Yes, I know :) but it's not low level phone. It's pretty powerful.
Or course, please do it. It will be useful. |
Hmmm...just tried it with latest revision from android-vlc git repository. I was able to compile it. No idea what was wrong last time. However building is fine but trying to start app leads to following error: D/dalvikvm(16780): GC_CONCURRENT freed 250K, 7% free 4241K/4520K, paused 3ms+2ms, total 18ms |
for me it's like it can't load libvlc module. |
Hmm...I did not get it to work. However the guy from #29 already points out that there is a problem in void QSGVlcVideoFrameMaterial::bindPlane( GLenum texUnit, GLuint texId, const void* plane, of QmlVlc. I have not so good C++ knowledges but it must be possible to use another method than "glTexImage2D". https://vec.io/posts/faster-alternatives-to-glreadpixels-and-glteximage2d-in-opengl-es Maybe you have time to implement it? |
I've already mentioned it's will be good to implement support of PBO or EGLImage inside QmlVlc. And I want do it long time. The problem is - I don't have any android device to test it on. |
Well...I can help you with this "problem" :-). But maybe we can clarify this about direct mail contact? |
hm... interesting :) My mail is not secret, and you are free write me directly if it has a meaning: rsatom at gmail dot com |
it was fixed some time ago |
Hello RSATom,
QmlVLCDemo is running fine on my desktop system. So I try to compile it for Android ARM device. In build step I get following error message:
/home/s.frenzel/Downloads/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ --sysroot=/home/s.frenzel/Downloads/android-ndk-r10e/platforms/android-9/arch-arm/ -Wl,-soname,libQmlVlcDemo.so -Wl,-rpath=/home/s.frenzel/Programs/Qt/Qt5.4.1/5.4/android_armv7/lib -Wl,--no-undefined -Wl,-z,noexecstack -shared -o libQmlVlcDemo.so QmlVlc.o QmlVlcConfig.o QmlVlcAudio.o QmlVlcDeinterlace.o QmlVlcInput.o QmlVlcLogo.o QmlVlcMarquee.o QmlVlcMedia.o QmlVlcPlayerProxy.o QmlVlcSurfacePlayerProxy.o QmlVlcPlayer.o QmlVlcPlaylist.o QmlVlcPositions.o QmlVlcSubtitle.o QmlVlcVideo.o QmlVlcVideoFrame.o QmlVlcVideoOutput.o QmlVlcVideoSurface.o SGVlcVideoNode.o QmlVlcMmVideoOutput.o QmlVlcMmPlayer.o vlc_vmem.o vlc_audio.o vlc_basic_player.o vlc_helpers.o vlc_player.o vlc_subtitles.o vlc_video.o vlc_media.o main.o qrc_main.o moc_QmlVlcConfig.o moc_QmlVlcAudio.o moc_QmlVlcDeinterlace.o moc_QmlVlcInput.o moc_QmlVlcLogo.o moc_QmlVlcMarquee.o moc_QmlVlcMedia.o moc_QmlVlcPlayerProxy.o moc_QmlVlcSurfacePlayerProxy.o moc_QmlVlcPlayer.o moc_QmlVlcPlaylist.o moc_QmlVlcSubtitle.o moc_QmlVlcVideo.o moc_QmlVlcVideoOutput.o moc_QmlVlcVideoSurface.o moc_QmlVlcMmVideoOutput.o moc_QmlVlcMmPlayer.o -L/home/s.frenzel/Downloads/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -L/home/s.frenzel/Downloads/android-ndk-r10e/platforms/android-9/arch-arm//usr/lib -lvlc -L/home/s.frenzel/Programs/Qt/Qt5.4.1/5.4/android_armv7/lib -lQt5Quick -L/opt/android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a -L/opt/android/ndk/platforms/android-9/arch-arm//usr/lib -lQt5Multimedia -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGLESv2 -lgnustl_shared -llog -lz -lm -ldl -lc -lgcc
/home/s.frenzel/Downloads/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lvlc
QmlVlcConfig.o:QmlVlcConfig.cpp:function QmlVlcConfig::releaseLibvlcInstance(libvlc_instance_t*): error: undefined reference to 'libvlc_release'
QmlVlcConfig.o:QmlVlcConfig.cpp:function QmlVlcConfig::createLibvlcInstance(): error: undefined reference to 'libvlc_new'
QmlVlcAudio.o:QmlVlcAudio.cpp:function QmlVlcAudio::description(unsigned int): error: undefined reference to 'libvlc_audio_get_track_description'
I think it is "only" a linker problem, right? What is missing?
Regards
The text was updated successfully, but these errors were encountered: