jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.68k stars 457 forks source link

Random crashes during playback of UHD h265 Bluray remux film rips with Jellyfin for Android TV v0.15.12 #3145

Closed kura closed 10 months ago

kura commented 10 months ago

Describe the bug

Recently Jellyfin for Android TV has been crashing during playback, but only when watching UHD h265 Bluray rips. I am using Exoplayer as the video playback library and it's DirectStream rather than transcoding, and it only seems to affect my UHD Remux film rips.

When it crashes I am throw back to the Jellyfin home screen, if I start playback again it'll go back 30-60 seconds in to the film and then crash as soon as it gets to the same point it crashed previously.

If I press skip a couple of times I am able to fast forward past the crash point and continue watching the film, although it will crash again later and follow the same cycle.

It does not appear to be doing this when using the libvlc backend and this is a very recent problem, it has not started until recently. I'm not sure if it's a version thing, because my Shield TV auto-updates app and v0.15.12 was released a while ago and was likely auto-updated by my Shield TV within a day of being released.

My 1080p h264 rips all seem fine, remux or otherwise. The only h265 content I have is remuxed from bluray discs rather than transcoded so I'm not sure if actually encoding them at a lower bitrate/quality would fix this playback issue.

Also worth noting that if I switch to the Jellyfin app for my LG TV these very same rips work without any issues.

Logs


client: Jellyfin for Android TV client_version: 0.15.12 client_repository: https://github.com/jellyfin/jellyfin-androidtv type: crash_report format: markdown

Logs

Stack Trace:

java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3432)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3596)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7668)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.lang.NullPointerException
    at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
    at org.jellyfin.androidtv.ui.browsing.BrowseViewFragment.setupQueries(BrowseViewFragment.java:66)
    at org.jellyfin.androidtv.ui.browsing.EnhancedBrowseFragment.onCreate(EnhancedBrowseFragment.java:113)
    at androidx.fragment.app.Fragment.performCreate(Fragment.java:3090)
    at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257)
    at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:121)
    at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1433)
    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2977)
    at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2884)
    at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
    at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:220)
    at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:40)
    at android.app.Activity.performCreate(Activity.java:8000)
    at android.app.Activity.performCreate(Activity.java:7984)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3405)
    ... 11 more

Logcat:

