Commit Graph

1086 Commits

Author SHA1 Message Date
John Zhen Mo bc7188c8a8 -Added media session implementation for all players.
-Extracted version numbers in gradle dependencies.
-Updated ExoPlayer to 2.7.1.
-Updated RxJava to 2.1.10, RxAndroid to 2.0.2 and RxBinding to 2.1.1.
-Removed deprecated implementation of media buttons.
2018-03-19 16:44:18 -07:00
John Zhen Mo 5a05cb96be -Changed start position seek to occur after media source window has been prepared.
-Fixed livestream not seeking to live when started from play queue.
-Fixed media source manager synchronization to only occur after timeline change has completed.
-Fixed auto queue not working when last item is replayed after the auto-queued item is removed.
-Updated ExoPlayer to 2.7.1.
2018-03-19 16:44:17 -07:00
John Zhen Mo 0258726f0a -Changed thumbnail toggle in disabled mode to load dark dummy image.
-Changed play queue items to display service names.
-Fixed Soundcloud playlist not fitting thumbnail.
-Refactored image display options to follow uniform behavior.
-Refactoring and style changes on audio reactor and media button receiver.
2018-03-19 16:44:17 -07:00
John Zhen Mo 61b422502b -[#1060] Added toggle to disable thumbnail loading.
-Added button to wipe metadata cache.
-Added more paddings on player buttons.
-Added new animations to main player secondary controls and play queue expand/collapse.
-Refactored play queue item touch callback for use in all players.
-Improved MediaSourceManager to better handle expired stream reloading.
-[#1186] Changed live sync button text to "LIVE".
-Removed MediaSourceManager loader coupling on main players.
-Moved service dependent expiry resolution to ServiceHelper.
-[#1186] Fixed livestream timeline updates causing negative time position.
-[#1186] Fixed livestream not starting from live-edge.
-Fixed main player system UI not retracting on playback start.
2018-03-19 16:40:40 -07:00
Christian Schabesberger 96a327af17 made frontend combatible to latest extractor refactorings 2018-03-18 16:37:49 +01:00
alexandre patelli 24f2999669 Handling play/pause button from different headsets 2018-03-13 22:57:59 +01:00
alexandre patelli 36457400e7 Review Fixes 2018-03-11 19:23:00 +01:00
alexandre patelli 1d629e7b2e Direct use of AudioManager from AudioReactor 2018-03-11 15:09:11 +01:00
alexandre patelli 5f764ab8f5 Media Button Play/Pause, Previous and Next in Background Player 2018-03-10 18:25:20 +01:00
Mauricio Colli 83b084a90b Implement subscriptions import/export
- Import subscriptions from YouTube and SoundCloud (all services that the extractor support)
- Import/export a JSON representation of the subscriptions
- [Minor] Remove some javax annotations in favor of the one provided by the android support library
2018-03-08 10:39:24 -03:00
John Zhen Mo b34160eeec -Fixed main video player losing state when killed in background.
-Disabled auto queuing when repeating is enabled.
-Added method to use startForegroundService instead of startService in sdk 26 and up.
2018-03-05 19:03:49 -08:00
John Zhen Mo d01aeab242 -Added auto-queuing to allow next or related streams to queue up when the last item on play queue is playing.
-Added toggle to enable auto-queuing.
-Modified main video player to only pause the video onPause.
-Fixed main video player not saving play queue state onStop.
2018-03-04 20:16:38 -08:00
John Zhen Mo 7f068b691b -Removed system ui on main player for Kitkat or above.
-[#1151] Hide video player UI on playing to avoid unnecessary interruptions after pause, seek and resize.
2018-03-03 20:58:53 -08:00
John Zhen Mo 59558efed1 -Added seamless shuffling.
-Reenabled full window loading in MediaSourceManager.
2018-03-03 20:58:06 -08:00
John Zhen Mo a88e19a8ed -Added toggle to enable fast inexact seek in players.
-Improved player sync calls to recognize different metadata updates.
-Changed MediaSourceManager to synchronize only after timeline changes and reenabled multiple sync calls to player.
-Renamed listener and synchronization methods related to MediaSourceManager.
2018-03-03 14:24:21 -08:00
John Zhen Mo 0c17f0825b -Added loader eviction to avoid spawning too many threads in MediaSourceManager.
-Added nonnull and final constraints to variables in MediaSourceManager.
-Added nonnull and final constraints on context related objects in BasePlayer.
-Fixed Hls livestreams crashing player when behind live window for too long.
-Fixed cache miss when InfoCache key mismatch between StreamInfo and StreamInfoItem.
2018-03-03 11:42:23 -08:00
John Zhen Mo 9ea08c8a4b -Re-added loading for items prior to current index in MediaSourceManager to allow faster access time.
-Added some null checks annotation.
2018-02-28 23:25:45 -08:00
John Zhen Mo a1220c77da -Added serialized cache for transferring serializable objects too large for intent transactions.
-Fixed potential transaction too large exceptions for player intents.
2018-02-28 17:47:12 -08:00
John Zhen Mo b4668367c6 -Added better assertions and documentations to new mechanism in MediaSourceManager.
-Modified LoadController to allow fast playback start and increased buffer zigzag window.
-Removed unnecessary loading on timeline changes.
-Changed select message in MediaSourceManager to cause immediate load.
-Reduced default expiration time in MediaSourceManager.
-Fixed main video player not showing end time on audio-only streams.
-Fixed live stream has player view disabled after transitioning from audio stream.
-Fixed inconsistent progress bar height between live and non-live video on main player.
2018-02-28 17:45:05 -08:00
John Zhen Mo 77da40e507 -Added perpetual extractor source loading on network failures.
-Fixed play queue playlist desynchronization caused by media source manager window loading expansion on sublist prior to current item.
-Fixed failed media source not treated as ready for playback.
2018-02-26 22:37:19 -08:00
John Zhen Mo b3b2748bb7 -Improved player queue stability by using more aggressive synchronization policy.
-Added sync buttons on live streams to allow seeking to live edge.
-Added custom cache key for extractor sources to allow more persistent reuse.
-Refactored player data source factories into own class and separating live and non-live data sources.
2018-02-26 19:57:59 -08:00
John Zhen Mo 1444fe5468 -Fixed potential NPE when obtaining broadcast receiver.
-Extracted expiration time in media source manager.
-Re-enabled long click on live stream info items.
-Fixed dash source building to use mpd instead of extractor.
2018-02-25 20:12:30 -08:00
John Zhen Mo ac431e3ece -Fixed failed media source not treated as ready. 2018-02-25 15:32:25 -08:00
John Zhen Mo 563a4137bd -Fixed inconsistent audio focus state when audio becomes noisy (e.g. headset unplugged).
-Fixed live media sources failing when using cached data source by introducing
cacheless data sources.
-Added custom track selector to circumvent ExoPlayer's language normalization NPE.
-Updated Extractor to correctly load live streams.
-Removed deprecated deferred media source and media source manager.
-Removed Livestream exceptions.
2018-02-25 15:10:11 -08:00
John Zhen Mo 19cbcd0c1d -Fixed media source update index check.
-Fixed media source manager excessive loading.
-Remove unneeded fields in loaded media source.
2018-02-24 21:54:47 -08:00
John Zhen Mo 8803b60b28 -Updated Exoplayer to 2.7.0.
-PoC for new seamless stream loading mechanism.
2018-02-24 21:54:47 -08:00
John Zhen Mo 1a92dfb019 -Changed global Rx exception handling to no longer trigger error activity if the exception is undeliverable.
-Added debug settings to force reporting of undeliverable Rx exceptions.
-Changed back MediaSourceManager to use serial disposable for syncing.
2018-02-20 22:35:34 -08:00
John Zhen Mo c1a302834c -Fixed auto-generated string not translatable. 2018-02-20 21:15:23 -08:00
John Zhen Mo 762f374f93 -Fixed media source manager sync identical item multiple times, causing OOM.
-Removed deprecated translated leak canary string from other languages.
2018-02-20 21:15:23 -08:00
John Zhen Mo e21d2bd511 -Fixed video player source loading for audio only streams.
-Changed "monitor leak" string to "LeakCanary" as untranslatable.
2018-02-20 21:15:23 -08:00
John Zhen Mo d936ca6b89 -Added view registration on repeats.
-Added drag reorder speed clamping to play queue list.
-Fixed service player activity memory leak.
-Fixed media source manager sync disposable fallthrough causing NPE.
-Fixed thread bouncing during play queue item async stream resolution.
-Updated ExoPlayer to 2.6.0.
2018-02-20 21:15:23 -08:00
John Zhen Mo f09b04dce0 -Code clean up on resize switching. 2018-02-11 11:32:40 -08:00
John Zhen Mo 59f8583895 -Added settings for managing caption font size. 2018-02-11 11:32:40 -08:00
John Zhen Mo f506fc0478 -Moved caption extraction and menu building into exoplayer track changing callback.
-Updated extractor dependency.
2018-02-11 11:32:39 -08:00
John Zhen Mo 880676d670 -Modified popup video player to show extra options only when screen is large enough.
-Modified available resize options for different player modes.
-Fixed caption menu not working on popup player.
-Extracted hardcoded strings.
-Added button effects to both main and popup players.
2018-02-11 11:32:39 -08:00
John Zhen Mo 6485327b97 -Replace main player dropdown menu with expand/collapse custom UI. 2018-02-11 11:32:10 -08:00
John Zhen Mo 5773152ed3 -Added subtitles loading and display.
-Added subtitles switching button to popup and main players.
-Added aspect ratio switching button to popup pand main players.
2018-02-11 11:31:49 -08:00
John Zhen Mo d0808ce159 -Fixed playlist creation icon in playlist append dialog.
-Fixed bookmarking disposable not part of playlist fragment lifecycle.
-Rearranged local fragment directory structure.
2018-02-08 18:48:36 -08:00
John Zhen Mo 225b43ca3c -Modified BaseLocalItemFragment to no longer cache items when going into background.
-Refactored and restructured all LocalItem related fragments and dialogs.
-Added error logging to unmonitored single-use observables.
-Modified playlist metadata query to return by alphabetical order.
-Removed sending toast when playlist is renamed or deleted as it is obvious.
-Removed unused code in main fragment.
2018-02-07 19:24:35 -08:00
John Zhen Mo d3160eed9d -Added state saving for streams on skip and player exception events.
-Added query for loading saved stream states.
-Modified orphan record removal to no longer consider stream table records.
2018-02-07 19:24:35 -08:00
John Zhen Mo 388ec3e3d3 -Added history record manager as single entry for all database history transactions.
-Merged stream record manager into history record manager.
-Removed subject-based history database actions.
-Merged normalized history table into watch history fragment.
-Modified history fragments to use long click for delete actions.
-Refactored DAO operations from search fragment to record manager.
-Added index to search history table on search string.
-Fix baseplayer round repeat not detected by discontinuity.
2018-02-07 19:24:35 -08:00
John Zhen Mo 776dbc34f7 -Added bulk playlist creation and append.
-Added UI to create playlist from service player activity.
-Added state saving to playlist dialogs.
-Removed access to history activity on service player activity.
-Made StreamEntity serializable.
2018-02-07 19:24:34 -08:00
John Zhen Mo ba9d0d7707 -Added basic UI for local playlists.
-Added UI for watch history and most played fragments.
-Added stream state table for storing playback timestamp and future usage.
-Enabled playlist deletion.
2018-02-07 19:24:34 -08:00
John Zhen Mo 38946e4b0f -Added UI for creating playlist.
-Added UI for appending item to playlists.
-Added mini variant of playlist info item.
2018-02-07 19:24:34 -08:00
John Zhen Mo f71242a036 -Added schema for local playlist and stream statistics.
-Added normalized schema for stream history.
-Added managers for specialized database access for stream and local playlist.
2018-02-07 19:24:34 -08:00
Mauricio Colli 6bea4aa96b
Fix player switching
- Background to popup wasn't asking for permission
- The new task flag is needed to switch from the background/popup UI to the main player
2018-01-27 02:57:00 -02:00
Mauricio Colli a473e3d623 Add preferred player 2018-01-23 11:15:36 -02:00
Christian Schabesberger 677865f347 player popup menu icons for white theme 2018-01-20 14:46:10 +01:00
Christian Schabesberger 5f26501ddf fix triangle play button when returning to app 2018-01-20 13:39:06 +01:00
John Zhen Mo 39b0b2f032 -Added player conversion to background and popup players.
-[#919] Fixed custom notification does not trigger unlocking on lockscreen.
-[#947] Fixes player crashing on internet outage, issue partially addressed.
-Fixed main player losing state after destroy while in background.
-Fixed main player controls not hiding automatically after orientation change.
-Fixed dialog uploader not marqueeing when too long.
-Fixed popup permission throwing NPE on BaseList.
-Refactored popup permissions to start in NavigationHelper.
-Extracted hardcoded string for player menus.
-Bump Java version to 1.8.
-Some lambda conversions.
2018-01-03 22:53:38 -08:00
Schabi 7f88c3d0a9 roleback wrong fix 2017-12-30 00:27:29 +01:00
Schabi 11e8e38f2c setup context for making notifications open via setContextIntent() 2017-12-29 17:29:15 +01:00
Schabi 9f5d4034e3 fix fullscreen button on popup 2017-12-23 17:34:47 +01:00
TobiGr 0119d62a35 change notification bar icon for popup and background player 2017-12-20 16:29:32 +01:00
Coffeemakr bb2af96deb
Use getters for extractor items 2017-12-10 11:07:51 +01:00
Christian Schabesberger 4261a2eed3 remember last screen orientation 2017-12-05 12:51:23 +01:00
Christian Schabesberger fba3ece688 resolve conflict 2017-11-16 12:20:03 +01:00
John Zhen Mo d6e4f3c809 -Saves the recovery timestamp when player source fails during a valid stream playback. 2017-11-15 20:09:38 -08:00
John Zhen Mo 979bd09b29 -Fixed popup player not in foreground when opened by external intent.
-Fixed popup overlay permission causing exception when opened externally.
2017-11-14 11:34:15 -08:00
marin 6d6609187b Add dropdown menu and switch to background option 2017-11-13 20:29:54 +01:00
John Zhen Mo ce36f3ae3b -Modified play queue action buttons on playlist and channel fragments.
-Added info item menu with custom title banner on long click.
-Enabled starting playlists and channels from middle.
-Enabled caching for play queue item thumbnails.
-Modified play queue to revert to first item on deleting last item.
2017-11-11 14:48:16 -08:00
John Zhen Mo b883f313ba -Fixed NPE when popup is updated during shutdown. 2017-11-11 14:48:16 -08:00
John Zhen Mo b1ee22cde6 -Added scroll to fetch for external play queues.
-Modified service player activity scrolling to be instantaneous when difference is too large.
-Modified service player activity to no longer update metadata if nothing change when sync is called.
2017-11-11 14:48:16 -08:00
John Zhen Mo 1d136c6c35 -Added fast seeking on background notification when play queue size is 1.
-Fixed player intent with quality selection not used in detail fragment.
-Fixed window index not reset on sync when not playing.
-Fix dropdown play string for stream info item.
2017-11-11 14:48:16 -08:00
John Zhen Mo b8a17580c5 -Added play queue dropdown to channel info items.
-Added play queue dropdown to playlist info items.
-Added Channel Play Queue.
-Renamed External Play Queue to Playlist Play Queue.
-Modified Playlist Play Queue to allow loading from initial state.
2017-11-11 14:48:16 -08:00
John Zhen Mo 87febf8679 -Added dropdown to start play for all StreamInfoItem.
-Refactored NavigationHelper to allow service player control to open anywhere.
-Refactored NavigationHelper to allow starting player at anywhere.
2017-11-11 14:48:16 -08:00
John Zhen Mo 38b2ffd450 -Added fling to toss popup view when velocity is below shutdown.
-Added string for unknown content.
-Fixed NPE when UI element is touched after player shuts down in service activity.
-Fixed shuffle reset caused by position discontinuity offsets index.
-Moved some more player shared preferences to PlayerHelper.
2017-11-11 14:48:16 -08:00
John Zhen Mo 01e031e7e7 -Modified recovery to not set if progress position is 0 or less.
-Modified queue item synchronization to no longer trigger update when the sync is run on the identical item.
2017-11-11 14:48:16 -08:00
John Zhen Mo 0b1eda3050 -Improved null checks in player stream resolution.
-Improved naming in MediaSourceManager
2017-11-11 14:48:16 -08:00
John Zhen Mo 3d5c173d61 -Fixed new task intent for opening controls on players between sdk 21 and 24. 2017-10-31 07:17:51 -07:00
John Zhen Mo b0948cf9fc -Modified selected play queue item to highlight entire item instead of text.
-Added selected item bullet.
-Modified play queue panel darker on main video player.
-Fixed color issue on play queue panel on light-themed main video player.
-Fixed hold-to-enqueue tooltip flashing when clicked on earlier sdk versions.
-Fixed queue item removal causing metadata for currently playing to refresh.
2017-10-30 20:59:21 -07:00
John Zhen Mo 86c16fa5d8 -Fixed activity padding.
-Fixed expanded notification artist name.
-Fixed playpause on complete setting wrong index.
2017-10-30 20:58:47 -07:00
John Zhen Mo 68695bbf92 -Modified MediaSourceManager to immediately load on critical events.
-Fixed tag name for background service actcivity.
-Removed unused track selector.
-Removed unused database entities.
2017-10-30 20:58:47 -07:00
John Zhen Mo b4fdbdeb1b -Added load debouncing to MediaSourceManager to prevent mass loading due to rapid timeline change.
-Added marquee title to main video player.
-Modified destroyPlayer to always dispose play queue and media source manager.
-Remove unused code from players.
2017-10-30 20:58:47 -07:00
John Zhen Mo 1fb3774e03 -Changed play queue item building to shrink thumbnail before caching.
-Renamed refactor directory in player to helper.
-Fixed background player notification update causing lag on older spec models.
-Fixed service activity theme not changing after user setting is changed.
-Fixed NPE on popup player fling to close.
-Fixed audio reactor volume and max volume mixup.
-Added correct toast for each player error case.
-Fixed button coloring for play queue service activity on landscape.
-Changed title and uploader text to marquee for vertical service activity.
-Removed cache clearing on every thumbnail load.
2017-10-30 20:58:47 -07:00
John Zhen Mo f284a799ef -Added wake and wifi lock to popup video player.
-Added seek time display to player binding activity.
-Added button effect for all image buttons on player binding activity.
-Added click to scroll to current selected on metadata layout for player binding activity.
-Refactored player utilities and preference getters into PlayerHelper.
-Refactored player caching into CacheFactory.
-Refactored player audio related methods into AudioReactor.
-Refactored player locks into LockManager.
-Refactored player loading and buffering mechanics into LoadController.
-Fixed outdated names for background player.
2017-10-30 20:58:47 -07:00
John Zhen Mo c6e759a94c -Fixed popup player not playing in foreground.
-Fixed activity binder memory leak in popup and background players.
-Fixed out of bound window after removing last item on play queue.
-Fixed MediaSourceManager continues to process update after disposed.
-Changed play queue append to shuffle if queue is already shuffled.
2017-10-30 20:58:46 -07:00
John Zhen Mo 052c9a9869 -Added persisting settings when switching between players. 2017-10-30 20:58:46 -07:00
John Zhen Mo 0806344ffb -Changed quality resolution to persist across player.
-Updated ExoPlayer to 2.5.4.
-Expanded button size in main video player play queue.
-Removed Quality event.
-Extracted player error strings to xml.
2017-10-30 20:58:46 -07:00
John Zhen Mo d0e626c6ee -Fixed popup and main video players not using different quality resolution. 2017-10-30 20:58:46 -07:00
John Zhen Mo 9068247856 -Reverted manual track selection from exoplayer track selector.
-Added quality record to play queue items.
-Added quality and recovery record play queue events.
-Added landscape view for ServicePlayerActivity.
-Moved repeat and shuffle button to play queue panel in main video player.
-Fixed potential NPE in MediaSourceManager by no longer nulling play queue on dispose.
-Renamed PlayQueueEvent to PlayQueueEventType.
-Renamed PlayQueueMessage to PlayQueueEvent.
2017-10-30 20:58:46 -07:00
John Zhen Mo 4553850412 -Baked recovery records into play queue items.
-Added previous and next button on main video player.
-Reverted double tap to seek for popup and main video players.
-Improved shuffling to use recovery record.
-Changed shuffling to place current playing stream to top of queue.
-Fixed exception when removing last item on queue.
-Changed fast forward and rewind button to previous and next on background notification.
-Changed background notification to not update when screen is off and update immediately when screen is turned back on.
-Removed unused intent strings.
-Changed "Append" to "Enqueue" for append text.
2017-10-30 20:58:46 -07:00
John Zhen Mo eb9770e3ba -Fixed set index ignoring selection to current index when queue at current index changed.
-Modified popup player to disable rendering when screen is off.
2017-10-30 20:58:46 -07:00
John Zhen Mo d54a6e0b0e -Added helper text on click for background and popup button on detail fragment for feature discovery.
-Fixed popup video queuing causes existing popup player to change quality.
2017-10-30 20:58:45 -07:00
John Zhen M a8f5cfa640 -Added different toast for append long click on detail fragment.
-Corrected drag handle icon.
-Removed reorder icon.
-Refactored play queue item selection.
2017-10-30 20:58:45 -07:00
John Zhen M 0d3e0c201e -Fixed MediaSourceManager from inserting already inserted entry. 2017-10-30 20:58:45 -07:00
John Zhen M cc4e4a4f91 -Fixed external popup share not starting. 2017-10-30 20:58:45 -07:00
John Zhen M b597774bb9 -Enabled play queue control in main video player.
-Fixed video players does not resolve to preferred quality on playlists.
-Refactored resolution conversion to Localization.
-Fixed video player quality menu building exception when stream info is not yet available.
2017-10-30 20:58:45 -07:00
John Zhen M 87fca5cffe -Enabled play queue control panel for popup video player.
-Refactored background player activity into generic play queue control panel activity.
-Changed control panel activities into singleTask.
2017-10-30 20:58:45 -07:00
John Zhen M 9685456ee4 -Added new intents to append streams to current player.
-Added long clicks for popup and background player buttons on details fragment for append intents.
-Removed restrictions for preventing UI to show up when player is buffering.
-Fixed icons for all repeat modes.
-Added Progress bar to background activity when player is in not ready state.
-Fixed Track Selection when switching between video and audio only on video players.
-Fixed video player to enable tunnelling only after sdk > 21.
-Fixed activity exception from restarting after service is shutdown on earlier sdk versions.
2017-10-30 20:58:45 -07:00
John Zhen M 6a9e3ef639 -Added dropdown menu for background player activity.
-Added icons for shuffle and drag handle.
-Fixed exception when returning to background player activity after service shuts down.
-Fixed open detail only working for Youtube.
2017-10-30 20:58:45 -07:00
John Zhen M b5a9f042cc -Fixed background player activity crashes on receiving update when stopped (lifecycle still active). 2017-10-30 20:58:45 -07:00
John Zhen M 770dcc1832 -Fixed incorrect indexing due to item removed after shuffle.
-Fixed activity binding not unbound after service shutdown.
2017-10-30 20:58:45 -07:00
John Zhen M 94f7baf299 -Added variable speed and pitch to background player.
-Moved playback speed LUT to BasePlayer.
2017-10-30 20:58:44 -07:00
John Zhen M 77979eddde -Added shuffle button to background player.
-Extracted MediaSourceManager window size as parameter.
-Removed redundant list manipulation in PlayQueueAdapter.
2017-10-30 20:58:44 -07:00
John Zhen M f1e52b8b92 -Fixed incorrect stream from being played after consecutive player errors.
-Fixed MediaSource reuse due to MediaSourceManager not resetting source on block.
2017-10-30 20:58:44 -07:00
John Zhen M 2e414cfd63 - Added move mechanic to background player through handles (on both thumbnail and icon).
- Added remove and open detail as long click popup dropdown on background player.
- Vastly simplified list manipulation in MediaSourceManager by delegating most control to DynamicConcatenatingMediaSource.
2017-10-30 20:58:44 -07:00
John Zhen M f5b5982e1c -Improved DeferredMediaSource to build source on IO thread.
-Improved exception handling for player.
2017-10-30 20:58:44 -07:00
John Zhen M eebd83d6ac -Fixed deferred media source from releasing reused resources.
-Fixed external play queue to load more than once.
-Fixed wrong item removal due to player error.
-Added new event to indicate error to play queue.
-Changed player error to skip item instead of removing.
-Modified play queue adapter to update changed items only.
-Removed headers from play queue adapter.
-Merged event broadcast on play queue.
-Changed toast on player error.
-Modified remove event to no longer indicate current index status.
-Modified move event to no longer indicate randomization status.
-Added shuffle check to play queue.
2017-10-30 20:58:44 -07:00
John Zhen M a9aee21e58 - Improved play queue adapter for selection.
- Fixed media source resolution on background player for streams without an audio only stream.
- Fixed background player not updating when screen turns back on.
- Fixed background player notification switching to wrong repeat mode icon opacity on click.
2017-10-30 20:58:44 -07:00
John Zhen M bd9ee18e56 -Fixed TransactionTooLarge due to notification being shown for too long.
-Fixed Play Queue rewinding to last played video upon removing the currently playing.
2017-10-30 20:58:44 -07:00
John Zhen M c75c2d0f21 -Added documentations for play queue components. 2017-10-30 20:58:44 -07:00
John Zhen M 80f3e3c3b6 -Added temporary fix for mapping track selection with video streams.
-Updated ExoPlayer to 2.5.3.
2017-10-30 20:58:44 -07:00
John Zhen M 86a1fcf009 -Fixed unavailable current info when initial stream of playlist fails. 2017-10-30 20:58:43 -07:00
John Zhen M c235c647a0 -Fixed background player notification update NPE. 2017-10-30 20:58:43 -07:00
John Zhen M 09d8ae1316 -Generify all player intents to use play queues.
-Fixed sync updates out-of-sync on background notification.
-Fixed main video player destroyed on resume.
-Fixed track selection using wrong dimension for parameter.
-Fixed background player to use default audio quality.
-Removed quality index from single queue items.
2017-10-30 20:58:43 -07:00
John Zhen M cb7e94449c -Modified quality change to persist with its binding player.
-Fixed media source stops loading when the sequence of failed media is longer than window size.
-Changed player to release and reset on intent start.
-Removed update event.
2017-10-30 20:58:43 -07:00
John Zhen M e742091a37 -Modified quality change to use internal track selection.
-Enabled audio processing integration with system EQ.
-Re-endabled HDR through tunneling on videos only.
2017-10-30 20:58:43 -07:00
John Zhen M 8e3be3826f -Fixed Deferred Media Source not working on non-extractor (e.g. dash) sources.
-Fixed NPE when extracting streams with no audio.
2017-10-30 20:58:43 -07:00
John Zhen M 9bc95f030c -Baked stream info resolution into custom media source, allowing for simpler playlist control.
-Added track merging on different stream qualities, allowing for implementation of smooth transition on A/V quality and captions change.
2017-10-30 20:58:43 -07:00
John Zhen M 9576d5bd89 -Fixed audio focus not working with timeline changes.
-Changed circular loading to boundary loading.
2017-10-30 20:58:43 -07:00
John Zhen M a0ba3ce2e4 -Made playback manager load circular.
-Improved play previous button to reset before 5 seconds.
2017-10-30 20:58:43 -07:00
John Zhen M 6b816a11f7 -Added reorder event.
-Improved player blocking.
2017-10-30 20:58:43 -07:00
John Zhen M 86c7b8522e -Reverted current item removal and update logic.
-Updated external play queue.
2017-10-30 20:58:43 -07:00
John Zhen M f9eb2a1ee5 -Fixed activity pause and resume lifecycle. 2017-10-30 20:58:43 -07:00
John Zhen M 174d040ca3 -Modified quality update to no longer invalidate concatenated media sources.
-Improved play queue and timeline update.
2017-10-30 20:58:42 -07:00
John Zhen M 6b16b08712 -Fixed bad window timeline caused by reusing media source on unblocking.
-Fixed timeline recovery skipping.
-Fixed timeline updates resumes playing when player is paused.
2017-10-30 20:58:42 -07:00
John Zhen M e9cdb28a06 -Fixed audio focus change not firing. 2017-10-30 20:58:42 -07:00
John Zhen M f8abf92a66 -Refactored Playback manager to expose only readonly methods.
-Removed swap and move operations.
-Code clean up.
2017-10-30 20:58:42 -07:00
John Zhen M 9413856463 -Added back notification on popup player. 2017-10-30 20:58:42 -07:00
John Zhen M c24d46cf0f -Fixed seek problems caused by dynamic timeline .
-Removed debouncing, players are now much more responsive.
-Removed some redundant methods.
2017-10-30 20:58:42 -07:00
John Zhen M c38e4190f1 -Fix restart button not working 2017-10-30 20:58:42 -07:00
John Zhen M 53cec61cdf -Removed redundant track removal after playing.
-Reverted thumbnail loader to use ImageLoader.
2017-10-30 20:58:42 -07:00
John Zhen M 150c3b413a -Fixed memory leak due to permanent remote view bitmap references.
-Removed redundant code in popup player.
2017-10-30 20:58:42 -07:00
John Zhen M eb15c04254 -Added debouncing to index change reactor.
-Fixed repeat mode on background notification.
2017-10-30 20:58:42 -07:00
John Zhen M 7d7a6f7ccc -Enable background and popup playlists. 2017-10-30 20:58:42 -07:00
John Zhen M b54d18d888 -Changed intents to start all players, including player swap.
-Make play queue and items serializable
-Removed now deprecated code for playing url in exoplayer
2017-10-30 20:58:42 -07:00
John Zhen M 705028c79d -Modified player repeat mode to use exoplayer repeat mode.
-Merged playback manager init load logic with normal load logic.
2017-10-30 20:58:41 -07:00
John Zhen M a91ef2ce9e -Fix play queue remove.
-Fix player discontinuity refresh.
2017-10-30 20:58:41 -07:00
John Zhen M 73f46d3762 -Modified play queues and items to use extraction helper.
-Fixed play queue item removal.
-Rebase changes.
2017-10-30 20:58:41 -07:00
John Zhen M 40b60e8313 -Error processing for failed video during queued playback. 2017-10-30 20:58:41 -07:00
John Zhen M 5c01f04a07 -Functional playlist using full play queue buffering. 2017-10-30 20:58:41 -07:00
John Zhen M 183181ee54 -Added full play queue buffering playback manager. 2017-10-30 20:58:41 -07:00
John Zhen M 74b58cae59 -Improved play queue message bus
-Hooking play queue engines with video players (to be removed)
-Proof of concept for previous and next controls
2017-10-30 20:58:41 -07:00
John Zhen M b859823011 -Hooking playback manager and play queue into main video player. 2017-10-30 20:58:41 -07:00
John Zhen M 701320b100 -Added separate events for play queue index removal. 2017-10-30 20:58:40 -07:00
John Zhen M dcdcf17f5e -Added on change event bus to Play Queue.
-Added playback manager for player interaction.
2017-10-30 20:58:40 -07:00
John Zhen M 7c9c3de644 -Rename playlist in players to play queue. 2017-10-30 20:58:40 -07:00
John Zhen M cbcd281784 -Added MediaSourceManager and Playlist adapters. 2017-10-30 20:58:40 -07:00
John Zhen Mo f6353cfb47 -Added fling mechanic for popup player shutdown.
-Changed long click to fill screen for popup player.
-Added 2-finger resizing for popup player.
-Removed long click resize mechanic.
2017-10-25 22:00:58 -07:00
Tryton Van Meer b70fd826e7 Fix crash when returning to player.
When switching apps or locking the phone, destroyPlayer is called which sets audioManager to null. So upon returning to the player and pressing play, the app crashes.
So now initPlayer checks if audioManager is null and sets it if needed.
2017-10-11 14:27:32 +02:00
Mauricio Colli 146d4a8365 Update extractor and refactored NewPipe 2017-09-03 13:57:12 -03:00
John Zhen M 2b2e954b84 -Updated ExoPlayer to r2.5.1.
-Fixes some more deprecations due to Exoplayer and Android O notification updates.
2017-08-18 11:07:57 -07:00
Tonelico 85108be686 Android O Notification Building Fix (#655)
-Added simple notification channel for Android O.
-Fixes notification building failure for background and popup player on Android O.
-Reduce notification channel importance to low to avoid making noise on every notification update.
2017-08-18 09:05:31 -03:00
Tonelico becc90409f Added option to resume on audio focus regain. (#624) 2017-08-07 10:04:36 -03:00
Mauricio Colli f7b322da49 Fix audio focus bug 2017-08-02 14:14:45 -03:00
Mauricio Colli 894ea27df2 Fix issues #596 2017-07-09 22:38:47 -03:00
Marco Biscaro 7b60648424 Adds support for adjustable playback speed
ExoPlayer was updated to 2.4.2, which supports playback speed change.

A speed selector was also added in the MainPlayer and PlayerPopup.

Fixes #153.
2017-06-26 19:22:16 -03:00
Christian Schabesberger 51d4d0d3dc Merge branch 'improve-backstack' of https://github.com/mauriciocolli/NewPipe into back 2017-06-11 14:08:47 +02:00
SpajicM a5cbaad804 BackgroundPlayer: Add timestamp in expanded notification 2017-06-08 23:28:45 +02:00
Mauricio Colli 6ecdfaf19e Improve backstack and theme change 2017-06-05 16:33:01 -03:00
Mauricio Colli c00e694d40 Add option to disable the gesture controls of the player 2017-05-16 21:45:38 -03:00
Mauricio Colli cac79d9a0d Improve behavior on audio focus gain 2017-05-14 10:46:28 -03:00
Mauricio Colli e47761750a Fix 'keep screen on' 2017-05-14 00:32:28 -03:00
Mauricio Colli 9ca8c5480c Fix image loader bug 2017-05-09 00:12:06 -03:00
Mauricio Colli affd23b14e Fix animations 2017-05-08 10:33:26 -03:00
Mauricio Colli 040d658540 Implement resizable popup 2017-05-01 02:23:50 -03:00
Mauricio Colli adbeff11d4 Minor improvements 2017-04-26 16:32:20 -03:00
Mauricio Colli 2ac71c75c0 Improve players
- Background player is using ExoPlayer internally now
2017-04-17 01:19:53 -03:00
Mauricio Colli 3b9a477499 Add resolution support up to 4k and 60 fps
- Up to 4k with 60 fps
    - Not every device can play in that resolution and bitrate
    - Add option to hide these high resolution greater than 1080p (2k,4k) for not clutter the menus
- Add a default resolution for the popup, wil be used when opening in popup mode from another app
2017-04-12 03:07:15 -03:00
Mauricio Colli 746c2a15bf Migrate to fragments and improvements
- Migrate to fragments
- Fix #487
- Don't show "Open in popup mode" to channel links
- New backstack of videos
- Change the subscribers count to format using `NumberFormat`, for example some locales use `.`  others `,`, this handles it automatically (and the old method had a bug for leading zero, e.g. 4.82.125 instead of 4.082.125)
- Add string 'subscribers' for channels with more than 1 subscriber (plural)
- Popup player chooses the default format and resolution based on the new preference (format)
- Fix taskaffinity of the router activities
- Show title before loading, as it is available from the items already loaded
2017-04-09 14:34:00 -03:00
Mauricio Colli 33e29be7db Fix next video and refactor
- Refactor VideoItemDetailActivity, StreamExtractorWorker
- Remove redundant styles
- Change dimensions
- Nicer animation/transitions
2017-03-31 20:39:54 -03:00
Mauricio Colli 71ae342f52 Implement screen orientation toggle 2017-03-27 10:12:22 -03:00
Mauricio Colli b43c56085d Implement fullscreen and quality selector
- Implement cache
- Abstract player
- Quality selector
- Fullscreen switcher
- Change some drawables
2017-03-27 01:08:16 -03:00
Christian Schabesberger 461f747af1 add IOException 2017-03-17 20:18:44 +01:00
mauriciocolli e406ba094c Improve bug detection
- Show a message with the appropriate error (network error)
2017-03-17 12:09:20 -03:00
mauriciocolli c100d15ba8 Fix bug when fetching unavailable content
- Fix #482
- When opening a invalid/deleted/unavailable video, the popup was just printing the error, now it shows a message to the user and exits
2017-03-17 11:50:27 -03:00
Mauricio Colli a37d8f083a Implement popup mode
- Add icons replay, fast_forward
- Add strings
- Add menu entry
- Add as option to open link directly to popup mode
2017-03-09 04:42:40 -03:00
Mauricio Colli abff1f537b Add ExoMedia and remove ExoPlayer
- Remove ExoPlayer files
- Added ExoMedia library
2017-03-09 01:44:00 -03:00
Christian Schabesberger 7a6b5dd5b7 add initial support for NavStack 2017-02-18 21:59:48 +01:00
Coffeemakr ac0dff7aa1 Make shure thread quits before service 2016-12-27 16:17:59 +01:00
Coffeemakr f22b5157f5 Notify thread on play/pause 2016-12-27 15:58:17 +01:00
Coffeemakr 659d0d6115 Add PlaybackState broadcast messages
They can be used to retrieve the current playback
 * Duration
 * Played time
 * If the media player is playing
2016-12-27 15:52:02 +01:00
Coffeemakr 9494f3a299 Add progress bar to expanded notification 2016-12-27 14:49:59 +01:00
Coffeemakr 8021848b03 Remove note field completly
Always use noteBuilder directly to generate a notification
2016-12-27 14:41:30 +01:00
Coffeemakr 5a127c26e6 Improve notification building/updateing
* Use custom notification builder which has methods to set the artist
  and title and also a method to set the playing state
* Update builder instead of view -> resovles deprecated warnings
2016-12-27 14:37:18 +01:00
Coffeemakr 7c7129f9a1 Notifications: Set customs views in builder 2016-12-27 13:31:34 +01:00
Christian Schabesberger 4bba84af8a Merge pull request #316 from jaytj95/master
Added rewind capability to notification control
2016-09-12 00:57:53 +02:00
Christian Schabesberger 8107337566 restructure ui 2016-08-02 21:17:54 +02:00
Faisal Hameed dd2398efad Fixing pmd:RedundantFieldInitializer - Redundant Field Initializer. 2016-06-24 05:44:42 +05:00
Jason John 51641dcc9a Added rewind capability to notification control ( seekTo(0) ) 2016-06-16 09:11:18 -04:00
Faisal Hameed 805f046696 Fixing squid:UselessParenthesesCheck - Useless parentheses around expressions should be removed to prevent any misunderstanding. 2016-03-10 14:41:12 +05:00
Christian Schabesberger 9a480cbe3e fixed backarrow on player_activity 2016-03-05 17:16:28 +01:00
Christian Schabesberger 76ca937bb8 set tor into experimental state 2016-03-05 17:04:37 +01:00
Christian Schabesberger f5892093a9 made exoplayer work with youtube again 2016-02-23 01:56:04 +01:00
Christian Schabesberger b06238ba5d initial changes 2016-02-22 20:28:37 +01:00