Giter Site home page Giter Site logo

jellyfin-archive / jellyfin-android-original Goto Github PK

View Code? Open in Web Editor NEW
274.0 274.0 65.0 91.78 MB

Android Client for Jellyfin

Home Page: https://jellyfin.org

License: GNU General Public License v2.0

JavaScript 10.59% Java 86.58% Dockerfile 1.49% Shell 1.34%

jellyfin-android-original's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jellyfin-android-original's Issues

AC3 audio fails to play back

The app seems to be reporting that it supports AC3 when it doesn't, so direct play of AC3 audio fails. Symptom is no audio playback. Setting a bitrate limit that forces transcoding solves the issue.

Won't play .ogg streams

Hi there.
As asked on the jellyfin-app-dev channel on Matrix, I now open this issue.

The Jellyfin Android app (both old one and the new beta4) does not play .ogg audio files.
If I select an .ogg file to be played I get an error saying:

Playback Error
No compatible streams are currently available. Please try again later or contact your system administrator for details.
 [Got it button]

It plays .flac's just fine. I don't have any .mp3 or other formats to try with. But most of my music collection is in .ogg.
Playing oggs work fine in the old Emby app though.

This is what happens in the log on the server:

[2019-02-11 07:19:33.880 +00:00] [INF] User policy for "Dan". EnableAudioPlaybackTranscoding: True
[2019-02-11 07:19:33.883 +00:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/Musik/Zen In Noise/Stop The Fire/01 - Stop The Fire.ogg"
[2019-02-11 07:19:33.886 +00:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/Musik/Zen In Noise/Stop The Fire/01 - Stop The Fire.ogg"
[2019-02-11 07:19:33.888 +00:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/Musik/Zen In Noise/Stop The Fire/01 - Stop The Fire.ogg"

Tablet home screen show small, poor resolution images

Android 4.4 Slimkat - Amazon OtterX (Kindle Fire First gen)
Screen resolution 1024 ร— 600 - density 169 ppi
Jellyfin beta 1 - unminified.

If Jellyfin is started in portrait orientation show images are very small, not much text is visible per item.
screenshot_2019-02-03-13-34-33

Rotate to landscape while Jellyfin is still running. Images are larger but very pixelated.
screenshot_2019-02-03-13-33-09

Close Jellyfin app, Restart in landscape orientation. Images are no longer as pixelated. Click into these images to notice the difference.
screenshot_2019-02-03-13-33-45

Portrait mode on tablet should display larger images with more text displayed.

I'm imagining that when the app is started in portrait mode, it requests images at a certain resolution. Landscape should have a higher res image, but doesn't requests a new copy.

Favorite Titles messed up in Beta 9

In the Favorite section on the right side of Home the titles of the each section are:

  • HeaderFavoriteMovies
  • HeaderFavoriteArtists
  • HeaderFavoriteSongs
    Some sort of typo in the code.

Remove modifications to the Cordova Android platform

There are a significant number of modifications made in platforms/android. The platforms directory should not be included in the repository at all, because it should only contain the output generated by cordova build.

These changes prevent the Android platform (and by extension Cordova) from being upgraded to new versions. Also, this native Android code would not be supported on any other platform, most notably iOS.

Any code written there should be migrated to a plugin or removed.

Battery Optimization Message

I noticed this message in my phone (Oneplus Android 9) and my tablet (Chrome OS) but even in my phone even when the option is disabled I still see the message every time I open the app (Beta 7).
Is this something that can be disabled? I don't want affect the usability, maybe is something that tons of people needs in android but the fact that it always popping up must be some sort of bug.
An option to disable this check would be very helpful.

video playback not working in beta 9

I am running the latest 1.0.3.0r2 server on windows 10, and trying to connect with the latest beta 9 android client.

play a video does not work. it will show the first frame, but that is it.

the server is giving this error message during playback: [20:50:09] [WRN] HTTP Response 200 to xxx.xxx.xxx.xxx. Time (slow): 0:17:20.8365185

Subtitles broken

Subtitle support, both on-the-fly extraction and burn-in via transcoding seems to be broken in Jellyfin-Android. It works for me with Emby 3.0.21 but simply displays nothing on Jellyfin.

I compiled the latest commit ~1 hour ago and it's fully functional, otherwise.

HEVC support

Is HEVC playback support planned for Android app? Currently with Jellyfin server it works on Emby android app (ver. 3.0.21) but not on Jellyfin android app (beta 4).

Play clock continues to count while media is paused

While playing and pausing from the lock screen / notification the timer will continue to count up while paused and then return to the correct time as soon as I press play again. No issues with playback of remembering where my place was. Just looks cosmetic.

Android 9
Pixel 2
Beta 8

Repository cleanup and force-push

The repo is currently an unmanageable 872MB in git, which is difficult to clone or work with. Following our similar technique on the main repository, we will use BFG to remove any spurious large blobs in the history that are taking up space needlessly.

My initial run resulted in the following difference with one of the simplest BFG options, starting from master's current HEAD:

$ find jellyfin-android -type f -size +1M
jellyfin-android/.git/objects/pack/pack-65528039f35c2ce8f18ce0905536f624a4b502ec.idx
jellyfin-android/.git/objects/pack/pack-65528039f35c2ce8f18ce0905536f624a4b502ec.pack
jellyfin-android/.git/modules/src/jellyfin-web/objects/pack/pack-ed77c7bfb8481c4e743e97ca8ff1c0327eacdd9d.pack
jellyfin-android/.git/modules/src/jellyfin-web/objects/pack/pack-6f99ae48f61bfd5a548745998c0d6d6d2162ec7f.pack
jellyfin-android/.git/modules/src/jellyfin-web/objects/pack/pack-1ed286c7b7676216f392bba8238d0f7913a893be.pack
jellyfin-android/.git/modules/src/jellyfin-web/objects/pack/pack-a71c73c25c8165d688cc82a1d43382df4713d84d.pack
jellyfin-android/.git/modules/src/jellyfin-web/objects/pack/pack-a71c73c25c8165d688cc82a1d43382df4713d84d.idx

$ du -hs jellyfin-android.git/
872M    jellyfin-android.git/

$ java -jar bfg.jar --strip-blobs-bigger-than 1M jellyfin-android.git
[...]
Commit Tree-Dirt History                                                                
------------------------                                                         
                                                                                                                       
        Earliest                                              Latest                              
        |                                                          |   
        .DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDmmm        
                                                                                                                       
        D = dirty commits (file tree fixed)                                           
        m = modified commits (commit message or parents changed)    
        . = clean commits (no changes to file tree)                            
                                                                                     
                                Before     After                      
        -------------------------------------------                                             
        First modified commit | b0165754 | bb1ab3bd                                       
        Last dirty commit     | 80e0604c | 9a48da5c                                     
                                                                               
Deleted files                                                                         
-------------                                                               

        Filename                                             Git id
        ---------------------------------------------------------------------------------------------------------------
        CordovaApp.Phone_2.5.86.0_AnyCPU.appxbundle        | 3d96efbf (7.0 MB)         
        CordovaApp.Phone_2.5.86.0_AnyCPU_bundle.appxupload | 34bb302b (7.0 MB)
        CordovaApp.Windows_2.5.86.0_anycpu.appx            | a606f781 (6.7 MB)
        CordovaApp.Windows_2.5.86.0_anycpu.appxupload      | f8f715f5 (6.8 MB)
        Default-736h.png                                   | 9e7344b5 (2.1 MB), 60f0e558 (1.4 MB), f6fc7af4 (1.2 MB)
        Default-Landscape-736h.png                         | 3dfe0f3a (1.8 MB), c88a07cb (1.6 MB), f7273493 (2.9 MB)
        Default-Landscape@2x~ipad.png                      | 39fe910e (3.0 MB), d265780c (1.7 MB), 1ab3b759 (2.0 MB)
        Default-Portrait@2x~ipad.png                       | 26028d2b (2.6 MB), 40865f24 (1.5 MB), 35efe7b0 (1.7 MB)
        GCDWebServer                                       | eb257af0 (3.4 MB), 9d338e84 (3.4 MB)
        GoogleCast                                         | 13f063b6 (14.7 MB), 808128a5 (18.0 MB)
        Microsoft.WinJS.2.0.appx                           | fd102704 (1.0 MB)      
        all.js                                             | c0a55e66 (1.6 MB), b20d7366 (1.6 MB), ...
        android-amazonarmv7-release.apk                    | a039610c (39.4 MB)                               
        android-amazonx86-release.apk                      | 6860c371 (43.4 MB)                               
        android-googlearmv7-release.apk                    | 3fc0782f (39.4 MB)                               
        ...                                                                                                  

In total, 7095 object ids were changed.
[...]

$ cd jellyfin-android.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
$ cd ..

$ du -hs jellyfin-android.git/
93M     jellyfin-android.git/

I think this alone is an excellent improvement and not worth much more digging, especially since no recent commits have any files of the relevant size so it's a safe cutoff.

A force-push of the shrunk repo will be made in approximately 48 hours. I've pinged all 14 users with a fork of this repository below as a request for comments. You should delete your forks and then refork once the work is completed. If you have any long-term unpushed changes please speak up.

@basdxz
@dkanada
@flamerds
@grafixeyehero
@LeoVerto
@nvllsvm
@oldiy
@onny
@Phlogi
@sphenthegreat
@SuicideSin
@tekwiz123
@thornbill
@vitorsemeano

Use chromecast volume when casting

When casting to chromecast and changing the volume the app will use the "internal" volume instead of changing the actual "chomecast volume". If you check the volume in the Google Home app you will see the actual chromecast volume has not changed.
When using a different app to cast something (i.e. Youtube) and changeing the chromecast volume to lets say 10%, then switch to Jellyfin and set the volume to 50% in the app it will not change the chromecast volume, so you get 50% of 10% actual volume.
It would be better to just use the chromecast volume when casting, like basically every other app that can cast does.

Bug: 4.4 client doesn't connect to server

Trying to manually add server to android client.

Jellyfin client 2.8.54 on Android 4.4 does not connect to server.
Jellyfin client 2.8.54 on Android 5.1 does connect to server.

Jellyfin server 10.1.0 docker ARM.

Jellyfin port is set to 8196, running along side emby on 8096.

I changed port number in both android clients. Tried with both server name and IP number. Neither worked on 4.4.

[Feature Request] Transcode On the App (Offline Storage)

screenshot_20190124-233302

As I said in the devloper chat box, in Riot. Since the convert function is dead, a downloaded function should be added to serve its purpose. This mode could use the same menu as the playback quality selector.(As seen in screenshot) to select transcoding quality. This means that no new menu has to be created.

implement missing cordova files

@thornbill below are the cordova files missing from this repo that need to be stubbed out for us to update the dashboard-ui folder to match the server. I have checked the ones you have finished in your fork so far and will update the list so we can keep track of what's left.

EDIT: Turns out we didn't need to implement them all for a working Android build. The next step should just be removing unused scripts in the cordova directory.

Bluetooth Play/Pause not working

While connected to a Bluetooth device and playing music the track skip control buttons work as well as volume but the Play/Pause button doesn't seem to be working.

Version 2.8.54
Pixel 2
Android 9
Bluetooth 4.1 (Multiple Devices)

Support Android 4.4

I know that Google's support for this version is dropping (dropped?) But it would be great as I have some 4.4 tablets.

I have no idea how much work it would be to continue to support 4.4.

Thank you for all your efforts on jellyfin.

Jellyfin cannot stream to Chromecast

I'm having trouble getting Jellyfin to stream to Chromecast. I get an Emby status screen on my television when I start casting media.

Here are my versions...

Router: OpenWrt 18.06.1
Mobile app: Emby for Android Mobile 3.0.27
Server: Jellyfin Version 10.1.0
Podman: podman version 0.11.2-dev
Container: binhex/arch-jellyfin... I should probably start using the official container in the Docker repository.
Iptables on my host has ACCEPT policies on all tables and all:all:all on the network->container rules.

The podman command is the following...

podman run -d --name jellyfin --hostname jellyfin --ip 172.30.0.100 -p 1900:1900/udp -p 8096:8096/tcp --name=jellyfin -v /etc/localtime:/etc/localtime:ro -v /mnt/media:/media -v /mnt/daemons/jellyfin/:/config -e UMASK= -e PUID=666 -e PGID=666 binhex/arch-jellyfin

I also tried using mobile app jellyfin-android_release_beta2. That app doesn't see the Chromecast at all.

Add a refresh page option

If the Android app is open, and an admin adds a new library, the Android app needs to refresh that. However it doesn't appear to do so automatically, nor is there a "pull down to refresh" type function (or a button). I have to close the app and reopen for it to refresh the change.

Add iOS support

Add support for the iOS platform. This will depend on the changes for #6.

Jellyfin Android no audio

When using the latest release of Jellyfin server and any version of Jellyfin for android, I do not get any audio. when using the Jellyfin server and the the last release of emby android 3.0.16 that I stopped allowing to update the audio works fine. What is Jellyfin android not doing that Emby android does that allows audio to stream?

Cannot Skip or Continue a video

I tried compiling this from source today but all it ever gave me was a black screen.

I then found this forum entry which directed me to some beta apk's.

I am able to load the app and run it and start any video which works not as great as the web client though. However whenever trying to skip through or continue where I left off the progress bar at the bottom skips to the beginning, starting the counter from the start and the screen is black.

I've tried with various videos and they are provide the same result.

I am using a Samsung Note8 running Android pie.

Audio crossfading between tracks

Hey,

Describe the feature you'd like

it would be really cool to have a audio crossfading option so that tracks in a queue are mixed between the ending and the starting of the next song.

Additional context

Maybe an additional switch is required to enable/disable crossfading and an additional playback option to set crossfading time in seconds.

Best regards,
Jonas

Download not working

Downloading a movie is not working. I tap on the Download button and nothing happens. The download is working with the same user on other browser/clients.

Phone: Oneplus 5t
Android Version: 9

Links section in series is broken

Below the series blurb in Jellyfin, there are links to the external metadata sources for the series and movies that a user has, these are currently broken on android

What happens
Clicking on links does nothing

What should happen
Clicking on a link should open the link in either a external web browser or in-app browser

High Battery Usage

I've noticed much higher battery usage with the jellyfin app compared with Netflix or the native video player.

Can't stream live tv from HDHR

When I try to watch livetv via HDHR-Prime the android app times out and gives the message: "No compatible streams are currently available."

I've got no problem watching livetv via the web interface -- including using chrome on my android phone. So obviously, not a huge problem given the easy workaround. But just thought I'd flag it.

Companion issues with custom UI idea

I'm just going to directly quote Sparky8251 here: "Being able to set a theme for each app would just require each app to be able to handle themeing. The web UI already can (how extensive I'm unsure) and that's the only one in this repo."

Https/self signed certificate

I'm trying to connect to my server with a self signed ssl certificate, but I only get the "Connection Failure" screen. Connecting without ssl works.

MRMC fork as basis for Android app?

I'm not a coder but I was playing around with my Fire TV system (which uses Android) this past week and noticed MRMC, which is a stripped-down and rebranded Kodi for Android that uses an Emby for Kodi plugin (can't tell if it's forked from original Emby or their own code) to connect to an Emby server.

It worked flawlessly and it made me wonder if this might not be an easier starting point for an Android app than building one from scratch, i.e. using a stripped-down Kodi rebranded with Jellyfin and thus using Kodi's player and the Emby/Jellyfin plugin.

Love what you guys are doing - especially since Emby decided to strip out a working feature (transcoding) in order to make users pay for it in the latest release which is really appalling behavior IMHO - and wanted to make the Jellyfin developers aware of this option in case they weren't already.

Here's the MRMC git in case it's helpful: https://github.com/MrMC/mrmc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.