Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.
Normally I would open a ticket with Plex on this, but it seems to be limited to GrapheneOS (GOS), so I am starting here.
When I try to play some formats of videos in Plex I get an error "An error occurred while attempting to play this video". It seems to happen on some HEVC content, but I haven't really found a good pattern. 4K HDR, No problem, some random content from a while back, has an issue.
This is all direct playback and have tried pulling it local, same issue. If I force it to trans-code, everything works perfectly.
My other phones (OnePlus 7 Pro, and S23) plays all of this content perfectly with direct play and local downloads.
What I have tried.
Pulling the file local (using Plex Download), same issue. - Fails
Disabled exploit compatibility mode. - Fails
Transferring the file local using USB.
Playback in Plex - Fails.
Playback in Google Photos - WORKS! But has no sound.
Playback in GOS Gallery - WORKS! But has no sound.
Playback in VLC - WORKS! With sound!
What I did NOT try.
Playing on the base GoogleOS.
The audio codec is A/52 C (ada E-AC3), this seem fairly standard, so IDK if that is part of the issue, or if not having sound is a different problem. The video is H265, Planar 4:2:9 YUV 10-bit LE.
I did an adb logcat and tried to narrow the entries to the exact moment of the error, this is what I got:
04-05 20:15:56.188 914 28304 I ddpdec_client_joc: ddpdec_open JOCD_MODE Buffer assignment
04-05 20:15:56.188 914 28304 D C2SoftDdpDec: mStarted = 1
04-05 20:15:56.188 914 28304 I C2SoftDdpDec: <- start
04-05 20:15:56.189 582 4882 W gralloc4: Unable to set buffer name SurfaceView[com.plexapp.android/com.plexapp.player.PlayerActivity]#74(BLAST Consumer)74: File name too long
04-05 20:15:56.189 7047 28303 W Codec2Client: query -- param skipped: index = 1342179345.
04-05 20:15:56.189 7047 28303 W Codec2Client: query -- param skipped: index = 2415921170.
04-05 20:15:56.189 7047 28303 W Codec2Client: query -- param skipped: index = 1610614798.
04-05 20:15:56.190 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] Created input block pool with allocatorID 16 => poolID 42 - OK (0)
04-05 20:15:56.194 7047 28303 I CCodecBufferChannel: [c2.dolby.eac3.decoder#49] Created output block pool with allocatorID 16 => poolID 57 - OK
04-05 20:15:56.194 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] Configured output block pool ids 57 => OK
04-05 20:15:56.195 582 4882 W gralloc4: Unable to set buffer name SurfaceView[com.plexapp.android/com.plexapp.player.PlayerActivity]#74(BLAST Consumer)74: File name too long
04-05 20:15:56.196 914 28304 D SimpleC2Component: Using output block pool with poolID 57 => got 57 - 0
04-05 20:15:56.197 582 4882 W gralloc4: Unable to set buffer name SurfaceView[com.plexapp.android/com.plexapp.player.PlayerActivity]#74(BLAST Consumer)74: File name too long
04-05 20:15:56.201 582 4882 W gralloc4: Unable to set buffer name SurfaceView[com.plexapp.android/com.plexapp.player.PlayerActivity]#74(BLAST Consumer)74: File name too long
04-05 20:15:56.205 582 4882 W gralloc4: Unable to set buffer name SurfaceView[com.plexapp.android/com.plexapp.player.PlayerActivity]#74(BLAST Consumer)74: File name too long
04-05 20:15:56.206 914 28304 D ddpdec_client_joc: ddpdec_client.c|int configDecoder()
04-05 20:15:56.207 914 28304 E ddpdec_client_joc: ddpdec_process unsupportted DDP-JOC frame
04-05 20:15:56.207 914 28304 E C2SoftDdpDec: unsupported DDP-JOC frame
04-05 20:15:56.209 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] work failed to complete: 14
04-05 20:15:56.210 7047 28303 E MediaCodec: Codec reported err 0xe/14 (Unknown error -14), actionCode 0, while in state 6/STARTED
04-05 20:15:56.211 7047 28265 E MediaCodec: getBufferAndFormat - invalid operation (the index 0 is not owned by client)
04-05 20:15:56.211 7047 28265 E MediaCodec: index 0 is not owned by client
04-05 20:15:56.212 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] work failed to complete: 22
04-05 20:15:56.212 7047 28303 E MediaCodec: Codec reported err 0x16/22 (Unknown error -22), actionCode 0, while in state 0/UNINITIALIZED
04-05 20:15:56.212 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] work failed to complete: 22
04-05 20:15:56.213 7047 28303 E MediaCodec: Codec reported err 0x16/22 (Unknown error -22), actionCode 0, while in state 0/UNINITIALIZED
04-05 20:15:56.214 7047 28265 D MediaCodec: keep callback message for reclaim
04-05 20:15:56.214 7047 28292 I CCodecConfig: query failed after returning 17 values (BAD_INDEX)
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2 config diff is c2::u32 raw.crop.height = 1080
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::u32 raw.crop.left = 0
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::u32 raw.crop.top = 0
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::u32 raw.crop.width = 1920
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.blue.x = 0.131
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.blue.y = 0.046
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.green.x = 0.17
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.green.y = 0.797
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.max-luminance = 1000
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.red.x = 0.708
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.red.y = 0.292
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.white.x = 0.3127
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.mastering.white.y = 0.329
04-05 20:15:56.216 7047 28292 D CCodecConfig: c2::float raw.hdr-static-info.max-fall = 65536
04-05 20:15:56.220 7047 28292 D CCodecConfig: found invalid HDR static metadata AMessage(what = 0x00000000) = {
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t android._color-format = 2130708361
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t android._video-scaling = 1
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.green.y = 0.797000
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t color-standard = 1
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t color-range = 2
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t color-transfer = 3
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.red.y = 0.292000
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t width = 1920
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.white.y = 0.329000
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.white.x = 0.312700
04-05 20:15:56.220 7047 28292 D CCodecConfig: float cta861.max-cll = 0.000000
04-05 20:15:56.220 7047 28292 D CCodecConfig: float cta861.max-fall = 65536.000000
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.max-luminance = 1000.000000
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.min-luminance = 0.000000
04-05 20:15:56.220 7047 28292 D CCodecConfig: Rect crop(0, 0, 1919, 1079)
04-05 20:15:56.220 7047 28292 D CCodecConfig: float smpte2086.red.x = 0.708000
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t height = 1080
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t max-height = 1080
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t max-width = 1920
04-05 20:15:56.220 7047 28292 D CCodecConfig: string mime = "video/raw"
04-05 20:15:56.220 7047 28292 D CCodecConfig: Buffer output.hdr-dynamic-info.data = {
04-05 20:15:56.220 7047 28292 D CCodecConfig: }
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32_t output.hdr-dynamic-info.type = 1
04-05 20:15:56.220 7047 28292 D CCodecConfig: int32
04-05 20:15:56.224 7047 28292 W Codec2Client: query -- param skipped: index = 1073743886.
04-05 20:15:56.225 7047 28292 W Codec2Client: query -- param skipped: index = 1610614798.
04-05 20:15:56.225 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.226 7047 28303 E MediaCodec: flush() is valid only at Executing states; currently at Released state
04-05 20:15:56.228 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.228 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.228 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.228 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.228 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.236 7047 28292 D SurfaceUtils: connecting to surface 0xd3072476f010, reason connectToSurface
04-05 20:15:56.236 7047 28292 I MediaCodec: [c2.exynos.hevc.decoder] setting surface generation to 7216148
04-05 20:15:56.236 7047 28292 D SurfaceUtils: disconnecting from surface 0xd3072476f010, reason connectToSurface(reconnect)
04-05 20:15:56.236 7047 28292 D SurfaceUtils: connecting to surface 0xd3072476f000, reason connectToSurface(reconnect-with-listener)
04-05 20:15:56.236 7047 28292 D Codec2-OutputBufferQueue: C2SurfaceSyncMemory created 20(20)
04-05 20:15:56.236 7047 28292 D Codec2-OutputBufferQueue: remote graphic buffer migration 0/0
04-05 20:15:56.237 7047 28292 D Codec2Client: setOutputSurface -- failed to set consumer usage (6/BAD_INDEX)
04-05 20:15:56.237 7047 28292 D Codec2Client: setOutputSurface -- generation=7216148 consumer usage=0x900 sync
04-05 20:15:56.238 913 19337 D C2BqBuffer: local generation change 7216148 , bqId: 30266634534997 migrated buffers # 11
04-05 20:15:56.238 7047 28292 D Codec2Client: Surface configure completed
04-05 20:15:56.238 7047 28292 D SurfaceUtils: disconnecting from surface 0xd3072478d010, reason disconnectFromSurface
04-05 20:15:56.240 7047 28292 D CCodecBufferChannel: [c2.exynos.hevc.decoder#27] MediaCodec discarded an unknown buffer
04-05 20:15:56.240 7047 28292 D CCodecBufferChannel: [c2.exynos.hevc.decoder#27] MediaCodec discarded an unknown buffer
04-05 20:15:56.240 7047 28292 D CCodecBufferChannel: [c2.exynos.hevc.decoder#27] MediaCodec discarded an unknown buffer
04-05 20:15:56.241 7047 28292 D CCodecBufferChannel: [c2.exynos.hevc.decoder#27] MediaCodec discarded an unknown buffer
04-05 20:15:56.241 913 19337 D C2BqBuffer: configuring null producer: igbp_information(0)
04-05 20:15:56.242 7047 28303 D CCodecBufferChannel: [c2.dolby.eac3.decoder#49] MediaCodec discarded an unknown buffer
04-05 20:15:56.243 914 28304 I C2SoftDdpDec: -> onRelease
04-05 20:15:56.243 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.243 914 28304 I AProcessor: ~AProcessor
04-05 20:15:56.243 914 28304 D DlbDecParamCache: ~DecParamCache()
04-05 20:15:56.243 914 28304 I C2SoftDdpDec: <-onRelease
04-05 20:15:56.244 7047 28309 I hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
04-05 20:15:56.247 914 947 I hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
04-05 20:15:56.247 914 947 I C2SoftDdpDec: -> onRelease
04-05 20:15:56.247 914 947 I C2SoftDdpDec: <-onRelease
04-05 20:15:56.248 914 2262 D BufferPoolAccessor2.0: Destruction - bufferpool2 0xb400cabc8e7b1228 cached: 0/0M, 0/0% in use; allocs: 2, 50% recycled; transfers: 0, 0% unfetched
04-05 20:15:56.249 7047 7132 W System : A resource failed to call close.
04-05 20:15:56.254 913 19337 I ExynosC2HevcDecComponent: [release] component is released
04-05 20:15:56.255 7047 28292 D SurfaceUtils: disconnecting from surface 0xd3072476f010, reason disconnectFromSurface
04-05 20:15:56.255 7047 28308 I hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
04-05 20:15:56.255 913 19337 I hw-BpHwBinder: onLastStrongRef automatically unlinking death recipients
04-05 20:15:56.270 7047 7047 W WindowOnBackDispatcher: OnBackInvokedCallback is not enabled for the application.
04-05 20:15:56.270 7047 7047 W WindowOnBackDispatcher: Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
04-05 20:15:56.289 1330 3024 D CoreBackPreview: Window{e1822fa u0 com.plexapp.android/com.plexapp.player.PlayerActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@bd67aa1, mPriority=0, mIsAnimationCallback=false}
04-05 20:15:56.299 582 4882 W gralloc4: Unable to set buffer name VRI[PlayerActivity]#76(BLAST Consumer)76: File name too long
04-05 20:15:56.300 582 4882 W gralloc4: Unable to set buffer name VRI[PlayerActivity]#76(BLAST Consumer)76: File name too long
04-05 20:15:56.301 582 4882 W gralloc4: Unable to set buffer name VRI[PlayerActivity]#76(BLAST Consumer)76: File name too long
04-05 20:15:56.303 582 4882 W gralloc4: Unable to set buffer name VRI[PlayerActivity]#76(BLAST Consumer)76: File name too long
04-05 20:15:56.304 582 4882 W gralloc4: Unable to set buffer name VRI[PlayerActivity]#76(BLAST Consumer)76: File name too long
04-05 20:15:56.394 3420 3474 I AttachmentTable: [setHashForDataFile] Updated the HASH_END for 1 rows using file /data/user/0/org.thoughtcrime.securesms/app_parts/part5673632180824374551.mms
04-05 20:15:56.445 7047 7578 D Plex Media Server: [229728654970880] Failed to stream media, client probably disconnected after 105495233 bytes: 104 - Connection reset by peer
This was a local file, so the "Connection reset" must be its internal server?
Again, normally I would assume this to be a Plex issue, but the fact it seems to be localized to GOS makes me think something is "up" with it..
Normally I would open a ticket with Plex on this, but it seems to be limited to GrapheneOS (GOS), so I am starting here.
When I try to play some formats of videos in Plex I get an error "An error occurred while attempting to play this video". It seems to happen on some HEVC content, but I haven't really found a good pattern. 4K HDR, No problem, some random content from a while back, has an issue.
This is all direct playback and have tried pulling it local, same issue. If I force it to trans-code, everything works perfectly.
My other phones (OnePlus 7 Pro, and S23) plays all of this content perfectly with direct play and local downloads.
What I have tried.
What I did NOT try.
The audio codec is A/52 C (ada E-AC3), this seem fairly standard, so IDK if that is part of the issue, or if not having sound is a different problem. The video is H265, Planar 4:2:9 YUV 10-bit LE.
I did an
adb logcat
and tried to narrow the entries to the exact moment of the error, this is what I got:This was a local file, so the "Connection reset" must be its internal server?
Again, normally I would assume this to be a Plex issue, but the fact it seems to be localized to GOS makes me think something is "up" with it..
Thoughts? Next steps? Open a case over there?