[BUG] can`t play video from space
Actual behaviour
-can play video from person file via android -cant play video from spaces file via android -can play the same video from space via web
Expected behaviour
-can play video from spaces
Steps to reproduce
- go to any space
- play video
- alert"This video file is no longer available in the server"
Can this problem be reproduced with the official owncloud server? (url: https://demo.owncloud.org, user: test, password: test)
Environment data
Android version: 14 Device model: Xiaomi 13 pro Stock or customized system:
ownCloud app version: 4.2.0 ownCloud server version: ocis 4.0.5
Logs
Web server error log
when req from android, the path url is based on 'files' not 'spaces' like from web
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"truenas/i2B5NthcwU-000874","traceid":"e111abbc5ebab9e67f2235bc399f7e0d","remote-addr":"192.168.50.250:59306","method":"GET","status":404,"path":"/remote.php/dav/files/admin/file.mp4","duration":19.66575,"bytes":0,"time":"2024-02-22T02:44:58.979287577Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
{"level":"info","service":"proxy","proto":"HTTP/1.1","request-id":"cf76d3b2-eaf4-4e27-bd9e-c96406ae0d35","traceid":"a27f968611ee49dbe954c7044940659a","remote-addr":"192.168.50.250:57546","method":"PROPFIND","status":207,"path":"/remote.php/dav/spaces/cd95daef-266c-4fe5-9235-ae114f3c81c0$35a7805c-51b3-49ea-9e5f-073cd2fdaabf/file.mp4","duration":25.171966,"bytes":575,"time":"2024-02-22T02:41:22.832133814Z","line":"github.com/owncloud/ocis/v2/services/proxy/pkg/middleware/accesslog.go:34","message":"access-log"}
ownCloud log (data/owncloud.log)
Insert your ownCloud log here
Thanks a lot for reporting. I can reproduce the problem, team will fix.
stacktrace (edit):
Playback error
androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:684)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:656)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:223)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: androidx.media3.datasource.HttpDataSource$InvalidResponseCodeException: Response code: 404
at androidx.media3.datasource.DefaultHttpDataSource.open(DefaultHttpDataSource.java:435)
at androidx.media3.datasource.DefaultDataSource.open(DefaultDataSource.java:272)
at androidx.media3.datasource.StatsDataSource.open(StatsDataSource.java:86)
at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1006)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:414)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
It seems this only happens with video streaming, and because the URL we send to Exoplayer is malformed (lacks of space reference). Working on it 🚀