Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App refuses to play one specific movie and crashes when trying to skip forward #4344

Closed
guiweber opened this issue Dec 26, 2024 · 7 comments · Fixed by #4377
Closed

App refuses to play one specific movie and crashes when trying to skip forward #4344

guiweber opened this issue Dec 26, 2024 · 7 comments · Fixed by #4377
Labels
bug Something isn't working

Comments

@guiweber
Copy link
Contributor

Describe the bug

This issue is specific to a specific movie title (Inside Out 2). Any video file identified as that movie causes the issue. The actual Inside Out 2 video file identified as another title plays just fine.
The issue could not be reproduced with the desktop version or the "regular" android version of Jellyfin.

When attempting to play the movie, a black screen is shown until the user interacts with the app. From that point, the app will crash if the user tries to skip forward. Clicking on the subtitles button shows "Unable to obtain subtitle info".

The only way to start the movie is to click on the quality settings button and then click on any bitrate (clicking on the already selected bitrate works). This might allow the movie to play, at least for a while, but may result in "Player error" messages and another black screen being shown.

Steps to reproduce:

  1. Have a movie library with a video file identified as Inside Out 2 by the server
  2. Launch the movie from Jellyfin on the Android TV
  3. Notice the screen stays black and that the movie doesn't play (no progress, no sound)
  4. The app will crash by trying to skip forward using the playback timeline

Logs


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

Logs

Stack Trace:

java.lang.NullPointerException: Parameter specified as non-null is null: method org.jellyfin.androidtv.util.apiclient.ReportingHelper.reportProgress, parameter streamInfo
	at org.jellyfin.androidtv.util.apiclient.ReportingHelper.reportProgress(Unknown Source:18)
	at org.jellyfin.androidtv.ui.playback.PlaybackController.startPauseReportLoop(PlaybackController.java:1026)
	at org.jellyfin.androidtv.ui.playback.PlaybackController.pause(PlaybackController.java:759)
	at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.pause(VideoPlayerAdapter.java:35)
	at androidx.leanback.media.PlaybackBaseControlGlue.pause(PlaybackBaseControlGlue.java:394)
	at androidx.leanback.media.PlaybackTransportControlGlue$SeekUiClient.onSeekStarted(PlaybackTransportControlGlue.java:353)
	at androidx.leanback.app.PlaybackSupportFragment$11.onSeekStarted(PlaybackSupportFragment.java:1136)
	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.startSeek(PlaybackTransportRowPresenter.java:371)
	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.onForward(PlaybackTransportRowPresenter.java:245)
	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder$4.onKey(PlaybackTransportRowPresenter.java:299)
	at android.view.View.dispatchKeyEvent(View.java:14474)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:490)
	at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1880)
	at android.app.Activity.dispatchKeyEvent(Activity.java:4156)
	at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.kt:103)
	at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
	at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.kt:117)
	at org.jellyfin.androidtv.ui.browsing.MainActivity.dispatchKeyEvent(MainActivity.kt:176)
	at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:404)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6278)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6144)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5814)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:335)
	at android.os.Looper.loopOnce(Looper.java:161)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7839)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Logcat:

12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.os.MessageQueue.nativePollOnce(Native Method)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.os.MessageQueue.next(MessageQueue.java:335)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.os.Looper.loopOnce(Looper.java:161)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.os.Looper.loop(Looper.java:288)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at android.app.ActivityThread.main(ActivityThread.java:7839)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at java.lang.reflect.Method.invoke(Native Method)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
12-26 17:25:23.588 E/AndroidRuntime(15634): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
12-26 17:25:23.588 E/ACRA    (15634): ACRA caught a NullPointerException for org.jellyfin.androidtv
12-26 17:25:23.588 E/ACRA    (15634): java.lang.NullPointerException: Parameter specified as non-null is null: method org.jellyfin.androidtv.util.apiclient.ReportingHelper.reportProgress, parameter streamInfo
12-26 17:25:23.588 E/ACRA    (15634): 	at org.jellyfin.androidtv.util.apiclient.ReportingHelper.reportProgress(Unknown Source:18)
12-26 17:25:23.588 E/ACRA    (15634): 	at org.jellyfin.androidtv.ui.playback.PlaybackController.startPauseReportLoop(PlaybackController.java:1026)
12-26 17:25:23.588 E/ACRA    (15634): 	at org.jellyfin.androidtv.ui.playback.PlaybackController.pause(PlaybackController.java:759)
12-26 17:25:23.588 E/ACRA    (15634): 	at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.pause(VideoPlayerAdapter.java:35)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.media.PlaybackBaseControlGlue.pause(PlaybackBaseControlGlue.java:394)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.media.PlaybackTransportControlGlue$SeekUiClient.onSeekStarted(PlaybackTransportControlGlue.java:353)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.app.PlaybackSupportFragment$11.onSeekStarted(PlaybackSupportFragment.java:1136)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.startSeek(PlaybackTransportRowPresenter.java:371)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.onForward(PlaybackTransportRowPresenter.java:245)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder$4.onKey(PlaybackTransportRowPresenter.java:299)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.View.dispatchKeyEvent(View.java:14474)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
12-26 17:25:23.588 E/ACRA    (15634): 	at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:490)
12-26 17:25:23.588 E/ACRA    (15634): 	at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1880)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.app.Activity.dispatchKeyEvent(Activity.java:4156)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.kt:103)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
12-26 17:25:23.588 E/ACRA    (15634): 	at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.kt:117)
12-26 17:25:23.588 E/ACRA    (15634): 	at org.jellyfin.androidtv.ui.browsing.MainActivity.dispatchKeyEvent(MainActivity.kt:176)
12-26 17:25:23.588 E/ACRA    (15634): 	at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:404)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6278)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6144)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5814)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.os.MessageQueue.nativePollOnce(Native Method)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.os.MessageQueue.next(MessageQueue.java:335)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.os.Looper.loopOnce(Looper.java:161)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.os.Looper.loop(Looper.java:288)
12-26 17:25:23.588 E/ACRA    (15634): 	at android.app.ActivityThread.main(ActivityThread.java:7839)
12-26 17:25:23.588 E/ACRA    (15634): 	at java.lang.reflect.Method.invoke(Native Method)
12-26 17:25:23.588 E/ACRA    (15634): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
12-26 17:25:23.588 E/ACRA    (15634): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
12-26 17:25:23.589 D/ACRA    (15634): Building report
12-26 17:25:23.589 D/ACRA    (15634): Starting collectors with priority FIRST
12-26 17:25:23.590 D/ACRA    (15634): Calling collector org.acra.collector.LogCatCollector
12-26 17:25:23.590 D/ACRA    (15634): Calling collector org.acra.collector.DropBoxCollector
12-26 17:25:23.590 D/ACRA    (15634): Calling collector org.acra.collector.StacktraceCollector
12-26 17:25:23.590 D/ACRA    (15634): Collector org.acra.collector.DropBoxCollector completed
12-26 17:25:23.591 D/ACRA    (15634): Collector org.acra.collector.StacktraceCollector completed
12-26 17:25:23.595 D/ACRA    (15634): Retrieving logcat output (buffer:default)...

App information

App version: 0.18.2 (180299)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"PH1M_WW_9972","BOOTLOADER":"01.01.241206","BRAND":"Philips","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"PH1M_WW_9972","DISPLAY":"STT2.230831.001","FINGERPRINT":"Philips\/PH1M_WW_9972_21\/PH1M_WW_9972:12\/STT2.230831.001\/20775:user\/release-keys","HARDWARE":"mt5896","HOST":"TWTPSA398-ub1804-aow","ID":"STT2.230831.001","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"TPV","MODEL":"Philips Google TV TA2","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"PH1M_WW_9972_21","RADIO":"unknown","SKU":"unknown","SOC_MANUFACTURER":"Mediatek","SOC_MODEL":"t50","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1733458668000,"TYPE":"user","UNKNOWN":"unknown","USER":"jenkins","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"20775","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-10-05"}}

Build config:

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

Device information

Android version: 12
Device brand: Philips
Device product: PH1M_WW_9972_21
Device model: Philips Google TV TA2

Crash information

Start time: 2024-12-26T17:12:45.231+01:00
Crash time: 2024-12-26T17:25:23.912+01:00

Application version

0.18.2

Where did you install the app from?

Google Play

Device information

Phillips Oled 908+

Android version

12

Jellyfin server version

10.10.3

@guiweber guiweber added the bug Something isn't working label Dec 26, 2024
@nielsvanvelzen
Copy link
Member

Most likely duplicate of #4331.

@guiweber
Copy link
Contributor Author

guiweber commented Jan 2, 2025

@nielsvanvelzen The issue is still present on V 0.18.3

@nielsvanvelzen
Copy link
Member

With the exact same crash? So this line:

java.lang.NullPointerException: Parameter specified as non-null is null: method org.jellyfin.androidtv.util.apiclient.ReportingHelper.reportProgress, parameter streamInfo

@guiweber
Copy link
Contributor Author

guiweber commented Jan 2, 2025

Ah, you are right, my bad. I assumed it was the same because it happens in exactly the same way (stream doesn't start unless I manually select a bitrate, and the app crashes if I try to skip forward before the stream starts)

Here is a new crash log:

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

***Stack Trace***: 
```log
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.jellyfin.androidtv.data.compat.StreamInfo.getPlaySessionId()' on a null object reference
	at org.jellyfin.androidtv.ui.playback.PlaybackManager.changeVideoStream(PlaybackManager.java:65)
	at org.jellyfin.androidtv.ui.playback.PlaybackController.seek(PlaybackController.java:912)
	at org.jellyfin.androidtv.ui.playback.PlaybackController.seek(PlaybackController.java:864)
	at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.seekTo(VideoPlayerAdapter.java:52)
	at androidx.leanback.media.PlaybackBaseControlGlue.seekTo(PlaybackBaseControlGlue.java:611)
	at androidx.leanback.media.PlaybackTransportControlGlue$SeekUiClient.onSeekFinished(PlaybackTransportControlGlue.java:372)
	at androidx.leanback.app.PlaybackSupportFragment$11.onSeekFinished(PlaybackSupportFragment.java:1156)
	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.stopSeek(PlaybackTransportRowPresenter.java:396)
	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder$4.onKey(PlaybackTransportRowPresenter.java:308)
	at android.view.View.dispatchKeyEvent(View.java:14474)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
	at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:490)
	at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1880)
	at android.app.Activity.dispatchKeyEvent(Activity.java:4156)
	at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.kt:96)
	at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
	at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.kt:110)
	at org.jellyfin.androidtv.ui.browsing.MainActivity.dispatchKeyEvent(MainActivity.kt:176)
	at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:404)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6278)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6144)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5814)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:335)
	at android.os.Looper.loopOnce(Looper.java:161)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7839)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

Logcat:

01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5814)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.os.MessageQueue.nativePollOnce(Native Method)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.os.MessageQueue.next(MessageQueue.java:335)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.os.Looper.loopOnce(Looper.java:161)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.os.Looper.loop(Looper.java:288)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at android.app.ActivityThread.main(ActivityThread.java:7839)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at java.lang.reflect.Method.invoke(Native Method)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
01-02 14:55:20.408 E/AndroidRuntime(10046): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-02 14:55:20.410 E/ACRA    (10046): ACRA caught a NullPointerException for org.jellyfin.androidtv
01-02 14:55:20.410 E/ACRA    (10046): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.jellyfin.androidtv.data.compat.StreamInfo.getPlaySessionId()' on a null object reference
01-02 14:55:20.410 E/ACRA    (10046): 	at org.jellyfin.androidtv.ui.playback.PlaybackManager.changeVideoStream(PlaybackManager.java:65)
01-02 14:55:20.410 E/ACRA    (10046): 	at org.jellyfin.androidtv.ui.playback.PlaybackController.seek(PlaybackController.java:912)
01-02 14:55:20.410 E/ACRA    (10046): 	at org.jellyfin.androidtv.ui.playback.PlaybackController.seek(PlaybackController.java:864)
01-02 14:55:20.410 E/ACRA    (10046): 	at org.jellyfin.androidtv.ui.playback.overlay.VideoPlayerAdapter.seekTo(VideoPlayerAdapter.java:52)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.media.PlaybackBaseControlGlue.seekTo(PlaybackBaseControlGlue.java:611)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.media.PlaybackTransportControlGlue$SeekUiClient.onSeekFinished(PlaybackTransportControlGlue.java:372)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.app.PlaybackSupportFragment$11.onSeekFinished(PlaybackSupportFragment.java:1156)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder.stopSeek(PlaybackTransportRowPresenter.java:396)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.widget.PlaybackTransportRowPresenter$ViewHolder$4.onKey(PlaybackTransportRowPresenter.java:308)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.View.dispatchKeyEvent(View.java:14474)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.widget.PlaybackTransportRowView.dispatchKeyEvent(PlaybackTransportRowView.java:71)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.leanback.widget.BaseGridView.dispatchKeyEvent(BaseGridView.java:1081)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1964)
01-02 14:55:20.410 E/ACRA    (10046): 	at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:490)
01-02 14:55:20.410 E/ACRA    (10046): 	at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1880)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.app.Activity.dispatchKeyEvent(Activity.java:4156)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.kt:96)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:85)
01-02 14:55:20.410 E/ACRA    (10046): 	at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.kt:110)
01-02 14:55:20.410 E/ACRA    (10046): 	at org.jellyfin.androidtv.ui.browsing.MainActivity.dispatchKeyEvent(MainActivity.kt:176)
01-02 14:55:20.410 E/ACRA    (10046): 	at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:404)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6278)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6144)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5626)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5814)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5871)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5657)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5630)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5683)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5649)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5847)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:6005)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3263)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2827)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2818)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3240)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:154)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.os.MessageQueue.nativePollOnce(Native Method)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.os.MessageQueue.next(MessageQueue.java:335)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.os.Looper.loopOnce(Looper.java:161)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.os.Looper.loop(Looper.java:288)
01-02 14:55:20.410 E/ACRA    (10046): 	at android.app.ActivityThread.main(ActivityThread.java:7839)
01-02 14:55:20.410 E/ACRA    (10046): 	at java.lang.reflect.Method.invoke(Native Method)
01-02 14:55:20.410 E/ACRA    (10046): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:605)
01-02 14:55:20.410 E/ACRA    (10046): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-02 14:55:20.410 D/ACRA    (10046): Building report
01-02 14:55:20.414 D/ACRA    (10046): Starting collectors with priority FIRST
01-02 14:55:20.415 D/ACRA    (10046): Calling collector org.acra.collector.DropBoxCollector
01-02 14:55:20.415 D/ACRA    (10046): Calling collector org.acra.collector.LogCatCollector
01-02 14:55:20.415 D/ACRA    (10046): Calling collector org.acra.collector.StacktraceCollector
01-02 14:55:20.415 D/ACRA    (10046): Collector org.acra.collector.DropBoxCollector completed
01-02 14:55:20.416 D/ACRA    (10046): Collector org.acra.collector.StacktraceCollector completed
01-02 14:55:20.423 D/ACRA    (10046): Retrieving logcat output (buffer:default)...

App information

App version: 0.18.3 (180399)
Package name: org.jellyfin.androidtv
Build:

{"BOARD":"PH1M_WW_9972","BOOTLOADER":"01.01.241206","BRAND":"Philips","CPU_ABI":"armeabi-v7a","CPU_ABI2":"armeabi","DEVICE":"PH1M_WW_9972","DISPLAY":"STT2.230831.001","FINGERPRINT":"Philips\/PH1M_WW_9972_21\/PH1M_WW_9972:12\/STT2.230831.001\/20775:user\/release-keys","HARDWARE":"mt5896","HOST":"TWTPSA398-ub1804-aow","ID":"STT2.230831.001","IS_DEBUGGABLE":false,"IS_EMULATOR":false,"MANUFACTURER":"TPV","MODEL":"Philips Google TV TA2","ODM_SKU":"unknown","PERMISSIONS_REVIEW_REQUIRED":true,"PRODUCT":"PH1M_WW_9972_21","RADIO":"unknown","SKU":"unknown","SOC_MANUFACTURER":"Mediatek","SOC_MODEL":"t50","SUPPORTED_32_BIT_ABIS":["armeabi-v7a","armeabi"],"SUPPORTED_64_BIT_ABIS":[],"SUPPORTED_ABIS":["armeabi-v7a","armeabi"],"TAGS":"release-keys","TIME":1733458668000,"TYPE":"user","UNKNOWN":"unknown","USER":"jenkins","VERSION":{"ACTIVE_CODENAMES":[],"BASE_OS":"","CODENAME":"REL","INCREMENTAL":"20775","MEDIA_PERFORMANCE_CLASS":0,"PREVIEW_SDK_FINGERPRINT":"REL","PREVIEW_SDK_INT":0,"RELEASE":"12","RELEASE_OR_CODENAME":"12","SDK":"31","SDK_INT":31,"SECURITY_PATCH":"2024-10-05"}}

Build config:

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

Device information

Android version: 12
Device brand: Philips
Device product: PH1M_WW_9972_21
Device model: Philips Google TV TA2

Crash information

Start time: 2025-01-02T10:36:40.979+01:00
Crash time: 2025-01-02T14:55:20.882+01:00

@nielsvanvelzen
Copy link
Member

Thanks, I've figured out where it goes wrong. With the next update the app should no longer crash when seeking if the video hasn't loaded yet.

@guiweber
Copy link
Contributor Author

guiweber commented Jan 4, 2025

@nielsvanvelzen Thanks! I think the changes only address the crash though. Should I open another issues for the fact that this specific movie doesn't load at all? (the same video file loads fine if identified as another movie, so it's not an issue with the video file itself)

@nielsvanvelzen
Copy link
Member

Yes for that please open a new issue with the "playback bug report" template which asks for some different information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants