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

Add option to choose the preferred media player in settings #249

Merged
merged 7 commits into from Jan 8, 2020

Conversation

@nielsvanvelzen
Copy link
Member

nielsvanvelzen commented Jan 2, 2020

This PR removes the option "Use External Player for Videos" and replaces it with a new option where the user can choose between the following items:

  • Auto
    The old behavior when not using external player

  • ExoPlayer
    Force ExoPlayer for playback

  • libVLC
    Force libVLC for playback

  • External
    The old behavior when using external player

A new preference config version is introduced to migrate the existing setting to the new one.

This change could help when debugging codecs in various players and gives the user more control over playback.

@nielsvanvelzen

This comment has been minimized.

Copy link
Member Author

nielsvanvelzen commented Jan 2, 2020

I'm not really sure how playback for live tv works and am unable to test it so I did not change those options.

# Conflicts:
#	app/src/main/res/values/strings.xml
# Conflicts:
#	app/src/main/java/org/jellyfin/androidtv/TvApp.java
…to preferences.

Also removes the forced-enabling of VLC in the error handler for requesting stream info
@thornbill

This comment has been minimized.

Copy link
Member

thornbill commented Jan 8, 2020

I noticed some issues when forcing libvlc and the video has to be transcoded:

  • Position reporting not updated
  • Seek bar does not update on skipping

Maybe we should add some form of disclaimer that this option could cause playback issues if set to exoplayer or libvlc.

@nielsvanvelzen

This comment has been minimized.

Copy link
Member Author

nielsvanvelzen commented Jan 8, 2020

So the playback of transcoded video is working but the progress is not updated properly? If that's the only option we should be able to fix that. I'll look into adding a warning when not choosing the auto or external option.

@thornbill

This comment has been minimized.

Copy link
Member

thornbill commented Jan 8, 2020

Right playback is working but when forcing libvlc and it’s transcoding the progress bar does not show the progress and you are unable to resume playback from where you left off. I’m guessing something is up with the progress reporting that is responsible for both of those issues.

@nielsvanvelzen

This comment has been minimized.

Copy link
Member Author

nielsvanvelzen commented Jan 8, 2020

I think we should report the progress reporting from libVLC while transcoding in a separate issue from this one so we can fix it after this PR and the ExoPlayer 2 PR is merged. (to prevent conflicts).

Regarding the warning/disclaimer, it seems like it's not possible to add an additional description to list preferences so the only option would be to show a warning after selecting a preferred player. I don't think we should go that far about warning users. We should instead make sure that no matter what playback backend is used their will be no problems.

The only issues I can think of that could happen are:

  • Wrong implementation in the library (in this case VLC with reporting the current progress) - This should absolutely not happen and needs to be fixed anyway
  • Wrong codec used - Profiles need to be updated so it transcodes

These issues can still happen when the "auto" option is used.

@thornbill thornbill merged commit ba3a95f into jellyfin:master Jan 8, 2020
1 check passed
1 check passed
Jellyfin Android TV CI Build #20200107.5 succeeded
Details
@nielsvanvelzen nielsvanvelzen deleted the nielsvanvelzen:player-preferrence branch Jan 9, 2020
@nielsvanvelzen nielsvanvelzen added this to In progress in v0.11.0 via automation Jan 28, 2020
@nielsvanvelzen nielsvanvelzen moved this from In progress to Done in v0.11.0 Jan 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
v0.11.0
  
Done
3 participants
You can’t perform that action at this time.