10-26 21:48:52.546 D/ACRA    (19648): Loaded Collector of type org.acra.collector.SharedPreferencesCollector
10-26 21:48:52.546 D/ACRA    (19648): Loaded Collector of type org.acra.collector.SimpleValuesCollector
10-26 21:48:52.546 D/ACRA    (19648): Loaded Collector of type org.acra.collector.StacktraceCollector
10-26 21:48:52.546 D/ACRA    (19648): Loaded Collector of type org.acra.collector.ThreadCollector
10-26 21:48:52.577 D/ACRA    (19648): Loaded Collector of type org.acra.collector.TimeCollector
10-26 21:48:52.583 D/ACRA    (19648): SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@efd7c36
10-26 21:48:52.583 D/ACRA    (19648): ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.scheduler.SenderSchedulerFactory]
10-26 21:48:52.583 D/ACRA    (19648): SimplePluginLoader loading services from plugin classes : [Ljava.lang.Class;@efd7c36
10-26 21:48:52.583 D/ACRA    (19648): ServicePluginLoader loading services from ServiceLoader : java.util.ServiceLoader[org.acra.config.ReportingAdministrator]
10-26 21:48:52.622 I/LogInitializer(19648): Debug tree planted
10-26 21:48:52.664 I/MigrationContext(19648): Requested migration from 2 to 2. Found 1 migrations in total.
10-26 21:48:52.702 W/lyfin.androidt(19648): Accessing hidden field Ljava/util/Collections$SynchronizedCollection;->mutex:Ljava/lang/Object; (greylist-max-o, reflection, denied)
10-26 21:48:52.702 W/lyfin.androidt(19648): Accessing hidden method Ljava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
10-26 21:48:52.702 W/lyfin.androidt(19648): Accessing hidden method Ljava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V (greylist-max-o, reflection, denied)
10-26 21:48:52.706 I/SessionRepositoryImpl(19648): Restoring session
10-26 21:48:52.717 I/org.jellyfin.sdk.api.client.KtorClient(19648): GET http://jellyfin.home.arpa/Branding/Configuration
10-26 21:48:52.722 D/WM-WrkMgrInitializer(19648): Initializing WorkManager with default configuration.
10-26 21:48:52.731 I/TetheringManager(19648): registerTetheringEventCallback:org.jellyfin.androidtv
10-26 21:48:52.733 I/ProcessLifecycleInitializer$create(19648): Registering 0 ActivityLifecycleCallbacks
10-26 21:48:52.735 D/ACRA    (19648): ACRA processName='org.jellyfin.androidtv'
10-26 21:48:52.751 I/MigrationContext(19648): Requested migration from 6 to 6. Found 3 migrations in total.
10-26 21:48:52.751 I/ActivityThemeExtensionsKt(19648): Applying theme DARK
10-26 21:48:52.758 D/ACRA    (19648): onActivityCreated class org.jellyfin.androidtv.ui.browsing.MainActivity
10-26 21:48:52.781 D/AndroidRuntime(19648): Shutting down VM
10-26 21:48:52.781 E/AndroidRuntime(19648): FATAL EXCEPTION: main
10-26 21:48:52.781 E/AndroidRuntime(19648): Process: org.jellyfin.androidtv, PID: 19648
10-26 21:48:52.781 E/AndroidRuntime(19648): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3432)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3596)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.os.Handler.dispatchMessage(Handler.java:106)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.os.Looper.loop(Looper.java:223)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.ActivityThread.main(ActivityThread.java:7668)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at java.lang.reflect.Method.invoke(Native Method)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
10-26 21:48:52.781 E/AndroidRuntime(19648): Caused by: java.lang.NullPointerException
10-26 21:48:52.781 E/AndroidRuntime(19648):     at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at org.jellyfin.androidtv.ui.browsing.BrowseViewFragment.setupQueries(BrowseViewFragment.java:66)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at org.jellyfin.androidtv.ui.browsing.EnhancedBrowseFragment.onCreate(EnhancedBrowseFragment.java:113)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.Fragment.performCreate(Fragment.java:3090)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:121)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1433)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2977)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2884)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:220)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:40)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.Activity.performCreate(Activity.java:8000)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.Activity.performCreate(Activity.java:7984)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
10-26 21:48:52.781 E/AndroidRuntime(19648):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3405)
10-26 21:48:52.781 E/AndroidRuntime(19648):     ... 11 more
10-26 21:48:52.781 E/ACRA    (19648): ACRA caught a RuntimeException for org.jellyfin.androidtv
10-26 21:48:52.781 E/ACRA    (19648): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jellyfin.androidtv/org.jellyfin.androidtv.ui.browsing.MainActivity}: java.lang.NullPointerException
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3432)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3596)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
10-26 21:48:52.781 E/ACRA    (19648):   at android.os.Handler.dispatchMessage(Handler.java:106)
10-26 21:48:52.781 E/ACRA    (19648):   at android.os.Looper.loop(Looper.java:223)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.ActivityThread.main(ActivityThread.java:7668)
10-26 21:48:52.781 E/ACRA    (19648):   at java.lang.reflect.Method.invoke(Native Method)
10-26 21:48:52.781 E/ACRA    (19648):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
10-26 21:48:52.781 E/ACRA    (19648):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
10-26 21:48:52.781 E/ACRA    (19648): Caused by: java.lang.NullPointerException
10-26 21:48:52.781 E/ACRA    (19648):   at org.jellyfin.androidtv.data.querying.StdItemQuery.<init>(StdItemQuery.kt:23)
10-26 21:48:52.781 E/ACRA    (19648):   at org.jellyfin.androidtv.ui.browsing.BrowseViewFragment.setupQueries(BrowseViewFragment.java:66)
10-26 21:48:52.781 E/ACRA    (19648):   at org.jellyfin.androidtv.ui.browsing.EnhancedBrowseFragment.onCreate(EnhancedBrowseFragment.java:113)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.Fragment.performCreate(Fragment.java:3090)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:121)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1433)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2977)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2884)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252)
10-26 21:48:52.781 E/ACRA    (19648):   at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:220)
10-26 21:48:52.781 E/ACRA    (19648):   at org.jellyfin.androidtv.ui.browsing.MainActivity.onCreate(MainActivity.kt:40)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.Activity.performCreate(Activity.java:8000)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.Activity.performCreate(Activity.java:7984)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
10-26 21:48:52.781 E/ACRA    (19648):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3405)
10-26 21:48:52.781 E/ACRA    (19648):   ... 11 more
10-26 21:48:52.782 D/ACRA    (19648): Building report
10-26 21:48:52.782 D/ACRA    (19648): Starting collectors with priority FIRST
10-26 21:48:52.783 D/ACRA    (19648): Calling collector org.acra.collector.LogCatCollector
10-26 21:48:52.785 D/ACRA    (19648): Calling collector org.acra.collector.DropBoxCollector
10-26 21:48:52.785 D/ACRA    (19648): Collector org.acra.collector.DropBoxCollector completed
10-26 21:48:52.790 D/ACRA    (19648): Calling collector org.acra.collector.StacktraceCollector
10-26 21:48:52.790 D/ACRA    (19648): Collector org.acra.collector.StacktraceCollector completed
10-26 21:48:52.807 D/ACRA    (19648): Retrieving logcat output (buffer:default)...

App information

App version: 0.15.12 (151299)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"sif","BOOTLOADER":"32.00.2019.50-t210-69ebfcbe","BRAND":"NVIDIA","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"sif","DISPLAY":"RQ1A.210105.003.7825199_3167.5736","FINGERPRINT":"NVIDIA\/sif\/sif:11\/RQ1A.210105.003\/7825199_3167.5736:user\/release-keys","HARDWARE":"sif","HOST":"mobile-u64-5306-d6000","ID":"RQ1A.210105.003","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"NVIDIA","MODEL":"SHIELD Android TV","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"sif","RADIO":"unknown","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1665975946000,"TYPE":"user","UNKNOWN":"unknown","USER":"NVIDIA","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"7825199_3167.5736","PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"11","RELEASE_OR_CODENAME":"11","SDK":"30","SDK_INT":30,"SECURITY_PATCH":"2022-04-05"}}

Build config:

{"APPLICATION_ID":"org.jellyfin.androidtv","BUILD_TYPE":"release","DEBUG":false,"DEVELOPMENT":false,"VERSION_CODE":151299,"VERSION_NAME":"0.15.12"}

Device information

Android version: 11
Device brand: NVIDIA
Device product: sif
Device model: SHIELD Android TV

Crash information

Start time: 2023-10-26T21:48:52.583+01:00
Crash time: 2023-10-26T21:48:52.851+01:00

FFmpeg logs

No response

Media info of the file

ffprobe version 5.1.3-Jellyfin Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
[matroska,webm @ 0x560f0fe2c9c0] Could not find codec parameters for stream 3 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[matroska,webm @ 0x560f0fe2c9c0] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[matroska,webm @ 0x560f0fe2c9c0] Could not find codec parameters for stream 5 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, matroska,webm, from './Dungeons & Dragons - Honor Among Thieves (2023) - Remux-2160p HEVC 10bit HDR - 7.1 TrueHD Atmos.mkv':
  Metadata:
    encoder         : libebml v1.4.4 + libmatroska v1.7.1
    creation_time   : 2023-10-01T21:54:32.000000Z
    IMDB            : tt2906216
    TMDB            : movie/493529
  Duration: 02:14:08.13, start: 0.000000, bitrate: 71659 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 475.475000
      Metadata:
        title           : Chapter 01
    Chapter #0:1: start 475.475000, end 888.387000
      Metadata:
        title           : Chapter 02
    Chapter #0:2: start 888.387000, end 1608.565000
      Metadata:
        title           : Chapter 03
    Chapter #0:3: start 1608.565000, end 2034.366000
      Metadata:
        title           : Chapter 04
    Chapter #0:4: start 2034.366000, end 2534.365000
      Metadata:
        title           : Chapter 05
    Chapter #0:5: start 2534.365000, end 2959.665000
      Metadata:
        title           : Chapter 06
    Chapter #0:6: start 2959.665000, end 3453.408000
      Metadata:
        title           : Chapter 07
    Chapter #0:7: start 3453.408000, end 3910.198000
      Metadata:
        title           : Chapter 08
    Chapter #0:8: start 3910.198000, end 4623.244000
      Metadata:
        title           : Chapter 09
    Chapter #0:9: start 4623.244000, end 5201.071000
      Metadata:
        title           : Chapter 10
    Chapter #0:10: start 5201.071000, end 5531.109000
      Metadata:
        title           : Chapter 11
    Chapter #0:11: start 5531.109000, end 6015.676000
      Metadata:
        title           : Chapter 12
    Chapter #0:12: start 6015.676000, end 6464.541000
      Metadata:
        title           : Chapter 13
    Chapter #0:13: start 6464.541000, end 6810.137000
      Metadata:
        title           : Chapter 14
    Chapter #0:14: start 6810.137000, end 7537.071000
      Metadata:
        title           : Chapter 15
    Chapter #0:15: start 7537.071000, end 8048.128000
      Metadata:
        title           : Chapter 16
  Stream #0:0(zxx): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      title           : MPEG-H HEVC Video / 4002 + 62552 kbps / 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / Dolby Vision + HDR10 / BT.2020
      BPS             : 66561871
      DURATION        : 02:14:08.124000000
      NUMBER_OF_FRAMES: 192962
      NUMBER_OF_BYTES : 66962274489
      SOURCE_ID       : 001011
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Side data:
      DOVI configuration record: version: 1.0, profile: 7, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 6
  Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit) (default)
    Metadata:
      title           : 7.1
      BPS             : 4347023
      DURATION        : 02:14:08.124000000
      NUMBER_OF_FRAMES: 9657748
      NUMBER_OF_BYTES : 4373172786
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      title           : 5.1
      BPS             : 640000
      DURATION        : 02:14:08.128000000
      NUMBER_OF_FRAMES: 251504
      NUMBER_OF_BYTES : 643850240
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle (default) (forced)
    Metadata:
      title           : Forced
      BPS             : 596
      DURATION        : 00:35:25.400000000
      NUMBER_OF_FRAMES: 26
      NUMBER_OF_BYTES : 158409
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:4(eng): Subtitle: hdmv_pgs_subtitle
    Metadata:
      BPS             : 39903
      DURATION        : 02:06:52.605000000
      NUMBER_OF_FRAMES: 3178
      NUMBER_OF_BYTES : 37971399
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:5(eng): Subtitle: hdmv_pgs_subtitle
    Metadata:
      title           : SDH
      BPS             : 45433
      DURATION        : 02:07:46.701000000
      NUMBER_OF_FRAMES: 3854
      NUMBER_OF_BYTES : 43540978
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-10-01 21:54:32
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Application version

