[BUG] Downloaded Videos Not Playing Unless Connected to Server
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 4.2k
- Forks
- 3.1k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 7
Description
Actual behaviour
- When a video is downloaded offline and the server is not reachable, the video will not play
Expected behaviour
- I would expect any file downloaded offline to open normally
Steps to reproduce
- Download some videos offline
- Restart app when not able to connect to a server
- Try to play video
Can this problem be reproduced with the official owncloud server?
(url: https://ocis.ocis.master.owncloud.works, user: einstein, password: relativity)
Environment data
Android version: 17
Device model: Pixel 10
Stock or customized system: Stock
ownCloud app version:
4.8.1
ownCloud server version:
10.16.3
Logs
Web server error log
N/A
ownCloud log (data/owncloud.log)
From Logcat:
Not Working:
2026-06-28 18:17:48.991 28027-28027 (FileDispl...ty.kt:846) com.owncloud.android.debug D V: onPause() start
2026-06-28 18:17:48.991 28027-28177 (SingleSes...r.java:98) com.owncloud.android.debug D D: getClientFor starting
2026-06-28 18:17:48.992 28027-28177 (SingleSes....java:125) com.owncloud.android.debug D V: reusing client for account alex@192.168.1.2:8080
2026-06-28 18:17:48.992 28027-28027 (MainApp.kt:224) com.owncloud.android.debug D V: FileDisplayActivity onPause() ending
2026-06-28 18:17:48.992 28027-28177 (SingleSes....java:182) com.owncloud.android.debug D D: getClientFor finishing
2026-06-28 18:17:48.996 28027-28027 (FileDispl...ty.kt:854) com.owncloud.android.debug D V: onPause() end
2026-06-28 18:17:49.002 28027-28027 (MainApp.kt:119) com.owncloud.android.debug D D: PreviewVideoActivity onCreate(Bundle) starting
2026-06-28 18:17:49.018 28027-28027 (MainApp.kt:213) com.owncloud.android.debug D V: PreviewVideoActivity onStart() starting
2026-06-28 18:17:49.019 28027-28027 (BaseActivity.java:177) com.owncloud.android.debug D D: Account set: alex@192.168.1.2:8080
2026-06-28 18:17:49.019 28027-28027 ExoPlayerImpl com.owncloud.android.debug I Init 224be20 [AndroidXMedia3/1.1.1] [frankel, Pixel 10, Google, 37]
2026-06-28 18:17:49.023 28027-28027 ContentCaptureHelper com.owncloud.android.debug I Setting logging level to OFF
2026-06-28 18:17:49.024 28027-28027 (MainApp.kt:220) com.owncloud.android.debug D V: PreviewVideoActivity onResume() starting
2026-06-28 18:17:49.024 28027-28027 (DrawerActivity.kt:481) com.owncloud.android.debug D W: setDrawerMenuItemChecked has been called with invalid menu-item-ID
2026-06-28 18:17:49.028 28027-28027 WindowOnBackDispatcher com.owncloud.android.debug D setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@f73ef50
2026-06-28 18:17:49.029 28027-28027 VRI[Previe...oActivity] com.owncloud.android.debug D WindowInsets changed: 1080x2424 statusBars:[0,173,0,0] navigationBars:[0,0,0,95] mandatorySystemGestures:[0,205,0,84]
2026-06-28 18:17:49.031 28027-28027 Surface com.owncloud.android.debug I Creating surface for consumer unnamed-28027-4 with slotExpansion=1 for 64 slots
2026-06-28 18:17:49.031 28027-28027 Surface com.owncloud.android.debug I Creating surface for consumer VRI[PreviewVideoActivity]#4(BLAST Consumer)4 with slotExpansion=1 for 64 slots
2026-06-28 18:17:49.032 28027-28027 Surface com.owncloud.android.debug I Creating surface for consumer unnamed-28027-5 with slotExpansion=1 for 64 slots
2026-06-28 18:17:49.032 28027-28027 Surface com.owncloud.android.debug I Creating surface for consumer 8ff5e4e SurfaceView[com.owncloud.android.debug/com.owncloud.android.ui.preview.PreviewVideoActivity]#5(BLAST Consumer)5 with slotExpansion=1 for 64 slots
2026-06-28 18:17:49.036 28027-28027 TextView com.owncloud.android.debug W onProvideContentCaptureStructure(): calling assumeLayout()
2026-06-28 18:17:49.037 28027-28027 (FileActivity.java:403) com.owncloud.android.debug D D: Operations service connected
2026-06-28 18:17:49.132 28027-28027 InsetsController com.owncloud.android.debug D hide(ime())
2026-06-28 18:17:49.132 28027-28027 ImeTracker com.owncloud.android.debug I com.owncloud.android.debug:9af7de4c: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
2026-06-28 18:17:49.506 28027-28027 VRI[FileDi...yActivity] com.owncloud.android.debug D visibilityChanged oldVisibility=true newVisibility=false
2026-06-28 18:17:49.527 28027-28027 (MainApp.kt:228) com.owncloud.android.debug D V: FileDisplayActivity onStop() ending
2026-06-28 18:17:49.538 28027-28027 (FileDispl...ty.kt:803) com.owncloud.android.debug D V: onSaveInstanceState() start
2026-06-28 18:17:49.539 28027-28027 (MainApp.kt:235) com.owncloud.android.debug D V: FileDisplayActivity onSaveInstanceState(Bundle) starting
2026-06-28 18:17:49.540 28027-28027 (FileDispl...ty.kt:814) com.owncloud.android.debug D V: onSaveInstanceState() end
---------------------------------------------------------------------------
Working (Video downloaded offline and Connected to Server):
2026-06-28 18:39:49.236 30790-30790 (FileDispl...ty.kt:846) com.owncloud.android.debug D V: onPause() start
2026-06-28 18:39:49.236 30790-30826 (SingleSes...r.java:98) com.owncloud.android.debug D D: getClientFor starting
2026-06-28 18:39:49.236 30790-30790 (MainApp.kt:224) com.owncloud.android.debug D V: FileDisplayActivity onPause() ending
2026-06-28 18:39:49.236 30790-30826 (SingleSes....java:125) com.owncloud.android.debug D V: reusing client for account alex@192.168.1.2:8080
2026-06-28 18:39:49.237 30790-30826 (SingleSes....java:182) com.owncloud.android.debug D D: getClientFor finishing
2026-06-28 18:39:49.237 30790-30790 (FileDispl...ty.kt:854) com.owncloud.android.debug D V: onPause() end
2026-06-28 18:39:49.237 30790-30826 (OwnCloudC....java:135) com.owncloud.android.debug D D: Executing in request with id 05363acd-511a-4611-ac6a-ca7ed5da49f8
2026-06-28 18:39:49.248 30790-30790 (MainApp.kt:119) com.owncloud.android.debug D D: PreviewVideoActivity onCreate(Bundle) starting
2026-06-28 18:39:49.282 30790-30790 (MainApp.kt:213) com.owncloud.android.debug D V: PreviewVideoActivity onStart() starting
2026-06-28 18:39:49.282 30790-30790 (BaseActivity.java:177) com.owncloud.android.debug D D: Account set: alex@192.168.1.2:8080
2026-06-28 18:39:49.288 30790-30790 ExoPlayerImpl com.owncloud.android.debug I Init b9bb62 [AndroidXMedia3/1.1.1] [frankel, Pixel 10, Google, 37]
2026-06-28 18:39:49.295 30790-30790 AudioSystem com.owncloud.android.debug D onNewService: media.audio_policy service obtained 0xb400006d7957d0d0
2026-06-28 18:39:49.298 30790-30790 AudioSystem com.owncloud.android.debug D getService: IAudioPolicyService retrieved: 0xb400006d7957d0d0 cached: 0xb400006d7957d0d0
2026-06-28 18:39:49.310 30790-30790 d.android.debug com.owncloud.android.debug I hiddenapi: Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (runtime_flags=0, domain=platform, api=unsupported) from Landroidx/media3/exoplayer/audio/AudioTrackPositionTracker; (domain=app, TargetSdkVersion=36) using reflection: allowed
2026-06-28 18:39:49.323 30790-30790 AudioSystem com.owncloud.android.debug D onNewServiceWithAdapter: media.audio_flinger service obtained 0xb400006f39552c30
2026-06-28 18:39:49.326 30790-30790 AudioSystem com.owncloud.android.debug D getService: IAudioFlingerService retrieved: 0xb400006d79573e40 IAudioFlinger cached: 0xb400006f39552c30
2026-06-28 18:39:49.334 30790-30790 ContentCaptureHelper com.owncloud.android.debug I Setting logging level to OFF
2026-06-28 18:39:49.335 30790-30790 (MainApp.kt:220) com.owncloud.android.debug D V: PreviewVideoActivity onResume() starting
2026-06-28 18:39:49.335 30790-30790 (DrawerActivity.kt:481) com.owncloud.android.debug D W: setDrawerMenuItemChecked has been called with invalid menu-item-ID
2026-06-28 18:39:49.337 30790-30826 (ReadRemot...ion.kt:75) com.owncloud.android.debug D I: Read remote file /Photos/Photos from 2026/PXL_20260628_042526548.mp4 with status 207
2026-06-28 18:39:49.338 30790-30826 (Synchroni...ase.kt:82) com.owncloud.android.debug D I: Local file modification timestamp :1782629842715 and last sync date for data :1782629842740
2026-06-28 18:39:49.338 30790-30826 (Synchroni...ase.kt:84) com.owncloud.android.debug D I: So it has changed locally: false
2026-06-28 18:39:49.338 30790-30826 (Synchroni...ase.kt:93) com.owncloud.android.debug D I: Local etag :28bf28db6de80cae32b2a7727adc8ee3 and remote etag :28bf28db6de80cae32b2a7727adc8ee3
2026-06-28 18:39:49.338 30790-30826 (Synchroni...ase.kt:94) com.owncloud.android.debug D I: So it has changed remotely: false
2026-06-28 18:39:49.339 30790-30826 (Synchroni...se.kt:120) com.owncloud.android.debug D I: File PXL_20260628_042526548.mp4 is already synchronized. Nothing to do here
2026-06-28 18:39:49.339 30790-30826 (ViewModelExt.kt:69) com.owncloud.android.debug D D: Use case executed: SynchronizeFileUseCase with result: Success(data=com.owncloud.android.usecases.synchronization.SynchronizeFileUseCase$SyncType$AlreadySynchronized@5a2e9a4)
2026-06-28 18:39:49.339 30790-30790 (FileActivity.java:403) com.owncloud.android.debug D D: Operations service connected
2026-06-28 18:39:49.377 30790-30790 WindowOnBackDispatcher com.owncloud.android.debug D setTopOnBackInvokedCallback (unwrapped): android.app.Activity$$ExternalSyntheticLambda0@e6ec527
2026-06-28 18:39:49.378 30790-30790 VRI[Previe...oActivity] com.owncloud.android.debug D WindowInsets changed: 1080x2424 statusBars:[0,173,0,0] navigationBars:[0,0,0,95] mandatorySystemGestures:[0,205,0,84]
2026-06-28 18:39:49.382 30790-30790 Surface com.owncloud.android.debug I Creating surface for consumer unnamed-30790-1 with slotExpansion=1 for 64 slots
2026-06-28 18:39:49.382 30790-30790 Surface com.owncloud.android.debug I Creating surface for consumer VRI[PreviewVideoActivity]#1(BLAST Consumer)1 with slotExpansion=1 for 64 slots
2026-06-28 18:39:49.384 30790-30790 Surface com.owncloud.android.debug I Creating surface for consumer unnamed-30790-2 with slotExpansion=1 for 64 slots
2026-06-28 18:39:49.384 30790-30790 Surface com.owncloud.android.debug I Creating surface for consumer 292697d SurfaceView[com.owncloud.android.debug/com.owncloud.android.ui.preview.PreviewVideoActivity]#2(BLAST Consumer)2 with slotExpansion=1 for 64 slots
2026-06-28 18:39:49.390 30790-30790 TextView com.owncloud.android.debug W onProvideContentCaptureStructure(): calling assumeLayout()
2026-06-28 18:39:49.401 30790-30790 (DiskLruIm....java:123) com.owncloud.android.debug D D: image read from disk 1290768534
2026-06-28 18:39:49.405 30790-30790 (DiskLruIm....java:123) com.owncloud.android.debug D D: image read from disk -519310348
2026-06-28 18:39:49.419 30790-30945 VideoCapabilities com.owncloud.android.debug W Unsupported profile 4 for video/avc
2026-06-28 18:39:49.419 30790-30945 VideoCapabilities com.owncloud.android.debug W Unsupported profile 4 for video/avc
2026-06-28 18:39:49.429 30790-30945 VideoCapabilities com.owncloud.android.debug W Unsupported profile 4 for video/avc
2026-06-28 18:39:49.429 30790-30945 VideoCapabilities com.owncloud.android.debug W Unsupported profile 4 for video/avc
2026-06-28 18:39:49.444 30790-30945 MediaCodecInfo com.owncloud.android.debug D NoSupport [codec.profileLevel, hvc1.2.4.L156, video/hevc] [c2.android.hevc.decoder, video/hevc] [frankel, Pixel 10, Google, 37]
2026-06-28 18:39:49.445 30790-30945 DMCodecAdapterFactory com.owncloud.android.debug I Creating an asynchronous MediaCodec adapter for track type video
2026-06-28 18:39:49.446 30790-30945 MediaCodec com.owncloud.android.debug I Retry enabled for HDCP failure
2026-06-28 18:39:49.456 30790-30945 ApexCodecsLazy com.owncloud.android.debug I ApexCodecs loaded
2026-06-28 18:39:49.456 30790-30945 Codec2Client com.owncloud.android.debug I Available Codec2 services: "default" "default9" "software" "__ApexCodecs__"
2026-06-28 18:39:49.459 30790-30959 CCodec com.owncloud.android.debug D allocate(c2.google.hevc.decoder)
2026-06-28 18:39:49.459 30790-30959 CCodec com.owncloud.android.debug I setting up 'default' as default (vendor) store
2026-06-28 18:39:49.461 30790-30959 CCodec com.owncloud.android.debug I Created component [c2.google.hevc.decoder] for [c2.google.hevc.decoder]
2026-06-28 18:39:49.461 30790-30959 CCodecConfig com.owncloud.android.debug D read media type: video/hevc
2026-06-28 18:39:49.462 30790-30959 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: input.buffers.allocator-ids.values
2026-06-28 18:39:49.462 30790-30959 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: output.buffers.allocator-ids.values
2026-06-28 18:39:49.462 30790-30959 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: output.buffers.pool-ids.values
2026-06-28 18:39:49.463 30790-30959 ReflectedParamUpdater com.owncloud.android.debug D ignored struct field resources.needed.values
2026-06-28 18:39:49.463 30790-30959 CCodecConfig com.owncloud.android.debug D ignoring local param raw.size (0xd2001800) as it is already supported
2026-06-28 18:39:49.463 30790-30959 CCodecConfig com.owncloud.android.debug D ignoring local param default.color (0x5200180b) as it is already supported
2026-06-28 18:39:49.463 30790-30959 CCodecConfig com.owncloud.android.debug D ignoring local param raw.hdr-static-info (0xd200180a) as it is already supported
2026-06-28 18:39:49.464 30790-30959 CCodecConfig com.owncloud.android.debug I query failed after returning 20 values (BAD_INDEX)
2026-06-28 18:39:49.464 30790-30959 CCodecConfig com.owncloud.android.debug D c2 config diff is Dict {
c2::u32 algo.low-latency.value = 0
c2::i32 algo.priority.value = 0
c2::float algo.rate.value = 0
c2::u32 algo.secure-mode.value = 0
c2::float coded.frame-rate.value = 30
c2::u32 coded.pl.level = 24584
c2::u32 coded.pl.profile = 24576
c2::u32 coded.vui.color.matrix = 0
c2::u32 coded.vui.color.primaries = 0
c2::u32 coded.vui.color.range = 0
c2::u32 coded.vui.color.transfer = 0
c2::u32 default.color.matrix = 0
c2::u32 default.color.primaries = 0
c2::u32 default.color.range = 0
c2::u32 default.color.transfer = 0
c2::u32 input.buffers.max-size.value = 2097152
c2::u32 input.delay.value = 2
Buffer input.hdr-dynamic-info.data = {
}
c2::u32 input.hdr-dynamic-info.type = 1
string input.media-type.value = "video/hevc"
c2::u32 output.delay.value = 0
Buffer output.hdr-dynamic-info.data = {
}
c2::u32 output.hdr-dynamic-info.type = 1
string output.media-type.value = "video/raw"
c2::u32 raw.color.matrix = 0
c2::u32 raw.color.primaries = 0
c2:
2026-06-28 18:39:49.464 30790-30959 ColorUtils com.owncloud.android.debug W expected specified color aspects (0:0:0:0)
2026-06-28 18:39:49.468 30790-30958 MediaCodec com.owncloud.android.debug I MediaCodec will operate in async mode
2026-06-28 18:39:49.469 30790-30945 Surface com.owncloud.android.debug I Creating surface for consumer 292697d SurfaceView[com.owncloud.android.debug/com.owncloud.android.ui.preview.PreviewVideoActivity]#2(BLAST Consumer)2 with slotExpansion=1 for 64 slots
2026-06-28 18:39:49.469 30790-30945 MediaCodec com.owncloud.android.debug I media_quality service unavailable, skipping updatePictureProfile
2026-06-28 18:39:49.469 30790-30958 SurfaceUtils com.owncloud.android.debug D connecting to surface 0xb400006dd96512b0, reason connectToSurface
2026-06-28 18:39:49.469 30790-30958 MediaCodec com.owncloud.android.debug I [c2.google.hevc.decoder] setting surface generation to 31528961
2026-06-28 18:39:49.469 30790-30958 SurfaceUtils com.owncloud.android.debug D disconnecting from surface 0xb400006dd96512b0, reason connectToSurface(reconnect)
2026-06-28 18:39:49.469 30790-30958 SurfaceUtils com.owncloud.android.debug D connecting to surface 0xb400006dd96512a0, reason connectToSurface(reconnect-with-listener)
2026-06-28 18:39:49.469 30790-30959 CCodec com.owncloud.android.debug D [c2.google.hevc.decoder] buffers are bound to CCodec for this session
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D no c2 equivalents for log-session-id
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D no c2 equivalents for color-standard
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D no c2 equivalents for native-window
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D no c2 equivalents for native-window-generation
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D no c2 equivalents for flags
2026-06-28 18:39:49.470 30790-30959 CCodecConfig com.owncloud.android.debug D c2 config diff is c2::float coded.frame-rate.value = 29.8434
c2::u32 default.color.matrix = 5
c2::u32 default.color.primaries = 6
c2::u32 default.color.range = 2
c2::u32 default.color.transfer = 7
c2::u32 input.buffers.max-size.value = 6266880
c2::u32 raw.max-size.height = 2160
c2::u32 raw.max-size.width = 3840
c2::i32 raw.rotation.value = -90
c2::u32 raw.size.height = 2160
c2::u32 raw.size.width = 3840
2026-06-28 18:39:49.473 30790-30959 CCodec com.owncloud.android.debug D client requested max input size 607228, which is smaller than what component recommended (6266880); overriding with component recommendation.
2026-06-28 18:39:49.473 30790-30959 CCodec com.owncloud.android.debug W This behavior is subject to change. It is recommended that app developers double check whether the requested max input size is in reasonable range.
2026-06-28 18:39:49.473 30790-30959 CCodec com.owncloud.android.debug D encoding statistics level = 0
2026-06-28 18:39:49.473 30790-30959 CCodec com.owncloud.android.debug D setup formats input: AMessage(what = 0x00000000) = {
int32_t feature-secure-playback = 0
int32_t frame-rate = 30
int32_t height = 2160
int32_t level = 65536
int32_t max-input-size = 6266880
string mime = "video/hevc"
int32_t priority = 0
int32_t profile = 1
int32_t width = 3840
Rect crop(0, 0, 3839, 2159)
}
2026-06-28 18:39:49.473 30790-30959 CCodec com.owncloud.android.debug D setup formats output: AMessage(what = 0x00000000) = {
int32_t android._color-format = 2130708361
int32_t android._video-scaling = 1
int32_t android._dataspace = 281411584
int32_t color-standard = 6
int32_t color-range = 2
int32_t color-transfer = 3
int32_t sar-height = 1
int32_t rotation-degrees = 90
Buffer hdr-static-info = {
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000010: 00 00 00 00 00 00 00 00 00 .........
}
int32_t sar-width = 1
Rect crop(0, 0, 3839, 2159)
int32_t width = 3840
int32_t feature-secure-playback = 0
int32_t frame-rate = 30
int32_t height = 2160
int32_t max-height = 2160
int32_t max-width = 3840
string mime = "video/raw"
int32_t priority = 0
Buffer hdr10-plus-info = {
}
int32_t color-format = 2130708361
}
2026-06-28 18:39:49.473 30790-30959 CCodecConfig com.owncloud.android.debug I query failed after returning 20 values (BAD_INDEX)
2026-06-28 18:39:49.474 30790-30959 CCodecConfig com.owncloud.android.debug D c2 config diff is c2::u32 raw.color.matrix = 5
c2::u32 raw.color.primaries = 6
c2::u32 raw.color.range = 2
c2::u32 raw.color.transfer = 7
2026-06-28 18:39:49.475 30790-30945 MediaCodec com.owncloud.android.debug D keep callback message for reclaim
2026-06-28 18:39:49.483 30790-30959 C2Store com.owncloud.android.debug D Using DMABUF Heaps
2026-06-28 18:39:49.484 30790-30959 CCodecBufferChannel com.owncloud.android.debug D [c2.google.hevc.decoder#709] Created input block pool with allocatorID 16 => poolID 17 - OK (0)
2026-06-28 18:39:49.484 30790-30959 CCodecBufferChannel com.owncloud.android.debug D [c2.google.hevc.decoder#709] Query output surface allocator returned 0 params => BAD_INDEX (6)
2026-06-28 18:39:49.484 30790-30959 Codec2Client com.owncloud.android.debug D GraphicBufferAllocator created
2026-06-28 18:39:49.484 30790-30959 CCodecBufferChannel com.owncloud.android.debug I [c2.google.hevc.decoder#709] Created output block pool with allocatorID 18 => poolID 991 - OK
2026-06-28 18:39:49.484 30790-30959 CCodecBufferChannel com.owncloud.android.debug D [c2.google.hevc.decoder#709] Configured output block pool ids 991 => OK
2026-06-28 18:39:49.485 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D new surface in configuration: maxDequeueRequested(0), maxDequeueCommitted(3)
2026-06-28 18:39:49.485 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D new surface configured with id:132242043043842 gen:31528961 maxDequeue:3
2026-06-28 18:39:49.485 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D maxDequeueCount committed to IGBP: 4
2026-06-28 18:39:49.485 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D Cache size 0 -> 0: maybe_cleared(0), dequeued(0)
2026-06-28 18:39:49.485 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D maxDqueueCount change 3 -> 4: pending: 0
2026-06-28 18:39:49.485 30790-30959 Codec2Client com.owncloud.android.debug D setOutputSurface -- generation=31528961 consumer usage=0x900
2026-06-28 18:39:49.485 30790-30790 InsetsController com.owncloud.android.debug D hide(ime())
2026-06-28 18:39:49.485 30790-30790 ImeTracker com.owncloud.android.debug I com.owncloud.android.debug:87713774: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
2026-06-28 18:39:49.487 30790-30945 DMCodecAdapterFactory com.owncloud.android.debug I Creating an asynchronous MediaCodec adapter for track type audio
2026-06-28 18:39:49.487 30790-30945 MediaCodec com.owncloud.android.debug I Retry enabled for HDCP failure
2026-06-28 18:39:49.487 30790-30958 d.android.debug com.owncloud.android.debug W AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. Use AIBinder_DeathRecipient_setOnUnlinked to manage the lifetime of the cookie. This will become an abort.
2026-06-28 18:39:49.488 30790-30974 CCodec com.owncloud.android.debug D allocate(c2.android.aac.decoder)
2026-06-28 18:39:49.490 30790-30974 CCodec com.owncloud.android.debug I setting up 'default' as default (vendor) store
2026-06-28 18:39:49.504 30790-30974 d.android.debug com.owncloud.android.debug W AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. Use AIBinder_DeathRecipient_setOnUnlinked to manage the lifetime of the cookie. This will become an abort.
2026-06-28 18:39:49.504 30790-30974 CCodec com.owncloud.android.debug I Created component [c2.android.aac.decoder] for [c2.android.aac.decoder]
2026-06-28 18:39:49.504 30790-30974 CCodecConfig com.owncloud.android.debug D read media type: audio/mp4a-latm
2026-06-28 18:39:49.505 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: algo.buffers.max-count.values
2026-06-28 18:39:49.505 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: output.subscribed-indices.values
2026-06-28 18:39:49.505 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: input.buffers.allocator-ids.values
2026-06-28 18:39:49.506 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: output.buffers.allocator-ids.values
2026-06-28 18:39:49.506 30790-30959 LegacyGraphicsTracker com.owncloud.android.debug D maxDequeueCount is already 4
2026-06-28 18:39:49.506 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: algo.buffers.allocator-ids.values
2026-06-28 18:39:49.506 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: output.buffers.pool-ids.values
2026-06-28 18:39:49.506 30790-30974 ReflectedParamUpdater com.owncloud.android.debug D extent() != 1 for single value type: algo.buffers.pool-ids.values
2026-06-28 18:39:49.507 30790-30974 CCodecConfig com.owncloud.android.debug I query failed after returning 21 values (BAD_INDEX)
2026-06-28 18:39:49.507 30790-30974 CCodecConfig com.owncloud.android.debug D c2 config diff is Dict {
c2::u32 coded.aac-packaging.value = 0
c2::u32 coded.bitrate.value = 64000
c2::u32 coded.pl.level = 0
c2::u32 coded.pl.profile = 8192
c2::i32 coding.drc.album-mode.value = 0
c2::float coding.drc.attenuation-factor.value = 1
c2::float coding.drc.boost-factor.value = 1
c2::i32 coding.drc.compression-mode.value = 3
c2::i32 coding.drc.effect-type.value = 3
c2::float coding.drc.encoded-level.value = 0.25
c2::float coding.drc.reference-level.value = -16
c2::u32 input.buffers.max-size.value = 8192
c2::u32 input.delay.value = 0
string input.media-type.value = "audio/mp4a-latm"
c2::u32 output.delay.value = 2
c2::float output.drc.output-loudness.value = 0.25
c2::u32 output.large-frame.max-size = 0
c2::u32 output.large-frame.threshold-size = 0
string output.media-type.value = "audio/raw"
c2::u32 raw.channel-count.value = 1
c2::u32 raw.channel-mask.value = 0
c2::u32 raw.max-channel-count.value = 8
c2::u32 raw.sample-rate.value = 44100
}
2026-06-28 18:39:49.509 30790-30974 MediaCodec com.owncloud.android.debug I MediaCodec will operate in async mode
2026-06-28 18:39:49.509 30790-30945 MediaCodec com.owncloud.android.debug I media_quality service unavailable, skipping updatePictureProfile
2026-06-28 18:39:49.509 30790-30974 CCodec com.owncloud.android.debug D [c2.android.aac.decoder] buffers are bound to CCodec for this session
2026-06-28 18:39:49.509 30790-30974 CCodecConfig com.owncloud.android.debug D no c2 equivalents for log-session-id
2026-06-28 18:39:49.509 30790-30974 CCodecConfig com.owncloud.android.debug D no c2 equivalents for flags
2026-06-28 18:39:49.510 30790-30974 CCodecConfig com.owncloud.android.debug D c2 config diff is c2::u32 raw.channel-count.value = 2
c2::u32 raw.sample-rate.value = 48000
2026-06-28 18:39:49.510 30790-30974 CCodec com.owncloud.android.debug D client requested max input size 731, which is smaller than what component recommended (8192); overriding with component recommendation.
2026-06-28 18:39:49.510 30790-30974 CCodec com.owncloud.android.debug W This behavior is subject to change. It is recommended that app developers double check whether the requested max input size is in reasonable range.
2026-06-28 18:39:49.510 30790-30974 CCodec com.owncloud.android.debug D encoding statistics level = 0
2026-06-28 18:39:49.511 30790-30974 CCodec com.owncloud.android.debug D setup formats input: AMessage(what = 0x00000000) = {
int32_t aac-drc-album-mode = 0
int32_t aac-drc-boost-level = 127
int32_t aac-drc-cut-level = 127
int32_t aac-drc-effect-type = 3
int32_t aac-encoded-target-level = -1
int32_t aac-max-output-channel_count = 8
int32_t aac-target-ref-level = 64
int32_t bitrate = 64000
int32_t channel-count = 2
int32_t channel-mask = 0
int32_t level = 0
int32_t max-input-size = 8192
int32_t max-output-channel-count = 8
string mime = "audio/mp4a-latm"
int32_t profile = 2
int32_t sample-rate = 48000
}
2026-06-28 18:39:49.511 30790-30974 CCodec com.owncloud.android.debug D setup formats output: AMessage(what = 0x00000000) = {
int32_t aac-drc-album-mode = 0
int32_t aac-drc-boost-level = 127
int32_t aac-drc-cut-level = 127
int32_t aac-drc-effect-type = 3
int32_t aac-drc-output-loudness = -1
int32_t aac-encoded-target-level = -1
int32_t aac-max-output-channel_count = 8
int32_t aac-target-ref-level = 64
int32_t buffer-batch-max-output-size = 0
int32_t buffer-batch-threshold-output-size = 0
int32_t channel-count = 2
int32_t channel-mask = 0
int32_t max-output-channel-count = 8
string mime = "audio/raw"
int32_t sample-rate = 48000
int32_t android._config-pcm-encoding = 2
}
2026-06-28 18:39:49.511 30790-30974 CCodecConfig com.owncloud.android.debug I query failed after returning 21 values (BAD_INDEX)
2026-06-28 18:39:49.511 30790-30974 d.android.debug com.owncloud.android.debug E Failed to query component interface for required system resources: 6
2026-06-28 18:39:49.512 30790-30945 MediaCodec com.owncloud.android.debug D keep callback message for reclaim
2026-06-28 18:39:49.519 30790-30974 CCodecBufferChannel com.owncloud.android.debug D [c2.android.aac.decoder#867] Created input block pool with allocatorID 16 => poolID 18 - OK (0)
2026-06-28 18:39:49.520 30790-30974 CCodecBufferChannel com.owncloud.android.debug I [c2.android.aac.decoder#867] Created output block pool with allocatorID 16 => poolID 1927 - OK
2026-06-28 18:39:49.520 30790-30974 CCodecBufferChannel com.owncloud.android.debug D [c2.android.aac.decoder#867] Configured output block pool ids 1927 => OK
2026-06-28 18:39:49.528 30790-30974 d.android.debug com.owncloud.android.debug W AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. Use AIBinder_DeathRecipient_setOnUnlinked to manage the lifetime of the cookie. This will become an abort.
2026-06-28 18:39:49.547 30790-30863 d.android.debug com.owncloud.android.debug W AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. Use AIBinder_DeathRecipient_setOnUnlinked to manage the lifetime of the cookie. This will become an abort.
2026-06-28 18:39:49.548 30790-30974 CCodecConfig com.owncloud.android.debug D c2 config diff is c2::u32 raw.channel-mask.value = 12
2026-06-28 18:39:49.548 30790-30974 CCodecBuffers com.owncloud.android.debug D [c2.android.aac.decoder#867:1D-Output] popFromStashAndRegister: at 1000000020000us, output format changed to AMessage(what = 0x00000000) = {
int32_t aac-drc-album-mode = 0
int32_t aac-drc-boost-level = 127
int32_t aac-drc-cut-level = 127
int32_t aac-drc-effect-type = 3
int32_t aac-drc-output-loudness = -1
int32_t aac-encoded-target-level = -1
int32_t aac-max-output-channel_count = 8
int32_t aac-target-ref-level = 64
int32_t buffer-batch-max-output-size = 0
int32_t buffer-batch-threshold-output-size = 0
int32_t channel-count = 2
int32_t channel-mask = 12
int32_t max-output-channel-count = 8
string mime = "audio/raw"
int32_t sample-rate = 48000
int32_t android._config-pcm-encoding = 2
}
2026-06-28 18:39:49.568 30790-30959 CCodecConfig com.owncloud.android.debug D c2 config diff is c2::u32 raw.crop.height = 2160
c2::u32 raw.crop.left = 0
c2::u32 raw.crop.top = 0
c2::u32 raw.crop.width = 3840
2026-06-28 18:39:49.694 30790-30945 AudioTrack com.owncloud.android.debug D getTimestamp_l(6009): stale timestamp time corrected, currentTimeNanos: 199013365017796 < limitNs: 199347323504796 < mStartNs: 199347393504796
2026-06-28 18:39:49.866 30790-30790 VRI[FileDi...yActivity] com.owncloud.android.debug D visibilityChanged oldVisibility=true newVisibility=false
2026-06-28 18:39:49.872 30790-30790 (MainApp.kt:228) com.owncloud.android.debug D V: FileDisplayActivity onStop() ending
2026-06-28 18:39:49.883 30790-30790 (FileDispl...ty.kt:803) com.owncloud.android.debug D V: onSaveInstanceState() start
2026-06-28 18:39:49.886 30790-30790 (MainApp.kt:235) com.owncloud.android.debug D V: FileDisplayActivity onSaveInstanceState(Bundle) starting
2026-06-28 18:39:49.888 30790-30790 (FileDispl...ty.kt:814) com.owncloud.android.debug D V: onSaveInstanceState() end
2026-06-28 18:39:54.610 30790-30958 AidlBufferPool com.owncloud.android.debug D bufferpool2 0xb400006e8959e848 : 7(43868160 size) total buffers - 6(37601280 size) used buffers - 148/155 (recycle/alloc) - 7/304 (fetch/transfer)
2026-06-28 18:39:55.011 30790-30974 AidlBufferPool com.owncloud.android.debug D bufferpool2 0xb400006e895cbc18 : 5(40960 size) total buffers - 1(8192 size) used buffers - 270/275 (recycle/alloc) - 5/274 (fetch/transfer)
2026-06-28 18:39:58.066 30790-30974 CCodecBuffers com.owncloud.android.debug D [c2.android.aac.decoder#867:1D-Output] received null buffer
2026-06-28 18:39:58.210 30790-30945 AudioTrack com.owncloud.android.debug D stop(6009): called with 425984 frames delivered
2026-06-28 18:40:03.497 30790-30963 AidlBufferPool com.owncloud.android.debug D bufferpool2 0xb400006e895cbc18 : 5(40960 size) total buffers - 3(24576 size) used buffers - 417/422 (recycle/alloc) - 5/418 (fetch/transfer)
2026-06-28 18:40:03.498 30790-30963 AidlBufferPool com.owncloud.android.debug D bufferpool2 0xb400006e8959e848 : 7(43868160 size) total buffers - 0(0 size) used buffers - 261/268 (recycle/alloc) - 7/534 (fetch/transfer)
2026-06-28 18:40:03.498 30790-30963 AidlBufferPoolAcc com.owncloud.android.debug D evictor expired: 2, evicted: 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the offline playback failure using the listed steps and compare the working and failing Logcat traces. Start with PreviewVideoActivity and the synchronization path referenced by SynchronizeFileUseCase and Read remote file logs. Done means a downloaded video opens and plays after restarting the app without a server connection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100