Crash on Android
The player will crash with a segmentation fault on Android when starting or exiting the player.
It will happen with any video content I tried, mainly just things taken with the phone itself.
It may happen on the first try, but sometimes it takes multiple (can be many) tries until this happens.
Android 15.
Log
D/AudioTrack(26748): stop(4326): prior state:STATE_FLUSHED output 37 stream 3 session 35057
I/AudioTrack(26748): stopAndJoinCallbacks(4326) done
E/MediaCodec(26748): releaseOutputBuffer() is valid only at Executing states; currently at Uninitialized state
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-23](id:687c00000079,api:0,p:-1,c:26748) disconnect
V/AutofillManager(26748): requestHideFillUi(null): anchor = null
D/ViewRootImplExtImpl(26748): wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, residentWS=false, scenario=0, bounds=Rect(0, 0 - 1080, 2376), relayoutAsync=true, flags=0, newFlags=1245719808, title=app/app.MainActivity
D/VRI[MainActivity](26748): relayoutWindow result, sizeChanged:false, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2376), mLastSurfaceSize:Point(1080, 2376), mWidth:1080, mHeight:2376, requestedWidth:1080, requestedHeight:2376, transformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122252032, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2376] display=[0,0][1080,2376] parentFrame=[0,0][1080,2376]}, relayoutAsync:true, mSyncSeqId:0
W/VRI[MainActivity](26748): updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2376), lastSurfaceSize:Point(1080, 2376), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@a763f7e
D/OplusViewDragTouchViewHelper(26748): dispatchTouchView action = 1
D/ViewRootImplExtImpl(26748): the up motion event handled by client, just return
I/flutter (26748): 2025-07-22T18:42:02.056934Z DEBUG UI|AppNavigatorObserver: (AppNavigatorObserver) route: VideoPlayerFullView, arguments: VideoPlayerFullViewArgs{key: null, path: /storage/emulated/0/DCIM/Camera/VID20250721124156.mp4, initialDuration: 0:00:04.723000, onPositionUpdate: Closure: (Duration) => void}
I/flutter (26748): 2025-07-22T18:42:02.063068Z DEBUG UI|KVideoPlayerState: initState
I/flutter (26748): 2025-07-22T18:42:02.063467Z DEBUG UI|KVideoPlayerControllerImpl: addListener
I/flutter (26748): 2025-07-22T18:42:02.063551Z DEBUG UI|KVideoPlayerControllerImpl: initialize
W/libOpenSLES(26748): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
W/libOpenSLES(26748): Leaving Object::GetInterface (SL_RESULT_FEATURE_UNSUPPORTED)
D/app (26748): PlayerBase::PlayerBase()
D/app (26748): TrackPlayerBase::TrackPlayerBase()
E/libOpenSLES(26748): Configuration error: unknown key
W/libOpenSLES(26748): Leaving AndroidConfiguration::GetConfiguration (SL_RESULT_PARAMETER_INVALID)
I/libOpenSLES(26748): android_audioPlayer_realize, channel mask 0x3
I/libOpenSLES(26748): android_audioPlayer_realize, create default channel mask 0x3, channels 2
I/libOpenSLES(26748): Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
I/AudioTrack(26748): set(): type=audio,case=1,attributes=1,content_type=0,usage=1,source=0,flags=0x0
D/AudioTrackExtImpl(26748): AudioTrackExtImpl init
D/AudioTrack(26748): set(): streamType -1, sampleRate 48000, format 0x5, channelMask 0x3, frameCount 0, flags #0, notificationFrames 0, sessionId 35065, transferType 0, uid -1, pid -1
I/AudioTrack(26748): set(): 0xb40000716ffb9c00, Create AudioTrackThread, tid = 7190
W/libc (26748): Access denied finding property "vendor.debug.stagefright.mediacodec.trace"
W/libc (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
W/libc (26748): Access denied finding property "vendor.debug.stagefright.BufferCount"
D/AudioTrack(26748): createTrack state 0 output.outputId=37
I/AudioTrack(26748): createTrack_l(4327) on outputId(37) : 0xb40000716ffb9c00, mCblk = 0x72846f1000, mLatency = 189, mAfLatency = 109, frameCount = 3844, mSampleRate = 48000, mFlags = 0, mReqFrameCount = 3844, mNotificationFramesAct = 1922
E/AudioTrackExtImpl(26748): get fade type, but return null, uid 10528
W/app (26748): AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. This might not be intended. AIBinder_DeathRecipient_setOnUnlinked should be called first.
W/libOpenSLES(26748): Leaving PlaybackRate::GetRateRange (SL_RESULT_PARAMETER_INVALID)
D/CCodecConfig(26748): read media type: video/hevc
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: output.subscribed-indices.values
D/ReflectedParamUpdater(26748): ignored struct field vendor.output.configs.portConfigs
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: vendor.qti-ext-vpp-extradata.extradata-types
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: vendor.qti-ext-transcode-info-stats.stats_info
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/ReflectedParamUpdater(26748): ignored struct field vendor.input.configs.portConfigs
D/ReflectedParamUpdater(26748): extent() != 1 for single value type: output.buffers.pool-ids.values
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.is.ff.mode
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.white.list
D/ReflectedParamUpdater(26748): Could not describe oplus.vpp.inputdelay
D/ReflectedParamUpdater(26748): Could not describe oplus.switch.by.app
D/CCodecConfig(26748): ignoring local param raw.size (0xd2001800) as it is already supported
D/CCodecConfig(26748): ignoring local param default.color (0x5200180b) as it is already supported
D/CCodecConfig(26748): ignoring local param raw.hdr-static-info (0xd200180a) as it is already supported
I/CCodecConfig(26748): query failed after returning 18 values (BAD_INDEX)
W/ColorUtils(26748): expected specified color aspects (0:0:0:0)
D/BufferQueueConsumer(26748): [](id:687c0000007d,api:0,p:-1,c:26748) connect: controlledByApp=true
D/SurfaceUtils(26748): connecting to surface 0xb400007279556010, reason connectToSurface
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) connect: api=3 producerControlledByApp=true
D/SurfaceUtils(26748): disconnecting from surface 0xb400007279556010, reason connectToSurface(reconnect)
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) disconnect: api 3
D/SurfaceUtils(26748): connecting to surface 0xb400007279556000, reason connectToSurface(reconnect-with-listener)
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) connect: api=3 producerControlledByApp=true
W/AString (26748): ctor got NULL, using empty string instead
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
W/OplusFeedbackInfo(26748): Ext activity return: 0, value: .
W/WindowOnBackDispatcher(26748): OnBackInvokedCallback is not enabled for the application.
W/WindowOnBackDispatcher(26748): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
D/BufferQueueConsumer(26748): [](id:687c0000007e,api:0,p:-1,c:26748) connect: controlledByApp=true
I/flutter (26748): [IMPORTANT:flutter/shell/platform/android/platform_view_android.cc(334)] Flutter recommends migrating plugins that create and register surface textures to the new surface producer API. See https://docs.flutter.dev/release/breaking-changes/android-surface-plugins
I/CCodecConfig(26748): query failed after returning 19 values (BAD_INDEX)
D/BufferQueueProducer(26748): [SurfaceTexture-0-26748-23](id:687c0000007e,api:1,p:26748,c:26748) connect: api=1 producerControlledByApp=true
I/flutter (26748): 2025-07-22T18:42:02.107492Z DEBUG UI|KVideoPlayerControllerImpl: seek
I/flutter (26748): 2025-07-22T18:42:02.107892Z DEBUG UI|KVideoPlayerControllerImpl: play
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/app (26748): PlayerBase::stop() from IPlayer
D/AudioTrack(26748): [oplusAudioFade]stop mState STATE_ACTIVE, mIsTrackSupportFade 1
D/AudioTrack(26748): stop(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): stop(4327): called with 4096 frames delivered
D/ViewRootImplExtImpl(26748): wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, residentWS=false, scenario=0, bounds=Rect(0, 0 - 1080, 2376), relayoutAsync=true, flags=0, newFlags=1245719808, title=app/app.MainActivity
I/AudioTrack(26748): stop(4327): 0xb40000716ffb9c00 stop done
D/VRI[MainActivity](26748): relayoutWindow result, sizeChanged:false, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2376), mLastSurfaceSize:Point(1080, 2376), mWidth:1080, mHeight:2376, requestedWidth:1080, requestedHeight:2376, transformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122251904, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2376] display=[0,0][1080,2376] parentFrame=[0,0][1080,2376]}, relayoutAsync:true, mSyncSeqId:0
W/VRI[MainActivity](26748): updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2376), lastSurfaceSize:Point(1080, 2376), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@a763f7e
D/Codec2Client(26748): GraphicBufferAllocator created
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/app (26748): PlayerBase::stop() from IPlayer
D/AudioTrack(26748): [oplusAudioFade]stop mState STATE_ACTIVE, mIsTrackSupportFade 1
D/AudioTrack(26748): stop(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): stop(4327): called with 1024 frames delivered
I/AudioTrack(26748): stop(4327): 0xb40000716ffb9c00 stop done
D/AudioTrack(26748): start(4327): prior state:STATE_STOPPED output 37 stream 3 session 35065
D/GraphicsTracker(26748): new surface in configuration: maxDequeueRequested(0), maxDequeueCommitted(3)
D/GraphicsTracker(26748): new surface configured with id:114881785233533 gen:27389977 maxDequeue:3
D/GraphicsTracker(26748): maxDequeueCount committed to IGBP: 11
D/GraphicsTracker(26748): Cache size 0 -> 0: maybe_cleared(0), dequeued(0)
D/GraphicsTracker(26748): maxDqueueCount change 3 -> 11: pending: 0
W/app (26748): AIBinder_linkToDeath is being called with a non-null cookie and no onUnlink callback set. This might not be intended. AIBinder_DeathRecipient_setOnUnlinked should be called first.
I/CCodecConfig(26748): query failed after returning 18 values (BAD_INDEX)
D/CCodecBuffers(26748): [c2.qti.hevc.decoder#905:1D-Input.Impl[N]] converted 10 buffers to array mode of 10
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
I/PlatformViewsController(26748): Hosting view in view hierarchy for platform view: 30
I/PlatformViewsController(26748): PlatformView is using SurfaceProducer backend
D/BufferQueueConsumer(26748): [](id:687c0000007f,api:0,p:-1,c:26748) connect: controlledByApp=true
D/skia (26748): setRusSupported enable 0
D/BufferQueueProducer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:1,p:26748,c:26748) connect: api=1 producerControlledByApp=true
D/HWUI (26748): RenderProxy::destroy: this=0xb40000716ffdc700, mContext=0xb4000071624f0140
D/HWUI (26748): SkiaVulkanPipeline::setSurface: this=0xb40000713010ba40, surface=NULL
D/BufferQueueProducer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:1,p:26748,c:26748) disconnect: api 1
D/BufferQueueConsumer(26748): [ImageReader-1x1f22m6-26748-56](id:687c0000007f,api:0,p:-1,c:26748) disconnect
I/SurfaceControl(26748): setExtendedRangeBrightness sc=Surface(name=app/app.MainActivity)/@0xe4fdd9,currentBufferRatio=1.0,desiredRatio=1.0
D/AudioTrack(26748): flush+ mIsStopFlush 0, mIsTrackSupportFade 1, mTrackFadeSupportType 0 , mShareBuffer != 0 ? 0, mState 0
D/AudioTrack(26748): flush(4327): prior state:STATE_ACTIVE
D/AudioTrack(26748): flush+ mIsStopFlush 0, mIsTrackSupportFade 1, mTrackFadeSupportType 0 , mShareBuffer != 0 ? 0, mState 0
D/AudioTrack(26748): flush(4327): prior state:STATE_ACTIVE
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
W/libOpenSLES(26748): Leaving BufferQueue::Enqueue (SL_RESULT_BUFFER_INSUFFICIENT)
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/app (26748): PlayerBase::pause() from IPlayer
D/AudioTrack(26748): pause(4327): prior state:STATE_ACTIVE output 37 stream 3 session 35065
D/AudioTrack(26748): start(4327): prior state:STATE_PAUSED output 37 stream 3 session 35065
D/MediaRouter(26748): onRestoreRoute() : route=RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter(26748): Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
E/MediaCodec(26748): signalEndOfInputStream() called without an input surface set
D/SurfaceUtils(26748): disconnecting from surface 0xb400007279556010, reason disconnectFromSurface
D/BufferQueueProducer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:3,p:26748,c:26748) disconnect: api 3
D/AtlasEventUploadUtils(26748): setEvent event:atlas_event_video_monitor_network_switch
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-24](id:687c0000007d,api:0,p:-1,c:26748) disconnect
D/BufferQueueConsumer(26748): [](id:687c00000080,api:0,p:-1,c:26748) connect: controlledByApp=true
D/BufferQueueConsumer(26748): [ImageReader-16x16f22u256m5-26748-25](id:687c00000080,api:0,p:-1,c:26748) disconnect
D/BufferQueueConsumer(26748): [](id:687c00000081,api:0,p:-1,c:26748) connect: controlledByApp=true
F/libc (26748): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 7189 (Thread-57), pid 26748 (app)
Process name is app, uid is 10528, not key_process
keyProcess: 0
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AXXX.X4X61x.00x/X.X4T1.2345678_12387_654321:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2025-07-22 20:42:02.981355326+0200
Process uptime: 341s
Cmdline: app
pid: 26748, tid: 7189, name: Thread-57 >>> app <<<
uid: 10528
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000008
Cause: null pointer dereference
x0 0000000000000000 x1 000000712e7c5f48 x2 000000712e7c5f48 x3 0044000000000000
x4 0000000000800000 x5 3661726726000000 x6 0000802667726136 x7 4400756171657701
x8 000000000000002c x9 00000000000000a4 x10 0000000004aad88c x11 0101010101010101
x12 0000000000000067 x13 0000000000000005 x14 000000728b7689a4 x15 b40000729356cc80
x16 0000000000000001 x17 000000734496fecc x18 0000006fa61b4000 x19 000000716d20ade0
x20 b40000711cc8bc40 x21 0000000000000001 x22 0000000000003dae x23 0000000000000003
x24 b40000716fa8ca80 x25 000000712d1f7000 x26 b40000716fd8d700 x27 000000712d1f7420
x28 000000716d20ba80 x29 000000716d20ae00
lr 000000712d1ade00 sp 000000716d20ad60 pc 000000712d1ade10 pst 0000000080001000
6 total frames
backtrace:
#00 pc 000000000019ce10 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
#01 pc 000000000019fbf0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
#02 pc 00000000000d6680 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
#03 pc 00000000000d33c0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
#04 pc 00000000000a7708 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
#05 pc 0000000000099804 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
Lost connection to device.
I need your libmdk.so and libmdk.so.dsym, it can be found in pub cache dir, for example on macOS it's ~/.pub-cache/hosted/pub.dev/fvp-$version/android/mdk-sdk/lib/arm64-v8a
@wang-bin do you manage to see something of use in this backtrace?
********** Crash dump: **********
Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AXXX.X4X61x.00x/X.X4T1.2345678_12387_654321:user/release-keys'
#00 0x000000000019ce10 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
mdk::abi::VideoDecoderAVCodec::prepareHWAccel(AVCodecContext*)
/home/runner/work/mdk-sdk/mdk-sdk/mdk/ffmpeg/plugin/VideoDecoderAVCodec.cpp:675:87
#01 0x000000000019fbf0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
mdk::abi::VideoDecoderFFmpegBase::open()
/home/runner/work/mdk-sdk/mdk-sdk/mdk/ffmpeg/plugin/VideoDecoderFFmpegBase.cpp:57:19
#02 0x00000000000d6680 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
mdk::abi::MediaTypeTrait<(mdk::abi::MediaType)0>::Decoder::Ptr mdk::abi::FrameReaderImpl::decoderOpen<(mdk::abi::MediaType)0>(int, char const*)
/home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2194:19
bool mdk::abi::FrameReaderImpl::decodeLoop<(mdk::abi::MediaType)0>(int, int)
/home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2392:16
#03 0x00000000000d33c0 /data/app/~~ODNjkltQiV_vXRKakRXTgQ==/app-HW8nm7yofDQ3JRb2Lr_INw==/base.apk!libmdk.so (offset 0x4c78000) (BuildId: 740b3ac2670472b8499e7b7a50a3810866662291)
mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0::operator()() const
/home/runner/work/mdk-sdk/mdk-sdk/mdk/core/FrameReader.cpp:2749:28
decltype(std::declval<mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>()()) std::__ndk1::__invoke[abi:nn190000]<mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>(mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0&&)
/usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__type_traits/invoke.h:150:25
void std::__ndk1::__thread_execute[abi:nn190000]<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>(std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>&, std::__ndk1::__tuple_indices<...>)
/usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__thread/thread.h:193:3
void* std::__ndk1::__thread_proxy[abi:nn190000]<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct>>, mdk::abi::FrameReaderImpl::startDecodeThread(mdk::abi::FrameReaderImpl::DecLoopState&, mdk::abi::MediaType, int)::$_0>>(void*)
/usr/local/lib/android/sdk/ndk/28.2.13676358/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/__thread/thread.h:202:3
#04 0x00000000000a7708 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
#05 0x0000000000099804 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 35236aca851b4e8d03d6c80b3efe84da)
Crash dump is completed
What's you parameters for registerWith(). Can you also show me the log following the steps from issue template? I can fix this crash, but i can't imagine why it happens.
@wang-bin here are the options used:
fvp.registerWith(options: { 'video.decoders': [ // PLATFORM-RECOMMENDED if (Platform.isMacOS || Platform.isIOS) 'videotoolbox', if (Platform.isWindows) 'MFT', if (Platform.isAndroid) 'AMediaCodec', if (Platform.isLinux) 'VAAPI', // PLATFORM-RECOMMENDED NOT-PRIORITY if (!(Platform.isMacOS || Platform.isIOS)) 'videotoolbox', if (!Platform.isWindows) 'MFT', if (!Platform.isAndroid) 'AMediaCodec', if (!Platform.isLinux) 'VAAPI', 'VT', 'D3D11', 'NVDEC', 'FFmpeg', ] });
Can you explain what you mean "the log following the steps from issue template"?
@wang-bin is there anything else you need to figure this one out?
i need the log i mentioned above
@wang-bin which exact log are you referring to? Once I know I'll get it for you quickly.
issue template tells you how to enable log
The crash doesn't happen immediately, usually it takes a stop/start or two of the video for it to happen.
I hope this log has what you need for this. Let me know if there's anything else I can get you.
no backtrace in the log
Does this backtrace help you? I only see this if I do logcat
09-18 16:42:50.398 23692 23692 F DEBUG : Process name is app, uid is 10531, not key_process
09-18 16:42:50.398 23692 23692 F DEBUG : keyProcess: 0
09-18 16:42:50.398 23692 23692 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-18 16:42:50.398 23692 23692 F DEBUG : Build fingerprint: 'OnePlus/CPH2653EEA/OP5D55L1:15/AP1A.489911.001/V.R5T5.39acc26-fee5f1-211b4b:user/release-keys'
09-18 16:42:50.398 23692 23692 F DEBUG : Revision: '0'
09-18 16:42:50.398 23692 23692 F DEBUG : ABI: 'arm64'
09-18 16:42:50.398 23692 23692 F DEBUG : Timestamp: 2025-09-18 16:42:50.048357925+0200
09-18 16:42:50.398 23692 23692 F DEBUG : Process uptime: 215s
09-18 16:42:50.398 23692 23692 F DEBUG : Cmdline: app
09-18 16:42:50.398 23692 23692 F DEBUG : pid: 16912, tid: 23609, name: Thread-11 >>> app <<<
09-18 16:42:50.398 23692 23692 F DEBUG : uid: 10531
09-18 16:42:50.398 23692 23692 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
09-18 16:42:50.398 23692 23692 F DEBUG : pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
09-18 16:42:50.398 23692 23692 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000008
09-18 16:42:50.398 23692 23692 F DEBUG : Cause: null pointer dereference
09-18 16:42:50.398 23692 23692 F DEBUG : x0 0000000000000000 x1 0000007c26199f48 x2 0000007c26199f48 x3 0044334431320000
09-18 16:42:50.398 23692 23692 F DEBUG : x4 0080000000000080 x5 0450365426000000 x6 0000802654365004 x7 6800323144334400
09-18 16:42:50.398 23692 23692 F DEBUG : x8 000000000000002c x9 00000000000000a4 x10 00000000042e78d6 x11 0101010101010101
09-18 16:42:50.398 23692 23692 F DEBUG : x12 0000000000000067 x13 0000000000000005 x14 0000000000000000 x15 0000000000000e00
09-18 16:42:50.398 23692 23692 F DEBUG : x16 0000000000000001 x17 0000007e0432910c x18 0000007af27ac000 x19 0000007c0bf07de0
09-18 16:42:50.398 23692 23692 F DEBUG : x20 b400007aac2db0e0 x21 0000000000000001 x22 0000000000004842 x23 0000000000000003
09-18 16:42:50.398 23692 23692 F DEBUG : x24 b400007abad30c80 x25 0000007c2e1ee000 x26 b400007ab3a8ff80 x27 0000007c2e1ee950
09-18 16:42:50.398 23692 23692 F DEBUG : x28 0000007c0bf08a80 x29 0000007c0bf07e00
09-18 16:42:50.398 23692 23692 F DEBUG : lr 0000007c2e1a5320 sp 0000007c0bf07d60 pc 0000007c2e1a5330 pst 0000000080001000
09-18 16:42:50.398 23692 23692 F DEBUG : 6 total frames
09-18 16:42:50.398 23692 23692 F DEBUG : backtrace:
09-18 16:42:50.398 23692 23692 F DEBUG : #00 pc 000000000019d330 /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG : #01 pc 00000000001a0110 /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG : #02 pc 00000000000d69a0 /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG : #03 pc 00000000000d36e0 /data/app/~~wJsMSBAURtM-j3JAMlv90A==/app--Lr5heoqP7J9so55H6RncA==/split_config.arm64_v8a.apk!libmdk.so (offset 0x269f000) (BuildId: f0ed989b027f9e9c8b94a4c8e1a85468137e3b6c)
09-18 16:42:50.398 23692 23692 F DEBUG : #04 pc 00000000000a7948 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196) (BuildId: c2e16036d5298f25f560d84a471db2cf)
09-18 16:42:50.398 23692 23692 F DEBUG : #05 pc 0000000000099a44 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: c2e16036d5298f25f560d84a471db2cf)
I also need your libmdk.so and libmdk.so.dsym, and the complete log including backtrace. If the stacktrace and registerWith are the same as before(august), the code in backtrace should never be executed. backtrace(august) shows it's using ffmpeg hardware decoder, but it's impossible, and i forget why i said "I can fix this crash".
@wang-bin here are the options used:
fvp.registerWith(options: { 'video.decoders': [ // PLATFORM-RECOMMENDED if (Platform.isMacOS || Platform.isIOS) 'videotoolbox', if (Platform.isWindows) 'MFT', if (Platform.isAndroid) 'AMediaCodec', if (Platform.isLinux) 'VAAPI', // PLATFORM-RECOMMENDED NOT-PRIORITY if (!(Platform.isMacOS || Platform.isIOS)) 'videotoolbox', if (!Platform.isWindows) 'MFT', if (!Platform.isAndroid) 'AMediaCodec', if (!Platform.isLinux) 'VAAPI', 'VT', 'D3D11', 'NVDEC', 'FFmpeg', ] });
Can you explain what you mean "the log following the steps from issue template"?
Why don't you use the default options? some decoders are unusable in your options
If I use the default settings I have videos made with my phone that don't play well, specifically the videos that will sometimes cause a crash on Android with the non-default settings.
What I'm getting with the default settings is weird play of such videos, as in, they video may start black, I hear sound, and only after some time I suddenly see one frame of the video, somewhere within the video, but there is no movement while the sound is playing. If I seek around in the video, it may start playing normally.