0.15.12

Device information

Nvidia Shield TV 2019

Android version

Android 9

Jellyfin server version

10.8.11

nielsvanvelzen commented 10 months ago

You have shared the wrong crash logs, the logs indicate a crash while browsing and not while playing a video.

kura commented 10 months ago

If that is the case then these playback crashes do not produce a log file... That is the only crash log on my server despite multiple crashes during playback. 😓

This crash is different to when I've had the app crash other times. It doesn't say a crash happened like other crashes, and it doesn't crash back to Android. It just immediately ends playback and goes back to Jellyfin home screen. Even if I had started playback on the media page of the item, it always dumps me back to the Jellyfin home screen with no error messages or anything.

I am certain it's not a content issue too. Not only did this not previously happen, I have experienced it with multiple different media files the last week or so, including files that were previously error-free, and it works without any issue on the LG webOS version.

kura commented 10 months ago

Bit of an update: I decided to side load 0.16.0-beta5 as bit of a test to see what was new and also if somehow it fixed my issues when using the Exoplayer backend.

I'm an hour in to a UHD h265 BD remux and so far no playback crashing back to home screen.

I know there was a big rewrite of playback for audio files in 0.16, but does any of that effect video playback to have possibly resolved this issue?

Zyrexo commented 10 months ago

I have exactly the same errors. But even with the beta I can not play some files.

The first 30 seconds everything runs normally and then the error message comes several times: Player error occurred, try again. At some point it goes to the title screen with the hint: Too many errors, it gives up.

nielsvanvelzen commented 10 months ago

Even though the old playback code wasn't a big focus there are still some changes in it. There's also other changes that could affect it. So this specific might have been fixed as a side-effect of other changes. I'll close the issue as solved, if the crash pops up again you can create a new one!

I have exactly the same errors. But even with the beta I can not play some files.

The first 30 seconds everything runs normally and then the error message comes several times: Player error occurred, try again. At some point it goes to the title screen with the hint: Too many errors, it gives up.

This is a different issue, it doesn't crash it just gives up because the client cannot find a way to play your media. This is most often caused by lack of transcoding/remux permissions for the user.

Zyrexo commented 10 months ago

This is a different issue, it doesn't crash it just gives up because the client cannot find a way to play your media. This is most often caused by lack of transcoding/remux permissions for the user.

With the error I described, the files were streamed directly without transcoding. If transcoding was on, the file could be played.

The error does not occur with all files. Only with a handful.