Project

General

Profile

Bug #2014

app closes when playing video under android 6

Added by cpg over 4 years ago. Updated almost 4 years ago.

Status:
Feedback
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
03/27/2016
Due date:
% Done:

0%


Description

we are getting bad reviews and and user complaints that attempting to play videos when running on android 6 causes the app to crash.

opening PDFs and audio files seems to be working well.

one user reporting this has lg g4 and another a galaxy s7 edge.

History

#1 Updated by megabitdragon over 4 years ago

The app is not supported on Android 6 yet. I don't know why is even possible to install it. You should check the Google developer console settings and prevent installs on Android 6 for now.

#2 Updated by cpg over 4 years ago

I cannot seem how to do that so far. either in the console by looking around, or searching the web on how to do this.

#3 Updated by megabitdragon over 4 years ago

I don't know what version you used to build the current release, but if you used the master I updated the sdk version to 23 in November. However version 1.4.0 should be build from the specific tag which will be sdk 22.x

#4 Updated by cpg over 4 years ago

I do not know what your comment really implies. Does it now imply that this is only really possible to control at the moment via the APK?

https://dl.dropboxusercontent.com/u/364883/Screenshots/zzvl.png

I do not seem to find a way to control this from the developer console.

#5 Updated by cpg over 4 years ago

in parallel i am updating android studio to see how hard will it be to recompile.

#6 Updated by cpg over 4 years ago

The app seems to compile fine and I can reproduce the not playing of video. There appears to be no crash (or at least the app just closes but it seems to be in the background).

After a few tries, I did notice this:

03-27 17:06:27.046 3821-3821/org.amahi.anywhere E/VLC/LibVLC: Can't load vlcjni library: java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/org.amahi.anywhere-1/lib/x86/libvlcjni.so: has text relocations

So we need to recompile (and possibly update?) the libvlc, it seems?

#7 Updated by cpg over 4 years ago

  • Status changed from New to Assigned
  • Assignee set to cpg

trying to get vlc updated to the latest.

#8 Updated by cpg over 4 years ago

  • Assignee changed from cpg to megabitdragon

update: the lua errors are real and the new lua code went in two weeks ago. i added a comment at the end of the commit that added lua 5.3 hoping that maybe they can chime in.

the people in the lua community said the cross-compiler ar tool perhaps should be used?

how did you try to compile @megabitdragon? i was under mac os x. i assume you were on windows.

#9 Updated by cpg over 4 years ago

one Sean_McG in the #videolan channel finally said

it's a known issue.
nobody seems to have a good answer for it yet.

#10 Updated by cpg over 4 years ago

i was able to compile libvlc by changing --enable-lua to --disable-lua.

but i am not sure what i'm doing. i'm trying ./gradlew buildSdk next. maybe i can guess my way from there.
it failed and it asked me to run gradlew tasks, which appeared to succeed.
not sure what next ...

--- a/compile-libvlc.sh
+++ b/compile-libvlc.sh
@@ -70,7 +70,7 @@ VLC_BOOTSTRAP_ARGS="\
     --disable-dca \
     --disable-goom \
     --disable-chromaprint \
-    --enable-lua \
+    --disable-lua \
     --disable-schroedinger \
     --disable-sdl \
     --disable-SDL_image \
@@ -119,7 +119,7 @@ VLC_CONFIGURE_ARGS="\
     --disable-update-check \
     --disable-vlm \
     --disable-dbus \
-    --enable-lua \
+    --disable-lua \
     --disable-vcd \
     --disable-v4l2 \
     --disable-gnomevfs \

#11 Updated by cpg over 4 years ago

it does look like a number of symbols may have changed name. i used readelf from the toolchain to see if i would find some symbols, for instance pause

arm-linux-androideabi-readelf -Ws libvlc.so | grep -i pause
   127: 0043eb41    64 FUNC    GLOBAL DEFAULT    8 libvlc_media_list_player_pause
   151: 0043c7cd   152 FUNC    GLOBAL DEFAULT    8 libvlc_media_player_can_pause
   179: 0043c865   208 FUNC    GLOBAL DEFAULT    8 libvlc_media_player_set_pause
   180: 0043c935    44 FUNC    GLOBAL DEFAULT    8 libvlc_media_player_pause
   276: 00434e2d   212 FUNC    GLOBAL DEFAULT    8 libvlc_vlm_pause_media
  1439: 005b81c9    14 FUNC    GLOBAL DEFAULT    8 avio_pause
  1704: 00991bfd   152 FUNC    GLOBAL DEFAULT    8 _ZN10RTSPClient16sendPauseCommandER12MediaSessionPFvPS_iPcEP13Authenticator
 10482: 0060bc8d    24 FUNC    GLOBAL DEFAULT    8 av_read_pause
 13709: 00991c95   152 FUNC    GLOBAL DEFAULT    8 _ZN10RTSPClient16sendPauseCommandER15MediaSubsessionPFvPS_iPcEP13Authenticator
 14746: 009a2111    88 FUNC    GLOBAL DEFAULT    8 _ZN10RTSPServer17RTSPClientSession15handleCmd_PAUSEEPNS_20RTSPClientConnectionEP21ServerMediaSubsession
 14825: 009a3e31     2 FUNC    GLOBAL DEFAULT    8 _ZN21ServerMediaSubsession11pauseStreamEjPv
 14966: 009aa25d    26 FUNC    GLOBAL DEFAULT    8 _ZN29OnDemandServerMediaSubsession11pauseStreamEjPv
 15376: 009aa23d    30 FUNC    GLOBAL DEFAULT    8 _ZN11StreamState5pauseEv

