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

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
Copy link
Member Author

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
Copy link
Member

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
Copy link
Member Author

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
Copy link
Member

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
Copy link
Member Author

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
@nielsvanvelzen nielsvanvelzen deleted the player-preferrence branch January 9, 2020 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants