After making the playlist and video thumbnails' scaleType fitCenter, the 24dp*24dp thumbnails would appear as a square, which would be strange, since the image view is 16:9.
- Show placeholders until the image is loaded because timeout can be very long and missing profile pictures and video thumbnails make app inconvenient to use
- Adapt profile picture and video thumbnail placeholders to light theme
- Replace profile picture and video thumbnail placeholders with vector graphics
Change square bitmap transformation strategy: change the bitmap transformation strategy when a 1:1 aspect ratio is
enabled to not stretch the bitmap but rather crop it.
On Android 11/12, the way the whole thumbnail was used for the
notification icon was not ideal, however the setting to toggle a 1:1
(as it states in settings) resulted in distortions.
Fix this by simply cropping the bitmap.
Also update the 1:1 mode strings to remove mentions of scaling or
distortions, as those no longer apply.
The search menu item gets added in first place when the feed fragment is added as a tab to the main fragment. So the main fragment's menu items' orderInCategory should start from 2.
Currently translated at 2.9% (2 of 68 strings)
Translated using Weblate (French)
Currently translated at 69.1% (47 of 68 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 91.2% (584 of 640 strings)
Translated using Weblate (Armenian)
Currently translated at 28.7% (184 of 640 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Added translation using Weblate (Kazakh)
Translated using Weblate (Bengali)
Currently translated at 20.5% (14 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Swedish)
Currently translated at 99.3% (636 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Latvian)
Currently translated at 92.6% (593 of 640 strings)
Translated using Weblate (Bengali)
Currently translated at 19.1% (13 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Russian)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (French)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Spanish)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.7% (42 of 68 strings)
Translated using Weblate (French)
Currently translated at 66.1% (45 of 68 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 11.7% (8 of 68 strings)
Translated using Weblate (Turkish)
Currently translated at 32.3% (22 of 68 strings)
Translated using Weblate (Bengali)
Currently translated at 88.9% (569 of 640 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 99.2% (635 of 640 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 97.1% (622 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (French)
Currently translated at 99.8% (639 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Italian)
Currently translated at 39.7% (27 of 68 strings)
Translated using Weblate (Polish)
Currently translated at 55.8% (38 of 68 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (68 of 68 strings)
Translated using Weblate (Persian)
Currently translated at 99.5% (637 of 640 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 66.1% (45 of 68 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmiz@proton.me>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Erik J <ej_rostock@web.de>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Julie WF <julie-99@live.no>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ReVanced <revanced2022@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SameenAhnaf <sameenahnaf@yahoo.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yeldar Kudaibergenov <mail@yeldar.org>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: patrik <jpekman@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: riveravaldez <riveravaldezmail@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zica <9918800@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 89.0% (564 of 633 strings)
Translated using Weblate (Finnish)
Currently translated at 95.8% (607 of 633 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 65.5% (415 of 633 strings)
Translated using Weblate (Romanian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Added translation using Weblate (English (Old))
Translated using Weblate (French)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Basque)
Currently translated at 25.3% (17 of 67 strings)
Translated using Weblate (Filipino)
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 88.3% (559 of 633 strings)
Translated using Weblate (Bengali (India))
Currently translated at 49.2% (312 of 633 strings)
Translated using Weblate (Bengali (India))
Currently translated at 49.2% (312 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 36.9% (234 of 633 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 90.5% (573 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 64.1% (43 of 67 strings)
Translated using Weblate (Dutch)
Currently translated at 70.1% (47 of 67 strings)
Translated using Weblate (Italian)
Currently translated at 38.8% (26 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 31.3% (21 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 85.6% (542 of 633 strings)
Translated using Weblate (Kurdish (Central))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (Malayalam)
Currently translated at 92.1% (583 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 93.0% (589 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 4.4% (3 of 67 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 75.0% (475 of 633 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 93.8% (594 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 93.8% (594 of 633 strings)
Translated using Weblate (Latvian)
Currently translated at 4.4% (3 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Belarusian)
Currently translated at 1.4% (1 of 67 strings)
Translated using Weblate (Bengali)
Currently translated at 84.9% (538 of 633 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 50.3% (319 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Bengali (Bangladesh))
Currently translated at 63.8% (404 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Serbian)
Currently translated at 92.4% (585 of 633 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.7% (619 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Cerins <cerins4141@gmail.com>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Công Phúc <timnguyenaklc1133@gmail.com>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Himadri Bhattacharjee <handhimadrink@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jacob <axin6e7weujc@beconfidential.com>
Co-authored-by: Jalaluddin <ju81@ymail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Linkan Majumder <linkan469@gmail.com>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Mathias Hamza Vedsted-Mirza <mathiashamzamirza@outlook.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nicky Db <nickydbruyn@gmail.com>
Co-authored-by: Nikhil Anilkumar <rootshell348@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Nizami semidov <revanced2022@gmail.com>
Co-authored-by: Onni <onnip@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Steven Felix <stevenfelix505@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: metezd <itoldyouthat@protonmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: vmisovic <vladimir.misovic03@gmail.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: Éfrit <efrit@posteo.net>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/da/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
A custom HlsPlaylistParserFactory cannot be used anymore to play HLS streams.
This needs to be replaced by a custom HlsDataSourceFactory, which returns a ByteArrayDataSource (where the bytes of this DataSource correspond to the bytes of the playlist string) and a specified DataSource for other request types.
This model has two limitations:
- if media requests are relative, the URI from which the manifest comes from (either the manifest URI (preferred) or the master URI (if applicable)) must be returned, otherwise the content will be not playable, as it will be an invalid URL, or it may be treat as something unexpected, for instance as a file for DefaultDataSources;
- if the playlist is a master playlist, endless loops should be encountered because the DataSources created for media playlists will use the master playlist response instead of fetching the corresponding playlist. With the current model of HlsDataSourceFactory, there is no possibility to distinguish the playlist type or the URI that is requested.
If ExoPlayer provides a way to create HlsMediaSources with an HlsPlaylist in the future, it should be used instead of this solution.
This ensures to not remove streams from the StreamInfo lists themselves, and so to not have to create list copies.
The toast shown in RouterActivity, when there is no audio stream available for external players, is now shown, in the same case, when pressing the background button in VideoDetailFragment.
This IllegalStateException, almost not reproducible, indicates that another SimpleCache instance uses the cache folder, which was so trying to be created at least twice.
Moving the SimpleCache creation in PlayerDataSource should avoid this exception.
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
Detailed changes:
- External players:
- Add a message instruction about stream selection;
- Add a message when there is no stream available for external players;
- Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.
- Player:
- Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
- Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
- Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
- Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).
- Download dialog:
- Add message about support of progressive HTTP streams only for downloading;
- Remove several duplicated code and update relevant usages;
- Support downloading of contents with an unknown media format.
- ListHelper:
- Catch NumberFormatException when trying to compare two video streams between them.
- Tests:
- Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.
- Other places:
- Fixes deprecation of changes made in the extractor;
- Improve some code related to the files changed.
- Issues fixed and/or improved with the changes:
- Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
- Crash when loading PeerTube streams with a separated audio;
- Lack of some streams on some YouTube videos (OTF streams);
- Loading times of YouTube streams, after a quality change or a playback start;
- View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
- Watchable time of YouTube ended livestreams;
- Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
* Bandcamp: Was facing in the wrong direction and used an incorrect logo
* Media CCC: Update logo
* YT: Added NewPipe logo so that it's not just a rectangle
Currently translated at 45.6% (289 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 47.2% (299 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Tagalog)
Currently translated at 9.4% (60 of 633 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (10 of 67 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.1% (41 of 67 strings)
Translated using Weblate (Slovak)
Currently translated at 7.4% (5 of 67 strings)
Translated using Weblate (Persian)
Currently translated at 62.6% (42 of 67 strings)
Translated using Weblate (Swedish)
Currently translated at 50.7% (34 of 67 strings)
Translated using Weblate (Spanish)
Currently translated at 59.7% (40 of 67 strings)
Translated using Weblate (Indonesian)
Currently translated at 79.1% (53 of 67 strings)
Translated using Weblate (Polish)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Hebrew)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Russian)
Currently translated at 17.9% (12 of 67 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 10.4% (7 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 28.3% (19 of 67 strings)
Translated using Weblate (German)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 18.7% (119 of 633 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 98.5% (624 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 95.7% (606 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Korean)
Currently translated at 71.8% (455 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Croatian)
Currently translated at 98.4% (623 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 28.7% (182 of 633 strings)
DefaultControlDispatcher was removed in ExoPlayer 2.16.0, so the class
extending it that handled play/pause was removed in #8020.
The new solution is to use an instance of ForwardingPlayer. Call
sessionConnector.setPlayer with an instance of ForwardingPlayer that
overrides play() and pause() and calls the callback methods.
Currently translated at 45.6% (289 of 633 strings)
Translated using Weblate (Danish)
Currently translated at 47.2% (299 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Tagalog)
Currently translated at 9.4% (60 of 633 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 5.9% (4 of 67 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 14.9% (10 of 67 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 61.1% (41 of 67 strings)
Translated using Weblate (Slovak)
Currently translated at 7.4% (5 of 67 strings)
Translated using Weblate (Persian)
Currently translated at 62.6% (42 of 67 strings)
Translated using Weblate (Swedish)
Currently translated at 50.7% (34 of 67 strings)
Translated using Weblate (Spanish)
Currently translated at 59.7% (40 of 67 strings)
Translated using Weblate (Indonesian)
Currently translated at 79.1% (53 of 67 strings)
Translated using Weblate (Polish)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Hebrew)
Currently translated at 55.2% (37 of 67 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (67 of 67 strings)
Translated using Weblate (Russian)
Currently translated at 17.9% (12 of 67 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 10.4% (7 of 67 strings)
Translated using Weblate (Turkish)
Currently translated at 28.3% (19 of 67 strings)
Translated using Weblate (German)
Currently translated at 65.6% (44 of 67 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Filipino)
Currently translated at 18.7% (119 of 633 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (Persian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Slovak)
Currently translated at 98.5% (624 of 633 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 90.0% (570 of 633 strings)
Translated using Weblate (Basque)
Currently translated at 95.7% (606 of 633 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Korean)
Currently translated at 71.8% (455 of 633 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Spanish)
Currently translated at 97.6% (618 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (German)
Currently translated at 100.0% (633 of 633 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (632 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (German)
Currently translated at 98.1% (621 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (Swedish)
Currently translated at 99.6% (631 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.5% (630 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Translated using Weblate (French)
Currently translated at 99.3% (629 of 633 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Make the use of the new method setDisabledTrackTypes in DefaultTrackSelector.ParametersBuilder, which disables selection of tracks type for every TrackGroup instead of the current group, which is the current behavior.
This removes the use of the deprecated of setSelectionOverride method.
Note that for progressive media, the content is still fetched, but only for initialization purposes (so requests are pretty small, most of times with a few kilobytes size).
It never kicked in since we are never returning a retry() Result, but always either success() or failure() (see createWork() function). Also, there is already a default (exponential backoff starting from 30 seconds), so no need to override it.
added: MediaItemTag for ManagedMediaSources.
added: silent track for FailedMediaSource.
added: keyframe fast forward at initial playback buffer.
added: error notification on silently skipped streams.
- Put checkstyle files into checkstyle/ subfolder so that the gradle task does not implicitly depend on the whole project, fixing many warnings during build and possibly increasing build performance.
- Remove unused SuppressionXpathFilter from config file.
- Remove outdated suppressions from suppressions file.
This also allows saving a remote playlist locally.
- Add an "Add to playlist" button to the queue menu in the Player.
- Move the appendAllToPlaylist functionality from PlayQueueActivity to
Player.
Fixes: #8004
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Bosnian)
Currently translated at 4.6% (3 of 65 strings)
Translated using Weblate (Bosnian)
Currently translated at 19.7% (122 of 617 strings)
Translated using Weblate (Croatian)
Currently translated at 98.2% (606 of 617 strings)
Translated using Weblate (Japanese)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (Serbian)
Currently translated at 94.9% (586 of 617 strings)
Translated using Weblate (Sardinian)
Currently translated at 99.6% (615 of 617 strings)
Translated using Weblate (Italian)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (German)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Estonian)
Currently translated at 99.6% (615 of 617 strings)
Translated using Weblate (Tamil)
Currently translated at 55.2% (341 of 617 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.8% (616 of 617 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.4% (583 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Japanese)
Currently translated at 10.7% (7 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (617 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 99.5% (614 of 617 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (615 of 615 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (613 of 615 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (613 of 613 strings)
Added translation using Weblate (Bosnian)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: luciana <ludiazsp_182@live.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: sasukeiscool <jaflagasd@gmail.com>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
Doing this programmatically is just a no-go when themes are being set
in some other places (the toolbar is using a custom theme, in this
case), so, instead of hunting down the proper theme, just let the
system do its work.
- Add adjustment_step_key to settings_keys.xml to be used when
saving/loading the step size.
- Remove the global stepSize variable and the code that saves it to
outState/loads it from savedInstanceState because it's now saved to
Shared Preferences.
- Move initially setting step size to setupStepSizeSelector to be
consistent with the other view setup methods, using the value loaded
from Shared Preferences.
- Save the step size to Shared Preferences inside setStepSize.
Fixes: #7031
Currently translated at 49.2% (32 of 65 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 58.4% (38 of 65 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (French)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (Italian)
Currently translated at 38.4% (25 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 55.3% (36 of 65 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.8% (35 of 65 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (German)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (French)
Currently translated at 65.6% (42 of 64 strings)
Translated using Weblate (Dutch)
Currently translated at 71.8% (46 of 64 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 80.4% (493 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Benedikt Freisen <b.freisen@gmx.net>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Currently translated at 49.2% (32 of 65 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 58.4% (38 of 65 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 23.0% (15 of 65 strings)
Translated using Weblate (French)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (Italian)
Currently translated at 38.4% (25 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 55.3% (36 of 65 strings)
Translated using Weblate (Hebrew)
Currently translated at 53.8% (35 of 65 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (65 of 65 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 7.6% (5 of 65 strings)
Translated using Weblate (German)
Currently translated at 66.1% (43 of 65 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (English)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (French)
Currently translated at 65.6% (42 of 64 strings)
Translated using Weblate (Dutch)
Currently translated at 71.8% (46 of 64 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 80.4% (493 of 613 strings)
Translated using Weblate (French)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Benedikt Freisen <b.freisen@gmx.net>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.
To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced.
A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.
To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
ExoPlayer right now fetches HLS video tracks even if you disable them (with setRendererDisabled or setSelectionOverride).
See issue 9282 of ExoPlayer's issue tracker for more information.
* Replaced by ``wasLastResolvedVideoAndAudioSeparated``
* Uses an ``Optional`` instead (we can't determine if the video and audio streams are separated when we did not fetch it)
Unable to compile!
* Cleaned up ``getMostCompactAudioIndex`` and ``getHighestQualityAudioIndex`` into a new method ``getAudioIndexByHighestRank``
* Removed unreadable code and use Java Streams API
* Tests work as expected
Prefering video-only streams to video streams for our player will allow us to make seamless transitions on 360 and 720p qualities on YouTube.
External players and the downloader are not affected by this change.
This is only available when playing video-only streams (and when there is no audio stream and only video streams with audio) and audio-only streams.
For more details about which conditions are required to get this transition, look at the changes in the useVideoSource(boolean) method of the Player class.
It ensures that queues are not the same. Without this check when you have multiple videos in the backstack and navigating back via Back button you'll get duplicated videos