#12 Updated by cpg over 4 years ago

current status (from bgm):


    Information:Gradle tasks [:assembleDebug]
    :preBuild UP-TO-DATE
    :preDebugBuild UP-TO-DATE
    :checkDebugManifest
    :preBetaReleaseBuild UP-TO-DATE
    :preReleaseBuild UP-TO-DATE
    :prepareAmahiLibvlcUnspecifiedLibrary UP-TO-DATE
    :prepareComAndroidSupportSupportV132311Library UP-TO-DATE
    :prepareComAndroidSupportSupportV42311Library UP-TO-DATE
    :prepareComGithubDmytrodanylykAndroidProcessButtonLibrary103Library UP-TO-DATE
    :prepareDebugDependencies
    :compileDebugAidl UP-TO-DATE
    :compileDebugRenderscript UP-TO-DATE
    :generateDebugBuildConfig UP-TO-DATE
    :generateDebugAssets UP-TO-DATE
    :mergeDebugAssets UP-TO-DATE
    :processDebugManifest UP-TO-DATE
    :crashlyticsCleanupResourcesDebug
    :crashlyticsUploadStoredDeobsDebug
    :crashlyticsGenerateResourcesDebug
    :generateDebugResValues UP-TO-DATE
    :generateDebugResources UP-TO-DATE
    :mergeDebugResources
    :processDebugResources
    :generateDebugSources
    :processDebugJavaRes UP-TO-DATE
    :compileDebugJavaWithJavac
    /home/bodi/android/workspace/amahi/src/main/java/org/amahi/anywhere/service/VideoService.java
    Error:(38, 27) error: cannot find symbol class EventHandler
    Error:(39, 27) error: cannot find symbol class IVideoPlayer
    Error:(41, 27) error: cannot find symbol class LibVlcException
    Error:(48, 54) error: cannot find symbol class IVideoPlayer
    Error:(38, 27) error: cannot find symbol class EventHandler
    Error:(39, 27) error: cannot find symbol class IVideoPlayer
    Error:(41, 27) error: cannot find symbol class LibVlcException
    Error:(48, 54) error: cannot find symbol class IVideoPlayer
    Error:(85, 24) error: cannot find symbol method getInstance()
    Error:(86, 15) error: cannot find symbol method init(VideoService)
    Error:(89, 12) error: cannot find symbol class LibVlcException
    Error:(109, 3) error: cannot find symbol variable EventHandler
    Error:(113, 14) error: cannot find symbol method playMRL(String)
    Error:(131, 14) error: cannot find symbol method play()
    Error:(137, 14) error: cannot find symbol method pause()
    Error:(142, 2) error: method does not override or implement a method from a supertype
    Error:(164, 3) error: cannot find symbol variable EventHandler
    Error:(168, 14) error: cannot find symbol method stop()
    Error:(169, 14) error: cannot find symbol method destroy()
    Error:(196, 10) error: cannot find symbol variable EventHandler
    Error:(200, 10) error: cannot find symbol variable EventHandler
    /home/bodi/android/workspace/amahi/src/main/java/org/amahi/anywhere/activity/ServerFileVideoActivity.java
    Error:(253, 32) error: cannot find symbol method attachSurface(Surface,VideoService)
    Error:(258, 32) error: cannot find symbol method detachSurface()
    Error:(328, 32) error: cannot find symbol method setTime(int)
    Error:(333, 45) error: cannot find symbol method getLength()
    Error:(338, 45) error: cannot find symbol method getTime()
    Error:(460, 32) error: cannot find symbol method stop()
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Error:Execution failed for task ':compileDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    Information:BUILD FAILED
    Information:Total time: 6.312 secs
    Information:28 errors
    Information:0 warnings
    Information:See complete output in console

not sure where @ming got the details in the documentation to find out the calls to libvlc.

#13 Updated by cpg about 4 years ago

  • Assignee changed from megabitdragon to Anonymous

@smoitra will take a quick look.

#14 Updated by cpg almost 4 years ago

  • Status changed from Assigned to Feedback
  • Assignee changed from Anonymous to megabitdragon

I'm confused.

I finally got myself a little more ready for working on this and I upgraded my dev phone to android 6.0.1 (stock from the carrier, not Cyanogen or something else).

Installed Amahi after the upgrade and I could play .avi files, .mkv files as well as .mp4 files, without much of a hint of a problem.

Now I'm wondering where is the disconnect here. Ideas?

#15 Updated by megabitdragon almost 4 years ago

I remember it was crashing for me as well for some files. Did you try some from the "Welcome to Amahi" videos? Unfortunately I don't think I have any more devices with android 6. I will try it on an emulator and get back to you.

Also available in: Atom